[Pkg-cli-apps-commits] [SCM] pinta branch, master, updated. debian/0.5+dfsg-1-5-g5a5a75a

Iain Lane laney at ubuntu.com
Thu Jan 13 22:36:49 UTC 2011


The following commit has been merged in the master branch:
commit 5cc59dbab8e2804c4af472cb0bf48af49e85eeb8
Author: Iain Lane <laney at ubuntu.com>
Date:   Thu Jan 13 22:04:09 2011 +0000

    Imported Upstream version 0.6

diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index b5209a7..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-obj
-bin
-*.pidb
-*.suo
-*.userprefs
\ No newline at end of file
diff --git a/Makefile.in b/Makefile.in
new file mode 100644
index 0000000..d5f9742
--- /dev/null
+++ b/Makefile.in
@@ -0,0 +1,534 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
+# This Makefile.in 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.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+subdir = .
+DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in $(srcdir)/pinta.in \
+	$(top_srcdir)/configure install-sh missing
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES = pinta
+CONFIG_CLEAN_VPATH_FILES =
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  { test ! -d "$(distdir)" \
+    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr "$(distdir)"; }; }
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+GLIB_SHARP_20_CFLAGS = @GLIB_SHARP_20_CFLAGS@
+GLIB_SHARP_20_LIBS = @GLIB_SHARP_20_LIBS@
+GTK_SHARP_20_CFLAGS = @GTK_SHARP_20_CFLAGS@
+GTK_SHARP_20_LIBS = @GTK_SHARP_20_LIBS@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MONO = @MONO@
+MONO_CAIRO_CFLAGS = @MONO_CAIRO_CFLAGS@
+MONO_CAIRO_LIBS = @MONO_CAIRO_LIBS@
+MONO_CFLAGS = @MONO_CFLAGS@
+MONO_LIBS = @MONO_LIBS@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XBUILD = @XBUILD@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+BINDIR = $(srcdir)/bin
+BINFILES = \
+	$(BINDIR)/Pinta.exe \
+	$(BINDIR)/Pinta.Core.dll \
+	$(BINDIR)/Pinta.Gui.Widgets.dll \
+	$(BINDIR)/Pinta.Resources.dll \
+	$(BINDIR)/Pinta.Effects.dll \
+	$(BINDIR)/Pinta.Tools.dll
+
+RELEASE_FILE = $(PACKAGE)-$(VERSION)
+EXTRA_DIST = Pinta Pinta.Core Pinta.Effects Pinta.Gui.Widgets Pinta.Resources Pinta.Tools po Tarball xdg \
+	license-mit.txt license-pdn.txt readme.txt todo.txt Pinta.sln Pinta.Install.proj
+
+all: all-am
+
+.SUFFIXES:
+am--refresh:
+	@:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
+	      $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    echo ' $(SHELL) ./config.status'; \
+	    $(SHELL) ./config.status;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	$(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	$(am__cd) $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
+pinta: $(top_builddir)/config.status $(srcdir)/pinta.in
+	cd $(top_builddir) && $(SHELL) ./config.status $@
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	$(am__remove_distdir)
+	test -d "$(distdir)" || mkdir "$(distdir)"
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+	-test -n "$(am__skip_mode_fix)" \
+	|| find "$(distdir)" -type d ! -perm -755 \
+		-exec chmod u+rwx,go+rx {} \; -o \
+	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+	|| chmod -R a+r "$(distdir)"
+dist-gzip: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+dist-bzip2: distdir
+	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	$(am__remove_distdir)
+
+dist-lzma: distdir
+	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
+	$(am__remove_distdir)
+
+dist-xz: distdir
+	tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
+	$(am__remove_distdir)
+
+dist-tarZ: distdir
+	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+	$(am__remove_distdir)
+
+dist-shar: distdir
+	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+	$(am__remove_distdir)
+
+dist-zip: distdir
+	-rm -f $(distdir).zip
+	zip -rq $(distdir).zip $(distdir)
+	$(am__remove_distdir)
+
+dist dist-all: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+	case '$(DIST_ARCHIVES)' in \
+	*.tar.gz*) \
+	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+	*.tar.bz2*) \
+	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.lzma*) \
+	  lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
+	*.tar.xz*) \
+	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\
+	*.tar.Z*) \
+	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+	*.shar.gz*) \
+	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+	*.zip*) \
+	  unzip $(distdir).zip ;;\
+	esac
+	chmod -R a-w $(distdir); chmod a+w $(distdir)
+	mkdir $(distdir)/_build
+	mkdir $(distdir)/_inst
+	chmod a-w $(distdir)
+	test -d $(distdir)/_build || exit 0; \
+	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+	  && am__cwd=`pwd` \
+	  && $(am__cd) $(distdir)/_build \
+	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+	        distuninstallcheck \
+	  && chmod -R a-w "$$dc_install_base" \
+	  && ({ \
+	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
+	  && rm -rf "$$dc_destdir" \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist \
+	  && rm -rf $(DIST_ARCHIVES) \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+	  && cd "$$am__cwd" \
+	  || exit 1
+	$(am__remove_distdir)
+	@(echo "$(distdir) archives ready for distribution: "; \
+	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+	@$(am__cd) '$(distuninstallcheck_dir)' \
+	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+	   || { echo "ERROR: files left after uninstall:" ; \
+	        if test -n "$(DESTDIR)"; then \
+	          echo "  (check DESTDIR support)"; \
+	        fi ; \
+	        $(distuninstallcheck_listfiles) ; \
+	        exit 1; } >&2
+distcleancheck: distclean
+	@if test '$(srcdir)' = . ; then \
+	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+	  exit 1 ; \
+	fi
+	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+	  || { echo "ERROR: files left in build directory after distclean:" ; \
+	       $(distcleancheck_listfiles) ; \
+	       exit 1; } >&2
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install-exec: install-exec-am
+install-data: install-data-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean-am: clean-generic mostlyclean-am
+
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf $(top_srcdir)/autom4te.cache
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am am--refresh check check-am clean clean-generic dist \
+	dist-all dist-bzip2 dist-gzip dist-lzma dist-shar dist-tarZ \
+	dist-xz dist-zip distcheck distclean distclean-generic \
+	distcleancheck distdir distuninstallcheck dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+	pdf-am ps ps-am uninstall uninstall-am
+
+
+# target: all - Default target: build
+all: build
+
+# target: run - Launch the uninstalled copy
+run:
+	$(MONO) bin/Pinta.exe
+
+# target: help - Display callable targets.
+help:
+	egrep "^# target:" Makefile | sed 's/^# target:/make/'
+
+# target: build - Build Pinta.
+build: Pinta.sln
+	cd $(srcdir) && $(XBUILD) Pinta.sln
+	cd $(srcdir) && $(XBUILD) Pinta.Install.proj /target:CompileTranslations
+
+# target: list - List source files.
+list:
+	if ! git status > /dev/null 2> /dev/null ;\
+	then \
+		find . -type f -name *.cs | sed 's|./||' ;\
+	else \
+		git ls-files | grep '\.cs' ;\
+	fi
+
+#target: updatepot - update the messages.pot file
+updatepot: build
+	find . -type f -name *.cs | sed 's|./||' > files.list
+	grep -v System.Composition.ComponentModel files.list > files2.list
+	xgettext --from-code=UTF-8 -f files2.list -o po/messages.pot
+	cat po/messages.in >> po/messages.pot
+	rm files.list
+	rm files2.list
+
+# target: clean - Default clean command: cleanobj and cleanbin
+clean: cleanobj cleanbin
+
+# target: distclean - Removes configure files. 
+distclean: clean
+	rm -f Makefile pinta config.status config.cache config.log configure.lineno config.status.lineno
+
+# target: cleanall - Removes build files. 
+cleanall: distclean
+	rm -rf autom4te.cache
+	rm -f configure aclocal.m4 missing install-sh Makefile.in
+
+# target: cleanbin - Removes built files. 
+cleanbin: 
+	rm -rvf $(BINDIR)/*
+
+# target: cleanobj - Removes temporary build files. 
+cleanobj:
+	find $(srcdir)/ -type d -name obj | xargs rm -rvf
+
+# target: install - Installs Pinta. 
+install: pinta $(BINFILES)
+	cd $(srcdir) && $(XBUILD) /target:Install /property:InstallPrefix=$(DESTDIR)$(prefix) Pinta.Install.proj
+	$(INSTALL_SCRIPT) pinta $(DESTDIR)$(prefix)/bin/$(PACKAGE)
+
+# target: uninstall - Uninstalls Pinta.
+uninstall: 
+	$(XBUILD) /target:Uninstall /property:InstallPrefix=$(DESTDIR)$(prefix) Pinta.Install.proj
+
+# target: release - Default release type: releasetar
+release: releasetar
+
+# target: releasetar - Make a release tarball.
+releasetar: $(BINFILES)
+	cd $(BINDIR) && tar -czf ../$(RELEASE_FILE).tgz --exclude=*mdb *
+
+# target: releasezip - Make a release zip file.
+releasezip: $(BINFILES)
+	cd $(BINDIR) && zip -r ../$(RELEASE_FILE).zip * -x "*.mdb"
+
+.PHONY: install uninstall cleanall cleanbin cleanobj release releasetar releasezip
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/Pinta.Core/Actions/EditActions.cs b/Pinta.Core/Actions/EditActions.cs
index 3817d05..4979527 100644
--- a/Pinta.Core/Actions/EditActions.cs
+++ b/Pinta.Core/Actions/EditActions.cs
@@ -69,11 +69,11 @@ namespace Pinta.Core
 			Paste = new Gtk.Action ("Paste", Catalog.GetString ("Paste"), null, Stock.Paste);
 			PasteIntoNewLayer = new Gtk.Action ("PasteIntoNewLayer", Catalog.GetString ("Paste Into New Layer"), null, Stock.Paste);
 			PasteIntoNewImage = new Gtk.Action ("PasteIntoNewImage", Catalog.GetString ("Paste Into New Image"), null, Stock.Paste);
-			EraseSelection = new Gtk.Action ("EraseSelection", Catalog.GetString ("Erase Selection"), null, "Menu.Edit.EraseSelection.png");
+			EraseSelection = new Gtk.Action ("EraseSelection", Catalog.GetString ("Delete Selection"), null, "Menu.Edit.EraseSelection.png");
 			FillSelection = new Gtk.Action ("FillSelection", Catalog.GetString ("Fill Selection"), null, "Menu.Edit.FillSelection.png");
 			InvertSelection = new Gtk.Action ("InvertSelection", Catalog.GetString ("Invert Selection"), null, "Menu.Edit.InvertSelection.png");
 			SelectAll = new Gtk.Action ("SelectAll", Catalog.GetString ("Select All"), null, Stock.SelectAll);
-			Deselect = new Gtk.Action ("Deselect", Catalog.GetString ("Deselect"), null, "Menu.Edit.Deselect.png");
+			Deselect = new Gtk.Action ("Deselect", Catalog.GetString ("Deselect All"), null, "Menu.Edit.Deselect.png");
 			
 			LoadPalette = new Gtk.Action ("LoadPalette", Catalog.GetString ("Open..."), null, Stock.Open);
 			SavePalette = new Gtk.Action ("SavePalette", Catalog.GetString ("Save As..."), null, Stock.Save);
@@ -93,28 +93,37 @@ namespace Pinta.Core
 		public void CreateMainMenu (Gtk.Menu menu)
 		{
 			menu.Append (Undo.CreateAcceleratedMenuItem (Gdk.Key.Z, Gdk.ModifierType.ControlMask));
-			menu.Append (Redo.CreateAcceleratedMenuItem (Gdk.Key.Y, Gdk.ModifierType.ControlMask));
+
+			ImageMenuItem redo = Redo.CreateAcceleratedMenuItem (Gdk.Key.Z, Gdk.ModifierType.ControlMask | Gdk.ModifierType.ShiftMask);
+			redo.AddAccelerator ("activate", PintaCore.Actions.AccelGroup, new AccelKey (Gdk.Key.Y, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
+			menu.Append (redo);
+
 			menu.AppendSeparator ();
 			menu.Append (Cut.CreateAcceleratedMenuItem (Gdk.Key.X, Gdk.ModifierType.ControlMask));
 			menu.Append (Copy.CreateAcceleratedMenuItem (Gdk.Key.C, Gdk.ModifierType.ControlMask));
 			menu.Append (Paste.CreateAcceleratedMenuItem (Gdk.Key.V, Gdk.ModifierType.ControlMask));
-			menu.Append (PasteIntoNewLayer.CreateAcceleratedMenuItem (Gdk.Key.V, Gdk.ModifierType.ShiftMask));
-			menu.Append (PasteIntoNewImage.CreateAcceleratedMenuItem (Gdk.Key.V, Gdk.ModifierType.Mod1Mask));
+			menu.Append (PasteIntoNewLayer.CreateAcceleratedMenuItem (Gdk.Key.V, Gdk.ModifierType.ShiftMask | Gdk.ModifierType.ControlMask));
+			menu.Append (PasteIntoNewImage.CreateAcceleratedMenuItem (Gdk.Key.V, Gdk.ModifierType.Mod1Mask | Gdk.ModifierType.ControlMask));
+			
 			menu.AppendSeparator ();
+			menu.Append (SelectAll.CreateAcceleratedMenuItem (Gdk.Key.A, Gdk.ModifierType.ControlMask));
+
+			ImageMenuItem deslect = Deselect.CreateAcceleratedMenuItem (Gdk.Key.A, Gdk.ModifierType.ControlMask | Gdk.ModifierType.ShiftMask);
+			deslect.AddAccelerator ("activate", PintaCore.Actions.AccelGroup, new AccelKey (Gdk.Key.D, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
+			menu.Append (deslect);
+
+			menu.AppendSeparator ();
+			menu.Append (EraseSelection.CreateAcceleratedMenuItem (Gdk.Key.Delete, Gdk.ModifierType.None));
+			menu.Append (FillSelection.CreateAcceleratedMenuItem (Gdk.Key.BackSpace, Gdk.ModifierType.None));
+			//menu.Append (InvertSelection.CreateAcceleratedMenuItem (Gdk.Key.I, Gdk.ModifierType.ControlMask));
 			
+			menu.AppendSeparator ();
 			Gtk.Action menu_action = new Gtk.Action ("Palette", Mono.Unix.Catalog.GetString ("Palette"), null, null);
 			Menu palette_menu = (Menu) menu.AppendItem (menu_action.CreateSubMenuItem ()).Submenu;
 			palette_menu.Append (LoadPalette.CreateMenuItem ());
 			palette_menu.Append (SavePalette.CreateMenuItem ());
 			palette_menu.Append (ResetPalette.CreateMenuItem ());
 			palette_menu.Append (ResizePalette.CreateMenuItem ());
-			
-			menu.AppendSeparator ();
-			menu.Append (EraseSelection.CreateAcceleratedMenuItem (Gdk.Key.Delete, Gdk.ModifierType.None));
-			menu.Append (FillSelection.CreateAcceleratedMenuItem (Gdk.Key.BackSpace, Gdk.ModifierType.None));
-			//menu.Append (InvertSelection.CreateAcceleratedMenuItem (Gdk.Key.I, Gdk.ModifierType.ControlMask));
-			menu.Append (SelectAll.CreateAcceleratedMenuItem (Gdk.Key.A, Gdk.ModifierType.ControlMask));
-			menu.Append (Deselect.CreateAcceleratedMenuItem (Gdk.Key.D, Gdk.ModifierType.ControlMask));
 		}
 
 		public void CreateHistoryWindowToolBar (Gtk.Toolbar toolbar)
@@ -147,7 +156,7 @@ namespace Pinta.Core
 		{
 			Document doc = PintaCore.Workspace.ActiveDocument;
 
-			doc.FinishSelection ();
+			PintaCore.Tools.Commit ();
 
 			Cairo.ImageSurface old = doc.CurrentLayer.Surface.Clone ();
 
@@ -167,7 +176,7 @@ namespace Pinta.Core
 		{
 			Document doc = PintaCore.Workspace.ActiveDocument;
 
-			doc.FinishSelection ();
+			PintaCore.Tools.Commit ();
 
 			SelectionHistoryItem hist = new SelectionHistoryItem (Stock.SelectAll, Catalog.GetString ("Select All"));
 			hist.TakeSnapshot ();
@@ -183,7 +192,7 @@ namespace Pinta.Core
 		{
 			Document doc = PintaCore.Workspace.ActiveDocument;
 
-			doc.FinishSelection ();
+			PintaCore.Tools.Commit ();
 
 			Cairo.ImageSurface old = doc.CurrentLayer.Surface.Clone ();
 
@@ -203,7 +212,7 @@ namespace Pinta.Core
 		{
 			Document doc = PintaCore.Workspace.ActiveDocument;
 
-			doc.FinishSelection ();
+			PintaCore.Tools.Commit ();
 
 			SelectionHistoryItem hist = new SelectionHistoryItem ("Menu.Edit.Deselect.png", Catalog.GetString ("Deselect"));
 			hist.TakeSnapshot ();
@@ -218,48 +227,49 @@ namespace Pinta.Core
 		{
 			Document doc = PintaCore.Workspace.ActiveDocument;
 
-			doc.FinishSelection ();
+			PintaCore.Tools.Commit ();
 
 			Gtk.Clipboard cb = Gtk.Clipboard.Get (Gdk.Atom.Intern ("CLIPBOARD", false));
 			
 			Path p;
-			Cairo.ImageSurface old;
 
-			using (Gdk.Pixbuf image = cb.WaitForImage ()) {
+			// Don't dispose this, as we're going to give it to the history
+			Gdk.Pixbuf image = cb.WaitForImage ();
 
-				if (image == null)
-					return;
+			if (image == null)
+				return;
 
-				old = doc.CurrentLayer.Surface.Clone ();
+			// Copy the paste to the temp layer
+			doc.CreateSelectionLayer ();
+			doc.ShowSelectionLayer = true;
 
-				using (Cairo.Context g = new Cairo.Context (doc.CurrentLayer.Surface)) {
-					g.DrawPixbuf (image, new Cairo.Point (0, 0));
-					p = g.CreateRectanglePath (new Rectangle (0, 0, image.Width, image.Height));
-				}
+			using (Cairo.Context g = new Cairo.Context (doc.SelectionLayer.Surface)) {
+				g.DrawPixbuf (image, new Cairo.Point (0, 0));
+				p = g.CreateRectanglePath (new Rectangle (0, 0, image.Width, image.Height));
 			}
 
+			PintaCore.Tools.SetCurrentTool (Catalog.GetString ("Move Selected Pixels"));
+			
 			Path old_path = doc.SelectionPath;
+			bool old_show_selection = doc.ShowSelection;
 
 			doc.SelectionPath = p;
 			doc.ShowSelection = true;
 
-			if (old_path != null)
-				(old_path as IDisposable).Dispose ();
-
 			doc.Workspace.Invalidate ();
 
-			doc.History.PushNewItem (new SimpleHistoryItem (Stock.Paste, Catalog.GetString ("Paste"), old, doc.CurrentLayerIndex));
+			doc.History.PushNewItem (new PasteHistoryItem (image, old_path, old_show_selection));
 		}
 
 		private void HandlerPintaCoreActionsEditCopyActivated (object sender, EventArgs e)
 		{
 			Document doc = PintaCore.Workspace.ActiveDocument;
 
-			doc.FinishSelection ();
+			PintaCore.Tools.Commit ();
 
 			ImageSurface src = doc.GetClippedLayer (doc.CurrentLayerIndex);
 
-			Gdk.Rectangle rect = doc.SelectionPath.GetBounds ();
+			Gdk.Rectangle rect = doc.GetSelectedBounds (true);
 			
 			ImageSurface dest = new ImageSurface (Format.Argb32, rect.Width, rect.Height);
 
@@ -279,7 +289,7 @@ namespace Pinta.Core
 		{
 			Document doc = PintaCore.Workspace.ActiveDocument;
 
-			doc.FinishSelection ();
+			PintaCore.Tools.Commit ();
 			
 			// Copy selection
 			HandlerPintaCoreActionsEditCopyActivated (sender, e);
diff --git a/Pinta.Core/Actions/FileActions.cs b/Pinta.Core/Actions/FileActions.cs
index 92abda5..6172668 100644
--- a/Pinta.Core/Actions/FileActions.cs
+++ b/Pinta.Core/Actions/FileActions.cs
@@ -83,13 +83,13 @@ namespace Pinta.Core
 			menu.Append (NewScreenshot.CreateMenuItem ());
 			menu.Append (Open.CreateAcceleratedMenuItem (Gdk.Key.O, Gdk.ModifierType.ControlMask));
 			menu.Append (OpenRecent.CreateMenuItem ());
-			menu.Append (Close.CreateAcceleratedMenuItem (Gdk.Key.W, Gdk.ModifierType.ControlMask));
 			menu.AppendSeparator ();
 			menu.Append (Save.CreateAcceleratedMenuItem (Gdk.Key.S, Gdk.ModifierType.ControlMask));
 			menu.Append (SaveAs.CreateAcceleratedMenuItem (Gdk.Key.S, Gdk.ModifierType.ControlMask | Gdk.ModifierType.ShiftMask));
 			menu.AppendSeparator ();
 			//menu.Append (Print.CreateAcceleratedMenuItem (Gdk.Key.P, Gdk.ModifierType.ControlMask));
 			//menu.AppendSeparator ();
+			menu.Append (Close.CreateAcceleratedMenuItem (Gdk.Key.W, Gdk.ModifierType.ControlMask));
 			menu.Append (Exit.CreateAcceleratedMenuItem (Gdk.Key.Q, Gdk.ModifierType.ControlMask));
 		}
 		
diff --git a/Pinta.Core/Actions/ImageActions.cs b/Pinta.Core/Actions/ImageActions.cs
index 7206d29..f33f7af 100644
--- a/Pinta.Core/Actions/ImageActions.cs
+++ b/Pinta.Core/Actions/ImageActions.cs
@@ -102,7 +102,7 @@ namespace Pinta.Core
 		{
 			Document doc = PintaCore.Workspace.ActiveDocument;
 
-			doc.FinishSelection ();
+			PintaCore.Tools.Commit ();
 			doc.RotateImageCCW ();
 
 			doc.History.PushNewItem (new InvertHistoryItem (InvertType.Rotate90CCW));
@@ -112,7 +112,7 @@ namespace Pinta.Core
 		{
 			Document doc = PintaCore.Workspace.ActiveDocument;
 
-			doc.FinishSelection ();
+			PintaCore.Tools.Commit ();
 			doc.RotateImageCW ();
 
 			doc.History.PushNewItem (new InvertHistoryItem (InvertType.Rotate90CW));
@@ -122,7 +122,7 @@ namespace Pinta.Core
 		{
 			Document doc = PintaCore.Workspace.ActiveDocument;
 
-			doc.FinishSelection ();
+			PintaCore.Tools.Commit ();
 
 			CompoundHistoryItem hist = new CompoundHistoryItem ("Menu.Image.Flatten.png", Catalog.GetString ("Flatten"));
 			SimpleHistoryItem h1 = new SimpleHistoryItem (string.Empty, string.Empty, doc.Layers[0].Surface.Clone (), 0);
@@ -141,7 +141,7 @@ namespace Pinta.Core
 		{
 			Document doc = PintaCore.Workspace.ActiveDocument;
 
-			doc.FinishSelection ();
+			PintaCore.Tools.Commit ();
 			doc.RotateImage180 ();
 
 			doc.History.PushNewItem (new InvertHistoryItem (InvertType.Rotate180));
@@ -151,7 +151,7 @@ namespace Pinta.Core
 		{
 			Document doc = PintaCore.Workspace.ActiveDocument;
 
-			doc.FinishSelection ();
+			PintaCore.Tools.Commit ();
 			doc.FlipImageVertical ();
 
 			doc.History.PushNewItem (new InvertHistoryItem (InvertType.FlipVertical));
@@ -161,7 +161,7 @@ namespace Pinta.Core
 		{
 			Document doc = PintaCore.Workspace.ActiveDocument;
 
-			doc.FinishSelection ();
+			PintaCore.Tools.Commit ();
 			doc.FlipImageHorizontal ();
 
 			doc.History.PushNewItem (new InvertHistoryItem (InvertType.FlipHorizontal));
@@ -171,9 +171,9 @@ namespace Pinta.Core
 		{
 			Document doc = PintaCore.Workspace.ActiveDocument;
 
-			doc.FinishSelection ();
+			PintaCore.Tools.Commit ();
 
-			Gdk.Rectangle rect = doc.SelectionPath.GetBounds ();
+			Gdk.Rectangle rect = doc.GetSelectedBounds (true);
 
 			ResizeHistoryItem hist = new ResizeHistoryItem (doc.ImageSize);
 
@@ -182,8 +182,14 @@ namespace Pinta.Core
 			hist.TakeSnapshotOfImage ();
 			hist.RestorePath = doc.SelectionPath.Clone ();
 
+			PintaCore.Chrome.DrawingArea.GdkWindow.FreezeUpdates ();
+
+			double original_scale = doc.Workspace.Scale;
 			doc.ImageSize = rect.Size;
 			doc.Workspace.CanvasSize = rect.Size;
+			doc.Workspace.Scale = original_scale;
+
+			PintaCore.Chrome.DrawingArea.GdkWindow.ThawUpdates ();
 
 			foreach (var layer in doc.Layers)
 				layer.Crop (rect);
diff --git a/Pinta.Core/Actions/LayerActions.cs b/Pinta.Core/Actions/LayerActions.cs
index a9eb456..d4da7f9 100644
--- a/Pinta.Core/Actions/LayerActions.cs
+++ b/Pinta.Core/Actions/LayerActions.cs
@@ -71,7 +71,7 @@ namespace Pinta.Core
 			RotateZoom = new Gtk.Action ("RotateZoom", Catalog.GetString ("Rotate / Zoom"), null, "Menu.Layers.RotateZoom.png");
 			MoveLayerUp = new Gtk.Action ("MoveLayerUp", Catalog.GetString ("Move Layer Up"), null, "Menu.Layers.MoveLayerUp.png");
 			MoveLayerDown = new Gtk.Action ("MoveLayerDown", Catalog.GetString ("Move Layer Down"), null, "Menu.Layers.MoveLayerDown.png");
-			Properties = new Gtk.Action ("Properties", Catalog.GetString ("Layer Properties") + "...", null, "Menu.Layers.LayerProperties.png");
+			Properties = new Gtk.Action ("Properties", Catalog.GetString ("Layer Properties..."), null, "Menu.Layers.LayerProperties.png");
 
 			RotateZoom.Sensitive = false;
 		}
@@ -151,7 +151,7 @@ namespace Pinta.Core
 		private void HandlePintaCoreActionsLayersImportFromFileActivated (object sender, EventArgs e)
 		{
 			Document doc = PintaCore.Workspace.ActiveDocument;
-			doc.FinishSelection ();
+			PintaCore.Tools.Commit ();
 
 			Gtk.FileChooserDialog fcd = new Gtk.FileChooserDialog (Catalog.GetString ("Open Image File"), null, FileChooserAction.Open, Gtk.Stock.Cancel, Gtk.ResponseType.Cancel, Gtk.Stock.Open, Gtk.ResponseType.Ok);
 			
@@ -188,7 +188,7 @@ namespace Pinta.Core
 		private void HandlePintaCoreActionsLayersFlipVerticalActivated (object sender, EventArgs e)
 		{
 			Document doc = PintaCore.Workspace.ActiveDocument;
-			doc.FinishSelection ();
+			PintaCore.Tools.Commit ();
 
 			doc.CurrentLayer.FlipVertical ();
 			doc.Workspace.Invalidate ();
@@ -198,7 +198,7 @@ namespace Pinta.Core
 		private void HandlePintaCoreActionsLayersFlipHorizontalActivated (object sender, EventArgs e)
 		{
 			Document doc = PintaCore.Workspace.ActiveDocument;
-			doc.FinishSelection ();
+			PintaCore.Tools.Commit ();
 
 			doc.CurrentLayer.FlipHorizontal ();
 			doc.Workspace.Invalidate ();
@@ -208,7 +208,7 @@ namespace Pinta.Core
 		private void HandlePintaCoreActionsLayersMoveLayerUpActivated (object sender, EventArgs e)
 		{
 			Document doc = PintaCore.Workspace.ActiveDocument;
-			doc.FinishSelection ();
+			PintaCore.Tools.Commit ();
 
 			SwapLayersHistoryItem hist = new SwapLayersHistoryItem ("Menu.Layers.MoveLayerUp.png", Catalog.GetString ("Move Layer Up"), doc.CurrentLayerIndex, doc.CurrentLayerIndex + 1);
 
@@ -219,7 +219,7 @@ namespace Pinta.Core
 		private void HandlePintaCoreActionsLayersMoveLayerDownActivated (object sender, EventArgs e)
 		{
 			Document doc = PintaCore.Workspace.ActiveDocument;
-			doc.FinishSelection ();
+			PintaCore.Tools.Commit ();
 
 			SwapLayersHistoryItem hist = new SwapLayersHistoryItem ("Menu.Layers.MoveLayerDown.png", Catalog.GetString ("Move Layer Down"), doc.CurrentLayerIndex, doc.CurrentLayerIndex - 1);
 
@@ -230,7 +230,7 @@ namespace Pinta.Core
 		private void HandlePintaCoreActionsLayersMergeLayerDownActivated (object sender, EventArgs e)
 		{
 			Document doc = PintaCore.Workspace.ActiveDocument;
-			doc.FinishSelection ();
+			PintaCore.Tools.Commit ();
 
 			CompoundHistoryItem hist = new CompoundHistoryItem ("Menu.Layers.MergeLayerDown.png", Catalog.GetString ("Merge Layer Down"));
 			DeleteLayerHistoryItem h1 = new DeleteLayerHistoryItem (string.Empty, string.Empty, doc.CurrentLayer, doc.CurrentLayerIndex);
@@ -247,7 +247,7 @@ namespace Pinta.Core
 		private void HandlePintaCoreActionsLayersDuplicateLayerActivated (object sender, EventArgs e)
 		{
 			Document doc = PintaCore.Workspace.ActiveDocument;
-			doc.FinishSelection ();
+			PintaCore.Tools.Commit ();
 
 			Layer l = doc.DuplicateCurrentLayer ();
 			
@@ -261,7 +261,7 @@ namespace Pinta.Core
 		private void HandlePintaCoreActionsLayersDeleteLayerActivated (object sender, EventArgs e)
 		{
 			Document doc = PintaCore.Workspace.ActiveDocument;
-			doc.FinishSelection ();
+			PintaCore.Tools.Commit ();
 
 			DeleteLayerHistoryItem hist = new DeleteLayerHistoryItem ("Menu.Layers.DeleteLayer.png", Catalog.GetString ("Delete Layer"), doc.CurrentLayer, doc.CurrentLayerIndex);
 
@@ -273,7 +273,7 @@ namespace Pinta.Core
 		private void HandlePintaCoreActionsLayersAddNewLayerActivated (object sender, EventArgs e)
 		{
 			Document doc = PintaCore.Workspace.ActiveDocument;
-			doc.FinishSelection ();
+			PintaCore.Tools.Commit ();
 
 			Layer l = doc.AddNewLayer (string.Empty);
 
diff --git a/Pinta.Core/Actions/ViewActions.cs b/Pinta.Core/Actions/ViewActions.cs
index ab071cd..9bbd819 100644
--- a/Pinta.Core/Actions/ViewActions.cs
+++ b/Pinta.Core/Actions/ViewActions.cs
@@ -46,6 +46,7 @@ namespace Pinta.Core
 		public Gtk.Action Fullscreen { get; private set; }
 
 		public ToolBarComboBox ZoomComboBox { get; private set; }
+		public string[] ZoomCollection { get; private set; }
 		
 		public ViewActions ()
 		{
@@ -61,9 +62,9 @@ namespace Pinta.Core
 			
 			ZoomIn = new Gtk.Action ("ZoomIn", Catalog.GetString ("Zoom In"), null, Stock.ZoomIn);
 			ZoomOut = new Gtk.Action ("ZoomOut", Catalog.GetString ("Zoom Out"), null, Stock.ZoomOut);
-			ZoomToWindow = new Gtk.Action ("ZoomToWindow", Catalog.GetString ("Zoom to Window"), null, Stock.ZoomFit);
+			ZoomToWindow = new Gtk.Action ("ZoomToWindow", Catalog.GetString ("Best Fit"), null, Stock.ZoomFit);
 			ZoomToSelection = new Gtk.Action ("ZoomToSelection", Catalog.GetString ("Zoom to Selection"), null, "Menu.View.ZoomToSelection.png");
-			ActualSize = new Gtk.Action ("ActualSize", Catalog.GetString ("Actual Size"), null, Stock.Zoom100);
+			ActualSize = new Gtk.Action ("ActualSize", Catalog.GetString ("Normal Size"), null, Stock.Zoom100);
 			ToolBar = new Gtk.ToggleAction ("Toolbar", Catalog.GetString ("Toolbar"), null, null);
 			PixelGrid = new Gtk.ToggleAction ("PixelGrid", Catalog.GetString ("Pixel Grid"), null, "Menu.View.Grid.png");
 			Rulers = new Gtk.ToggleAction ("Rulers", Catalog.GetString ("Rulers"), null, "Menu.View.Rulers.png");
@@ -71,8 +72,9 @@ namespace Pinta.Core
 			Inches = new Gtk.RadioAction ("Inches", Catalog.GetString ("Inches"), null, null, 1);
 			Centimeters = new Gtk.RadioAction ("Centimeters", Catalog.GetString ("Centimeters"), null, null, 2);
 			Fullscreen = new Gtk.Action ("Fullscreen", Catalog.GetString ("Fullscreen"), null, Stock.Fullscreen);
-			
-			ZoomComboBox = new ToolBarComboBox (75, 11, true, "3600%", "2400%", "1600%", "1200%", "800%", "700%", "600%", "500%", "400%", "300%", "200%", "100%", "66%", "50%", "33%", "25%", "16%", "12%", "8%", "5%", "Window");
+
+			ZoomCollection = new string[] { "3600%", "2400%", "1600%", "1200%", "800%", "700%", "600%", "500%", "400%", "300%", "200%", "100%", "66%", "50%", "33%", "25%", "16%", "12%", "8%", "5%", "Window" };
+			ZoomComboBox = new ToolBarComboBox (75, 11, true, ZoomCollection);
 
 			// Make sure these are the same group so only one will be selected at a time
 			Inches.Group = Pixels.Group;
@@ -85,6 +87,11 @@ namespace Pinta.Core
 			MenuItem show_pad = (MenuItem)menu.Children[0];
 			menu.Remove (show_pad);
 			
+			menu.Append (ToolBar.CreateMenuItem ());
+			menu.Append (PixelGrid.CreateMenuItem ());
+			menu.Append (Rulers.CreateMenuItem ());
+			menu.AppendSeparator ();
+
 			ImageMenuItem zoomin = ZoomIn.CreateAcceleratedMenuItem (Gdk.Key.plus, Gdk.ModifierType.ControlMask);
 			zoomin.AddAccelerator ("activate", PintaCore.Actions.AccelGroup, new AccelKey (Gdk.Key.equal, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
 			zoomin.AddAccelerator ("activate", PintaCore.Actions.AccelGroup, new AccelKey (Gdk.Key.KP_Add, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
@@ -95,17 +102,13 @@ namespace Pinta.Core
 			zoomout.AddAccelerator ("activate", PintaCore.Actions.AccelGroup, new AccelKey (Gdk.Key.KP_Subtract, Gdk.ModifierType.ControlMask, AccelFlags.Visible));
 			menu.Append (zoomout);
 			
-			menu.Append (ZoomToWindow.CreateAcceleratedMenuItem (Gdk.Key.B, Gdk.ModifierType.ControlMask));
-			//menu.Append (ZoomToSelection.CreateAcceleratedMenuItem (Gdk.Key.B, Gdk.ModifierType.ControlMask | Gdk.ModifierType.ShiftMask));
 			ImageMenuItem actualsize = ActualSize.CreateAcceleratedMenuItem (Gdk.Key.Key_0, Gdk.ModifierType.ControlMask);
 			actualsize.AddAccelerator ("activate", PintaCore.Actions.AccelGroup, new AccelKey (Gdk.Key.A, Gdk.ModifierType.ControlMask | Gdk.ModifierType.ShiftMask, AccelFlags.Visible));
 			menu.Append (actualsize);
-
-			menu.AppendSeparator ();
-			menu.Append (ToolBar.CreateMenuItem ());
-			menu.Append (PixelGrid.CreateMenuItem ());
-			menu.Append (Rulers.CreateMenuItem ());
+			menu.Append (ZoomToWindow.CreateAcceleratedMenuItem (Gdk.Key.B, Gdk.ModifierType.ControlMask));
+			//menu.Append (ZoomToSelection.CreateAcceleratedMenuItem (Gdk.Key.B, Gdk.ModifierType.ControlMask | Gdk.ModifierType.ShiftMask));
 			menu.Append (Fullscreen.CreateAcceleratedMenuItem (Gdk.Key.F11, Gdk.ModifierType.None));
+
 			menu.AppendSeparator ();
 
 			Gtk.Action unit_action = new Gtk.Action ("RulerUnits", Mono.Unix.Catalog.GetString ("Ruler Units"), null, null);
@@ -183,18 +186,9 @@ namespace Pinta.Core
 		{
 			suspend_zoom_change = false;
 		}
-		
-		#region Action Handlers
-		private void HandlePintaCoreActionsViewActualSizeActivated (object sender, EventArgs e)
-		{
-			PintaCore.Actions.View.ZoomComboBox.ComboBox.Active = 11;
-		}
 
-		private void HandlePintaCoreActionsViewZoomComboBoxComboBoxChanged (object sender, EventArgs e)
+		public void UpdateCanvasScale ()
 		{
-			if (suspend_zoom_change)
-				return;
-				
 			string text = PintaCore.Actions.View.ZoomComboBox.ComboBox.ActiveText;
 
 			if (text == Catalog.GetString ("Window")) {
@@ -213,7 +207,20 @@ namespace Pinta.Core
 			percent = percent / 100.0;
 
 			PintaCore.Workspace.Scale = percent;
-	
+		}
+		
+		#region Action Handlers
+		private void HandlePintaCoreActionsViewActualSizeActivated (object sender, EventArgs e)
+		{
+			PintaCore.Actions.View.ZoomComboBox.ComboBox.Active = 11;
+		}
+
+		private void HandlePintaCoreActionsViewZoomComboBoxComboBoxChanged (object sender, EventArgs e)
+		{
+			if (suspend_zoom_change)
+				return;
+
+			PintaCore.Workspace.ActiveDocument.Workspace.ZoomManually ();
 		}
 
 		private void HandlePintaCoreActionsViewZoomOutActivated (object sender, EventArgs e)
diff --git a/Pinta.Core/AssemblyInfo.cs b/Pinta.Core/AssemblyInfo.cs
index a9af109..d5d9c35 100644
--- a/Pinta.Core/AssemblyInfo.cs
+++ b/Pinta.Core/AssemblyInfo.cs
@@ -17,7 +17,7 @@ using System.Runtime.CompilerServices;
 // The form "{Major}.{Minor}.*" will automatically update the build and revision,
 // and "{Major}.{Minor}.{Build}.*" will update just the revision.
 
-[assembly: AssemblyVersion("0.5.0.0")]
+[assembly: AssemblyVersion("0.6.0.0")]
 
 // The following attributes are used to specify the signing key for the assembly, 
 // if desired. See the Mono documentation for more information about signing.
diff --git a/Pinta.Core/EventArgs/DocumentEventArgs.cs b/Pinta.Core/Classes/BaseExtension.cs
similarity index 86%
copy from Pinta.Core/EventArgs/DocumentEventArgs.cs
copy to Pinta.Core/Classes/BaseExtension.cs
index a3f8e17..26d422e 100644
--- a/Pinta.Core/EventArgs/DocumentEventArgs.cs
+++ b/Pinta.Core/Classes/BaseExtension.cs
@@ -1,5 +1,5 @@
 // 
-// DocumentEventArgs.cs
+// BaseExtension.cs
 //  
 // Author:
 //       Jonathan Pobst <monkey at jpobst.com>
@@ -24,17 +24,18 @@
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
 
+
 using System;
 
 namespace Pinta.Core
 {
-	public class DocumentEventArgs : EventArgs
+	public class BaseExtension
 	{
-		public Document Document { get; set; }
-
-		public DocumentEventArgs (Document document)
+		/// <summary>
+		/// Called during startup, perform any necessary initialization here
+		/// </summary>
+		public virtual void Initialize ()
 		{
-			Document = document;
 		}
 	}
 }
diff --git a/Pinta.Core/Classes/BaseTool.cs b/Pinta.Core/Classes/BaseTool.cs
index ccb06d3..ee35bac 100644
--- a/Pinta.Core/Classes/BaseTool.cs
+++ b/Pinta.Core/Classes/BaseTool.cs
@@ -102,6 +102,11 @@ namespace Pinta.Core
 			OnMouseUp (canvas, args, point);
 		}
 
+		public void DoCommit ()
+		{
+			OnCommit ();
+		}
+
 		public void DoActivated ()
 		{
 			OnActivated ();
@@ -180,6 +185,15 @@ namespace Pinta.Core
 		{
 		}
 		
+		/// <summary>
+		/// This is called whenever a menu option is called, for
+		/// tools that are in a temporary state while being used, and
+		/// need to commit their work when another option is selected.
+		/// </summary>
+		protected virtual void OnCommit ()
+		{
+		}
+
 		protected virtual void OnActivated ()
 		{
 			SetCursor (DefaultCursor);
diff --git a/Pinta.Core/Classes/Document.cs b/Pinta.Core/Classes/Document.cs
index 56158bc..0b68ef1 100644
--- a/Pinta.Core/Classes/Document.cs
+++ b/Pinta.Core/Classes/Document.cs
@@ -314,8 +314,13 @@ namespace Pinta.Core
 
 		public void CreateSelectionLayer ()
 		{
+			Layer old = selection_layer;
+
 			selection_layer = CreateLayer ();
 			selection_layer_index = current_layer + 1;
+
+			if (old != null)
+				(old.Surface as IDisposable).Dispose ();
 		}
 
 		// Delete the current layer
@@ -487,16 +492,35 @@ namespace Pinta.Core
 
 		public List<Layer> GetLayersToPaint ()
 		{
-			List<Layer> paint = Layers.Where (l => !l.Hidden).ToList ();
+			List<Layer> paint = new List<Layer> ();
 
-			if (!tool_layer.Hidden)
-				paint.Add (tool_layer);
-			if (ShowSelectionLayer)
-				paint.Insert (selection_layer_index, selection_layer);
+			foreach (var layer in Layers) {
+				if (!layer.Hidden)
+					paint.Add (layer);
+
+				if (layer == CurrentLayer) {
+					if (!tool_layer.Hidden)
+						paint.Add (tool_layer);
+
+					if (ShowSelectionLayer)
+						paint.Add (selection_layer);
+				}
+			}
 
 			return paint;
 		}
 
+		/// <param name="canvasOnly">false for the whole selection, true for the part only on our canvas</param>
+		public Gdk.Rectangle GetSelectedBounds (bool canvasOnly)
+		{
+			var bounds = SelectionPath.GetBounds ();
+
+			if (canvasOnly)
+				bounds = ClampToImageSize (bounds);
+
+			return bounds;
+		}
+
 		public int IndexOf (Layer layer)
 		{
 			return Layers.IndexOf (layer);
@@ -582,7 +606,7 @@ namespace Pinta.Core
 			if (ImageSize.Width == width && ImageSize.Height == height)
 				return;
 
-			FinishSelection ();
+			PintaCore.Tools.Commit ();
 
 			ResizeHistoryItem hist = new ResizeHistoryItem (ImageSize);
 			hist.Icon = "Menu.Image.CanvasSize.png";
@@ -610,7 +634,7 @@ namespace Pinta.Core
 			if (ImageSize.Width == width && ImageSize.Height == height)
 				return;
 
-			FinishSelection ();
+			PintaCore.Tools.Commit ();
 
 			ResizeHistoryItem hist = new ResizeHistoryItem (ImageSize);
 			hist.TakeSnapshotOfImage ();
diff --git a/Pinta.Core/Classes/DocumentWorkspace.cs b/Pinta.Core/Classes/DocumentWorkspace.cs
index e82bfae..80507a6 100644
--- a/Pinta.Core/Classes/DocumentWorkspace.cs
+++ b/Pinta.Core/Classes/DocumentWorkspace.cs
@@ -1,4 +1,4 @@
-// 
+//
 // DocumentWorkspace.cs
 //  
 // Author:
@@ -34,6 +34,12 @@ namespace Pinta.Core
 	{
 		private Document document;
 		private Size canvas_size;
+		private enum ZoomType
+		{
+			ZoomIn,
+			ZoomOut,
+			ZoomManually
+		}
 
 		internal DocumentWorkspace (Document document)
 		{
@@ -45,13 +51,13 @@ namespace Pinta.Core
 		public bool CanvasFitsInWindow {
 			get {
 				Gtk.Viewport view = (Gtk.Viewport)PintaCore.Chrome.DrawingArea.Parent;
-
+				
 				int window_x = view.Allocation.Width;
 				int window_y = view.Children[0].Allocation.Height;
-
+				
 				if (CanvasSize.Width <= window_x && CanvasSize.Height <= window_y)
 					return true;
-
+				
 				return false;
 			}
 		}
@@ -67,34 +73,34 @@ namespace Pinta.Core
 		}
 
 		public DocumentWorkspaceHistory History { get; private set; }
-		
+
 		public bool ImageFitsInWindow {
 			get {
 				Gtk.Viewport view = (Gtk.Viewport)PintaCore.Chrome.DrawingArea.Parent;
-
+				
 				int window_x = view.Allocation.Width;
 				int window_y = view.Children[0].Allocation.Height;
-
+				
 				if (document.ImageSize.Width <= window_x && document.ImageSize.Height <= window_y)
 					return true;
-
+				
 				return false;
 			}
 		}
-		
+
 		public Cairo.PointD Offset {
 			get { return new Cairo.PointD ((PintaCore.Chrome.DrawingArea.Allocation.Width - canvas_size.Width) / 2, (PintaCore.Chrome.DrawingArea.Allocation.Height - canvas_size.Height) / 2); }
 		}
-		
+
 		public double Scale {
 			get { return (double)CanvasSize.Width / (double)document.ImageSize.Width; }
 			set {
 				if (value != (double)CanvasSize.Width / (double)document.ImageSize.Width || value != (double)CanvasSize.Height / (double)document.ImageSize.Height) {
 					int new_x = (int)(document.ImageSize.Width * value);
 					int new_y = (int)((new_x * document.ImageSize.Height) / document.ImageSize.Width);
-
+					
 					CanvasSize = new Gdk.Size (new_x, new_y);
-					Invalidate();
+					Invalidate ();
 				}
 			}
 		}
@@ -106,7 +112,7 @@ namespace Pinta.Core
 		{
 			PintaCore.Workspace.OnCanvasInvalidated (new CanvasInvalidatedEventArgs ());
 		}
-			
+
 		public void Invalidate (Gdk.Rectangle rect)
 		{
 			rect = new Gdk.Rectangle ((int)((rect.X) * Scale + Offset.X), (int)((rect.Y) * Scale + Offset.Y), (int)(rect.Width * Scale), (int)(rect.Height * Scale));
@@ -117,17 +123,17 @@ namespace Pinta.Core
 		{
 			if (point.X < 0 || point.Y < 0)
 				return false;
-
+			
 			if (point.X >= document.ImageSize.Width || point.Y >= document.ImageSize.Height)
 				return false;
-
+			
 			return true;
 		}
 
 		public void RecenterView (double x, double y)
 		{
 			Gtk.Viewport view = (Gtk.Viewport)PintaCore.Chrome.DrawingArea.Parent;
-
+			
 			view.Hadjustment.Value = Utility.Clamp (x * Scale - view.Hadjustment.PageSize / 2, view.Hadjustment.Lower, view.Hadjustment.Upper);
 			view.Vadjustment.Value = Utility.Clamp (y * Scale - view.Vadjustment.PageSize / 2, view.Vadjustment.Lower, view.Vadjustment.Upper);
 		}
@@ -135,74 +141,130 @@ namespace Pinta.Core
 		public void ScrollCanvas (int dx, int dy)
 		{
 			Gtk.Viewport view = (Gtk.Viewport)PintaCore.Chrome.DrawingArea.Parent;
-
+			
 			view.Hadjustment.Value = Utility.Clamp (dx + view.Hadjustment.Value, view.Hadjustment.Lower, view.Hadjustment.Upper - view.Hadjustment.PageSize);
 			view.Vadjustment.Value = Utility.Clamp (dy + view.Vadjustment.Value, view.Vadjustment.Lower, view.Vadjustment.Upper - view.Vadjustment.PageSize);
 		}
 
 		public Cairo.PointD WindowPointToCanvas (double x, double y)
 		{
-			return new Cairo.PointD (Math.Round ((x - Offset.X) / PintaCore.Workspace.Scale), Math.Round ((y - Offset.Y) / PintaCore.Workspace.Scale));
+			return new Cairo.PointD (Math.Floor ((x - Offset.X) / PintaCore.Workspace.Scale), Math.Floor ((y - Offset.Y) / PintaCore.Workspace.Scale));
 		}
 
 		public void ZoomIn ()
 		{
-			double zoom;
-
-			if (!double.TryParse (PintaCore.Actions.View.ZoomComboBox.ComboBox.ActiveText.Trim ('%'), out zoom))
-				zoom = Scale * 100;
-
-			zoom = Math.Min (zoom, 3600);
-
-			int i = 0;
-
-			foreach (object item in (PintaCore.Actions.View.ZoomComboBox.ComboBox.Model as Gtk.ListStore)) {
-				if (((object[])item)[0].ToString () == Catalog.GetString ("Window") || int.Parse (((object[])item)[0].ToString ().Trim ('%')) <= zoom) {
-					PintaCore.Actions.View.ZoomComboBox.ComboBox.Active = i - 1;
-					return;
-				}
-
-				i++;
-			}
+			ZoomAndRecenterView (ZoomType.ZoomIn, new Cairo.PointD (-1, -1)); // Zoom in relative to the center of the viewport.
 		}
 
 		public void ZoomOut ()
 		{
-			double zoom;
-
-			if (!double.TryParse (PintaCore.Actions.View.ZoomComboBox.ComboBox.ActiveText.Trim ('%'), out zoom))
-				zoom = Scale * 100;
-
-			zoom = Math.Min (zoom, 3600);
-
-			int i = 0;
+			ZoomAndRecenterView (ZoomType.ZoomOut, new Cairo.PointD (-1, -1)); // Zoom out relative to the center of the viewport.
+		}
 
-			foreach (object item in (PintaCore.Actions.View.ZoomComboBox.ComboBox.Model as Gtk.ListStore)) {
-				if (((object[])item)[0].ToString () == Catalog.GetString ("Window"))
-					return;
+		public void ZoomInFromMouseScroll (Cairo.PointD point)
+		{
+			ZoomAndRecenterView (ZoomType.ZoomIn, point); // Zoom in relative to mouse position.
+		}
 
-				if (int.Parse (((object[])item)[0].ToString ().Trim ('%')) < zoom) {
-					PintaCore.Actions.View.ZoomComboBox.ComboBox.Active = i;
-					return;
-				}
+		public void ZoomOutFromMouseScroll (Cairo.PointD point)
+		{
+			ZoomAndRecenterView (ZoomType.ZoomOut, point); // Zoom out relative to mouse position.
+		}
 
-				i++;
-			}
+		public void ZoomManually ()
+		{
+			ZoomAndRecenterView (ZoomType.ZoomManually, new Cairo.PointD (-1, -1));
 		}
 
 		public void ZoomToRectangle (Cairo.Rectangle rect)
 		{
 			double ratio;
-
+			
 			if (document.ImageSize.Width / rect.Width <= document.ImageSize.Height / rect.Height)
 				ratio = document.ImageSize.Width / rect.Width;
 			else
 				ratio = document.ImageSize.Height / rect.Height;
-
+			
 			(PintaCore.Actions.View.ZoomComboBox.ComboBox as Gtk.ComboBoxEntry).Entry.Text = String.Format ("{0:F}%", ratio * 100.0);
 			Gtk.Main.Iteration (); //Force update of scrollbar upper before recenter
 			RecenterView (rect.X + rect.Width / 2, rect.Y + rect.Height / 2);
 		}
 		#endregion
+
+		#region Private Methods
+		private void ZoomAndRecenterView (ZoomType zoomType, Cairo.PointD point)
+		{
+			double zoom;
+			
+			if (!double.TryParse (PintaCore.Actions.View.ZoomComboBox.ComboBox.ActiveText.Trim ('%'), out zoom))
+				zoom = Scale * 100;
+			
+			zoom = Math.Min (zoom, 3600);
+			
+			PintaCore.Chrome.DrawingArea.GdkWindow.FreezeUpdates ();
+			PintaCore.Actions.View.SuspendZoomUpdate ();
+			
+			Gtk.Viewport view = (Gtk.Viewport)PintaCore.Chrome.DrawingArea.Parent;
+			
+			bool adjustOnMousePosition = point.X >= 0.0 && point.Y >= 0.0;
+			
+			double center_x = adjustOnMousePosition ?
+				point.X : view.Hadjustment.Value + (view.Hadjustment.PageSize / 2.0);
+			double center_y = adjustOnMousePosition ?
+				point.Y : view.Vadjustment.Value + (view.Vadjustment.PageSize / 2.0);
+			
+			center_x = (center_x - Offset.X) / Scale;
+			center_y = (center_y - Offset.Y) / Scale;
+
+			if (zoomType == ZoomType.ZoomIn || zoomType == ZoomType.ZoomOut) {
+				int i = 0;
+				
+				Predicate<string> UpdateZoomLevel = zoomInList =>
+				{
+					switch (zoomType) {
+					case ZoomType.ZoomIn:
+						if (zoomInList == Catalog.GetString ("Window") || int.Parse (zoomInList.Trim ('%')) <= zoom) {
+							PintaCore.Actions.View.ZoomComboBox.ComboBox.Active = i - 1;
+							return true;
+						}
+						
+						break;
+					
+					case ZoomType.ZoomOut:
+						if (zoomInList == Catalog.GetString ("Window"))
+							return true;
+						
+						if (int.Parse (zoomInList.Trim ('%')) < zoom) {
+							PintaCore.Actions.View.ZoomComboBox.ComboBox.Active = i;
+							return true;
+						}
+						
+						break;
+					}
+					
+					return false;
+				};
+				
+				foreach (string item in PintaCore.Actions.View.ZoomCollection) {
+					if (UpdateZoomLevel (item))
+						break;
+					
+					i++;
+				}
+			}
+
+			PintaCore.Actions.View.UpdateCanvasScale ();
+			
+			// Quick fix : need to manually update Upper limit because the value is not changing after updating the canvas scale.
+			// TODO : I think there is an event need to be fired so that those values updated automatically.
+			view.Hadjustment.Upper = CanvasSize.Width < view.Hadjustment.PageSize ? view.Hadjustment.PageSize : CanvasSize.Width;
+			view.Vadjustment.Upper = CanvasSize.Height < view.Vadjustment.PageSize ? view.Vadjustment.PageSize : CanvasSize.Height;
+			
+			RecenterView (center_x, center_y);
+			
+			PintaCore.Actions.View.ResumeZoomUpdate ();
+			PintaCore.Chrome.DrawingArea.GdkWindow.ThawUpdates ();
+		}
+		#endregion
 	}
 }
diff --git a/Pinta.Core/Classes/Layer.cs b/Pinta.Core/Classes/Layer.cs
index 66f0ff3..6e09c04 100644
--- a/Pinta.Core/Classes/Layer.cs
+++ b/Pinta.Core/Classes/Layer.cs
@@ -83,10 +83,7 @@ namespace Pinta.Core
 			
 		public void Clear ()
 		{
-			using (Context g = new Context (Surface)) {
-				g.Operator = Operator.Clear;
-				g.Paint ();
-			}
+			Surface.Clear ();
 		}
 		
 		public void FlipHorizontal ()
diff --git a/Pinta.Core/Effects/IrregularSurface.cs b/Pinta.Core/Effects/IrregularSurface.cs
index dd3bd55..992afd1 100644
--- a/Pinta.Core/Effects/IrregularSurface.cs
+++ b/Pinta.Core/Effects/IrregularSurface.cs
@@ -6,236 +6,201 @@
 /////////////////////////////////////////////////////////////////////////////////
 
 using System;
-using System.Collections;
+using System.Collections.Generic;
 using System.Runtime.Serialization;
 using Gdk;
-using System.Collections.Generic;
 
 namespace Pinta.Core
 {
-    /// <summary>
-    /// Defines a surface that is irregularly shaped, defined by a Region.
-    /// Works by containing an array of PlacedSurface instances.
-    /// Similar to IrregularImage, but works with Surface objects instead.
-    /// Instances of this class are immutable once created.
-    /// </summary>
-    [Serializable]
-    public sealed class IrregularSurface
-        : ISurfaceDraw,
-          IDisposable,
-          ICloneable,
-          IDeserializationCallback
-    {
-        private List<PlacedSurface> placedSurfaces;
-
-        [NonSerialized]
-        private Region region;
-
-        /// <summary>
-        /// The Region that the irregular image fills.
-        /// </summary>
-        public Region Region
-        {
-            get
-            {
-                if (this.disposed)
-                {
-                    throw new ObjectDisposedException("IrregularSurface");
-                }
-
-                return this.region;
-            }
-        }
-
-        /// <summary>
-        /// Constructs an IrregularSurface by copying the given region-of-interest from an Image.
-        /// </summary>
-        /// <param name="source">The Surface to copy pixels from.</param>
-        /// <param name="roi">Defines the Region from which to copy pixels from the Image.</param>
-        public IrregularSurface (Cairo.ImageSurface source, Region roi)
-        {   
-            Region roiClipped = (Region)roi.Copy();
-            roiClipped.Intersect(Region.Rectangle(source.GetBounds()));
-
-            Rectangle[] rects = roiClipped.GetRectangles();
-            this.placedSurfaces = new List<PlacedSurface>(rects.Length);
-
-            foreach (Rectangle rect in rects)
-            {
-                this.placedSurfaces.Add(new PlacedSurface(source, rect));
-            }
-
-            this.region = roiClipped;
-        }
-
-        public IrregularSurface(Cairo.ImageSurface source, Rectangle[] roi)
-        {
-            this.placedSurfaces = new List<PlacedSurface>(roi.Length);
-
-            foreach (Rectangle rect in roi)
-            {
-                Rectangle ri = Rectangle.Intersect(source.GetBounds(), rect);
-
-                if (!ri.IsEmpty)
-                {
-                    this.placedSurfaces.Add(new PlacedSurface(source, ri));
-                }
-            }
-
-            this.region = Utility.RectanglesToRegion(roi);
-            this.region.Intersect(Region.Rectangle(source.GetBounds()));
-        }
-
-        /// <summary>
-        /// Constructs an IrregularSurface by copying the given rectangle-of-interest from an Image.
-        /// </summary>
-        /// <param name="source">The Surface to copy pixels from.</param>
-        /// <param name="roi">Defines the Rectangle from which to copy pixels from the Image.</param>
-        public IrregularSurface (Cairo.ImageSurface source, Rectangle roi)
-        {
-            this.placedSurfaces = new List<PlacedSurface>();
-            this.placedSurfaces.Add(new PlacedSurface(source, roi));
-            this.region = Region.Rectangle(roi);
-        }
-
-        private IrregularSurface (IrregularSurface cloneMe)
-        {
-            this.placedSurfaces = new List<PlacedSurface>(cloneMe.placedSurfaces.Count);
-
-            foreach (PlacedSurface ps in cloneMe.placedSurfaces)
-            {
-                this.placedSurfaces.Add((PlacedSurface)ps.Clone());
-            }
-
-            this.region = cloneMe.Region.Copy();
-        }
-
-        ~IrregularSurface()
-        {
-            Dispose(false);
-        }
-
-        /// <summary>
-        /// Draws the IrregularSurface on to the given Surface.
-        /// </summary>
-        /// <param name="dst">The Surface to draw to.</param>
-        public void Draw(Cairo.ImageSurface dst)
-        {
-            if (disposed)
-            {
-                throw new ObjectDisposedException("IrregularSurface");
-            }
-
-            foreach (PlacedSurface ps in placedSurfaces)
-            {
-                ps.Draw(dst);
-            }
-        }
-
-        public void Draw(Cairo.ImageSurface dst, PixelOp pixelOp)
-        {
-            if (this.disposed)
-            {
-                throw new ObjectDisposedException("IrregularSurface");
-            }
-
-            foreach (PlacedSurface ps in this.placedSurfaces)
-            {
-                ps.Draw(dst, pixelOp);
-            }
-        }
-
-        /// <summary>
-        /// Draws the IrregularSurface on to the given Surface starting at the given (x,y) offset.
-        /// </summary>
-        /// <param name="g">The Surface to draw to.</param>
-        /// <param name="transformX">The value to be added to every X coordinate that is used for drawing.</param>
-        /// <param name="transformY">The value to be added to every Y coordinate that is used for drawing.</param>
-        public void Draw(Cairo.ImageSurface dst, int tX, int tY)
-        {
-            if (this.disposed)
-            {
-                throw new ObjectDisposedException("IrregularSurface");
-            }
-
-            foreach (PlacedSurface ps in this.placedSurfaces)
-            {
-                ps.Draw(dst, tX, tY);
-            }
-        }
-
-        public void Draw(Cairo.ImageSurface dst, int tX, int tY, PixelOp pixelOp)
-        {
-            if (this.disposed)
-            {
-                throw new ObjectDisposedException("IrregularSurface");
-            }
-
-            foreach (PlacedSurface ps in this.placedSurfaces)
-            {
-                ps.Draw(dst, tX, tY, pixelOp);
-            }
-        }
-
-        #region IDisposable Members
-        private bool disposed = false;
-
-        public void Dispose()
-        {
-            Dispose(true);
-            System.GC.SuppressFinalize(this);
-        }
-
-        private void Dispose(bool disposing)
-        {
-            if (!this.disposed)
-            {
-                // TODO: FXCOP: call Dispose() on this.region
-
-                this.disposed = true;
-
-                if (disposing)
-                {
-                    this.placedSurfaces.Clear();
-                    this.placedSurfaces = null;
-                }
-            }
-        }
-        #endregion
-
-        #region ICloneable Members
-
-        /// <summary>
-        /// Clones the IrregularSurface.
-        /// </summary>
-        /// <returns>A copy of the current state of this PlacedSurface.</returns>
-        public object Clone()
-        {
-            if (disposed)
-            {
-                throw new ObjectDisposedException("IrregularSurface");
-            }
-
-            return new IrregularSurface(this);
-        }
-        #endregion
-
-        #region IDeserializationCallback Members
-
-        public void OnDeserialization(object sender)
-        {
-            region = Region.Rectangle(Rectangle.Zero);
-
-            Rectangle[] rects = new Rectangle[placedSurfaces.Count];
-
-            for (int i = 0; i < placedSurfaces.Count; ++i)
-            {
-                rects[i] = placedSurfaces[i].Bounds;
-            }
-
-            region = Utility.RectanglesToRegion(rects);
-        }
-
-        #endregion
-    }
+	/// <summary>
+	/// Defines a surface that is irregularly shaped, defined by a Region.
+	/// Works by containing an array of PlacedSurface instances.
+	/// Similar to IrregularImage, but works with Surface objects instead.
+	/// Instances of this class are immutable once created.
+	/// </summary>
+	[Serializable]
+	public sealed class IrregularSurface : ISurfaceDraw, IDisposable, ICloneable, IDeserializationCallback
+	{
+		private List<PlacedSurface> placedSurfaces;
+
+		[NonSerialized]
+		private Region region;
+
+		#region Constructors
+		/// <summary>
+		/// Constructs an IrregularSurface by copying the given region-of-interest from an Image.
+		/// </summary>
+		/// <param name="source">The Surface to copy pixels from.</param>
+		/// <param name="roi">Defines the Region from which to copy pixels from the Image.</param>
+		public IrregularSurface (Cairo.ImageSurface source, Region roi)
+		{
+			Region roiClipped = (Region)roi.Copy ();
+			roiClipped.Intersect (Region.Rectangle (source.GetBounds ()));
+
+			Rectangle[] rects = roiClipped.GetRectangles ();
+			this.placedSurfaces = new List<PlacedSurface> (rects.Length);
+
+			foreach (Rectangle rect in rects)
+				this.placedSurfaces.Add (new PlacedSurface (source, rect));
+
+			this.region = roiClipped;
+		}
+
+		public IrregularSurface (Cairo.ImageSurface source, Rectangle[] roi)
+		{
+			this.placedSurfaces = new List<PlacedSurface> (roi.Length);
+
+			foreach (Rectangle rect in roi) {
+				Rectangle ri = Rectangle.Intersect (source.GetBounds (), rect);
+
+				if (!ri.IsEmpty)
+					this.placedSurfaces.Add (new PlacedSurface (source, ri));
+			}
+
+			this.region = Utility.RectanglesToRegion (roi);
+			this.region.Intersect (Region.Rectangle (source.GetBounds ()));
+		}
+
+		/// <summary>
+		/// Constructs an IrregularSurface by copying the given rectangle-of-interest from an Image.
+		/// </summary>
+		/// <param name="source">The Surface to copy pixels from.</param>
+		/// <param name="roi">Defines the Rectangle from which to copy pixels from the Image.</param>
+		public IrregularSurface (Cairo.ImageSurface source, Rectangle roi)
+		{
+			this.placedSurfaces = new List<PlacedSurface> ();
+			this.placedSurfaces.Add (new PlacedSurface (source, roi));
+			this.region = Region.Rectangle (roi);
+		}
+
+		private IrregularSurface (IrregularSurface cloneMe)
+		{
+			this.placedSurfaces = new List<PlacedSurface> (cloneMe.placedSurfaces.Count);
+
+			foreach (PlacedSurface ps in cloneMe.placedSurfaces)
+				this.placedSurfaces.Add ((PlacedSurface)ps.Clone ());
+
+			this.region = cloneMe.Region.Copy ();
+		}
+
+		~IrregularSurface ()
+		{
+			Dispose (false);
+		}
+		#endregion
+
+		#region Public Properties
+		/// <summary>
+		/// The Region that the irregular image fills.
+		/// </summary>
+		public Region Region {
+			get {
+				if (this.disposed)
+					throw new ObjectDisposedException ("IrregularSurface");
+
+				return this.region;
+			}
+		}
+		#endregion
+
+		#region Public Methods
+		/// <summary>
+		/// Draws the IrregularSurface on to the given Surface.
+		/// </summary>
+		/// <param name="dst">The Surface to draw to.</param>
+		public void Draw (Cairo.ImageSurface dst)
+		{
+			if (disposed)
+				throw new ObjectDisposedException ("IrregularSurface");
+
+			foreach (PlacedSurface ps in placedSurfaces)
+				ps.Draw (dst);
+		}
+
+		public void Draw (Cairo.ImageSurface dst, PixelOp pixelOp)
+		{
+			if (this.disposed)
+				throw new ObjectDisposedException ("IrregularSurface");
+
+			foreach (PlacedSurface ps in this.placedSurfaces)
+				ps.Draw (dst, pixelOp);
+		}
+
+		/// <summary>
+		/// Draws the IrregularSurface on to the given Surface starting at the given (x,y) offset.
+		/// </summary>
+		/// <param name="g">The Surface to draw to.</param>
+		/// <param name="transformX">The value to be added to every X coordinate that is used for drawing.</param>
+		/// <param name="transformY">The value to be added to every Y coordinate that is used for drawing.</param>
+		public void Draw (Cairo.ImageSurface dst, int tX, int tY)
+		{
+			if (this.disposed)
+				throw new ObjectDisposedException ("IrregularSurface");
+
+			foreach (PlacedSurface ps in this.placedSurfaces)
+				ps.Draw (dst, tX, tY);
+		}
+
+		public void Draw (Cairo.ImageSurface dst, int tX, int tY, PixelOp pixelOp)
+		{
+			if (this.disposed)
+				throw new ObjectDisposedException ("IrregularSurface");
+
+			foreach (PlacedSurface ps in this.placedSurfaces)
+				ps.Draw (dst, tX, tY, pixelOp);
+		}
+		#endregion
+
+		#region IDisposable Members
+		private bool disposed = false;
+
+		public void Dispose ()
+		{
+			Dispose (true);
+			System.GC.SuppressFinalize (this);
+		}
+
+		private void Dispose (bool disposing)
+		{
+			if (!this.disposed) {
+				// TODO: FXCOP: call Dispose() on this.region
+
+				this.disposed = true;
+
+				if (disposing) {
+					this.placedSurfaces.Clear ();
+					this.placedSurfaces = null;
+				}
+			}
+		}
+		#endregion
+
+		#region ICloneable Members
+		/// <summary>
+		/// Clones the IrregularSurface.
+		/// </summary>
+		/// <returns>A copy of the current state of this PlacedSurface.</returns>
+		public object Clone ()
+		{
+			if (disposed)
+				throw new ObjectDisposedException ("IrregularSurface");
+
+			return new IrregularSurface (this);
+		}
+		#endregion
+
+		#region IDeserializationCallback Members
+		public void OnDeserialization (object sender)
+		{
+			region = Region.Rectangle (Rectangle.Zero);
+
+			Rectangle[] rects = new Rectangle[placedSurfaces.Count];
+
+			for (int i = 0; i < placedSurfaces.Count; ++i)
+				rects[i] = placedSurfaces[i].Bounds;
+
+			region = Utility.RectanglesToRegion (rects);
+		}
+		#endregion
+	}
 }
diff --git a/Pinta.Core/Effects/PlacedSurface.cs b/Pinta.Core/Effects/PlacedSurface.cs
index 90e7e4c..1b45e82 100644
--- a/Pinta.Core/Effects/PlacedSurface.cs
+++ b/Pinta.Core/Effects/PlacedSurface.cs
@@ -10,186 +10,166 @@ using Cairo;
 
 namespace Pinta.Core
 {
-    /// <summary>
-    /// Encapsulates a surface ("what") along with a pixel offset ("where") which
-    /// defines where the surface would be drawn on to another surface.
-    /// Instances of this object are immutable -- once you create it, you can not
-    /// change it.
-    /// </summary>
-    [Serializable]
-    public sealed class PlacedSurface
-        : ISurfaceDraw,
-          ICloneable
-    {
-        Gdk.Point where;
-        ImageSurface what;
-
-        public Gdk.Point Where
-        {
-            get
-            {
-                if (disposed)
-                {
-                    throw new ObjectDisposedException("PlacedSurface");
-                }
-
-                return where;
-            }
-        }
-
-        public ImageSurface What
-        {
-            get
-            {
-                if (disposed)
-                {
-                    throw new ObjectDisposedException("PlacedSurface");
-                }
-
-                return what;
-            }
-        }
-
-        public Gdk.Size Size
-        {
-            get
-            {
-                if (disposed)
-                {
-                    throw new ObjectDisposedException("PlacedSurface");
-                }
-
-                return new Gdk.Size(what.Width, what.Height);
-            }
-        }
-
-        public Gdk.Rectangle Bounds
-        {
-            get
-            {
-                if (disposed)
-                {
-                    throw new ObjectDisposedException("PlacedSurface");
-                }
-
-                return new Gdk.Rectangle(Where, Size);
-            }
-        }
-
-        public void Draw(ImageSurface dst)
-        {
-            if (disposed)
-            {
-                throw new ObjectDisposedException("PlacedSurface");
-            }
-
-            using (Cairo.Context g = new Cairo.Context(dst))
-                g.DrawPixbuf(what.ToPixbuf(), new Cairo.Point(where.X, where.Y));
-        }
-
-        public void Draw(ImageSurface dst, PixelOp pixelOp)
-        {
-            if (disposed)
-            {
-                throw new ObjectDisposedException("PlacedSurface");
-            }
-
-            Gdk.Rectangle dstRect = Bounds;
-            Gdk.Rectangle dstClip = Gdk.Rectangle.Intersect(dstRect, dst.GetBounds());
-
-            if (dstClip.Width > 0 && dstClip.Height > 0)
-            {
-                int dtX = dstClip.X - where.X;
-                int dtY = dstClip.Y - where.Y;
-
-                pixelOp.Apply(dst, dstClip.Location, what, new Gdk.Point(dtX, dtY), dstClip.Size);
-            }
-        }
-
-        public void Draw(ImageSurface dst, int tX, int tY)
-        {
-            if (disposed)
-            {
-                throw new ObjectDisposedException("PlacedSurface");
-            }
-
-            Gdk.Point oldWhere = where;
-
-            try
-            {
-                where.X += tX;
-                where.Y += tY;
-                Draw(dst);
-            }
-
-            finally
-            {
-                where = oldWhere;
-            }
-        }
-
-        public void Draw(ImageSurface dst, int tX, int tY, PixelOp pixelOp)
-        {
-            if (disposed)
-            {
-                throw new ObjectDisposedException("PlacedSurface");
-            }
-
-            Gdk.Point oldWhere = where;
-
-            try
-            {
-                where.X += tX;
-                where.Y += tY;
-                Draw(dst, pixelOp);
-            }
-
-            finally
-            {
-                where = oldWhere;
-            }
-        }
-
-        public PlacedSurface(ImageSurface source, Gdk.Rectangle roi)
-        {
-            where = roi.Location;
-			what = new ImageSurface(Format.Argb32, roi.Width, roi.Height);
-			
+	/// <summary>
+	/// Encapsulates a surface ("what") along with a pixel offset ("where") which
+	/// defines where the surface would be drawn on to another surface.
+	/// Instances of this object are immutable -- once you create it, you can not
+	/// change it.
+	/// </summary>
+	[Serializable]
+	public sealed class PlacedSurface : ISurfaceDraw, ICloneable
+	{
+		Gdk.Point where;
+		ImageSurface what;
+
+		#region Constructors
+		private PlacedSurface (PlacedSurface ps)
+		{
+			where = ps.Where;
+			what = ps.What.Clone ();
+		}
+
+		private PlacedSurface ()
+		{
+		}
+
+		public PlacedSurface (ImageSurface source, Gdk.Rectangle roi)
+		{
+			where = roi.Location;
+			what = new ImageSurface (Format.Argb32, roi.Width, roi.Height);
+
 			using (Context g = new Context (what)) {
 				g.SetSourceSurface (source, -roi.X, -roi.Y);
 				g.Paint ();
 			}
-        }
+		}
+		#endregion
+
+		#region Public Properties
+		public Gdk.Point Where {
+			get {
+				if (disposed)
+					throw new ObjectDisposedException ("PlacedSurface");
+
+				return where;
+			}
+		}
+
+		public ImageSurface What {
+			get {
+				if (disposed)
+					throw new ObjectDisposedException ("PlacedSurface");
+
+				return what;
+			}
+		}
+
+		public Gdk.Size Size {
+			get {
+				if (disposed)
+					throw new ObjectDisposedException ("PlacedSurface");
+
+				return new Gdk.Size (what.Width, what.Height);
+			}
+		}
 
-        private PlacedSurface(PlacedSurface ps)
-        {
-            where = ps.Where;
-            what = ps.What.Clone();
-        }
+		public Gdk.Rectangle Bounds {
+			get {
+				if (disposed)
+					throw new ObjectDisposedException ("PlacedSurface");
 
-        private PlacedSurface()
-        {
-        }
+				return new Gdk.Rectangle (Where, Size);
+			}
+		}
+		#endregion
+
+		#region Public Methods
+		public void Draw (ImageSurface dst)
+		{
+			if (disposed)
+				throw new ObjectDisposedException ("PlacedSurface");
+
+			using (Cairo.Context g = new Cairo.Context (dst)) {
+				g.Save ();
+
+				Rectangle r = what.GetBounds ().ToCairoRectangle ();
+
+				// We need to use the source operator to fully replace the old
+				// data.  Or else we may paint transparent on top of it and 
+				// it will still be visible.  [Bug #670411]
+				using (Path p = g.CreateRectanglePath (new Rectangle (where.X, where.Y, r.Width, r.Height))) {
+					g.AppendPath (p);
+					g.Clip ();
+					g.Operator = Operator.Source;
+					g.DrawPixbuf (what.ToPixbuf (), new Cairo.Point (where.X, where.Y));
+				}
+
+				g.Restore ();
+			}
+		}
 
-        #region IDisposable Members
-        private bool disposed = false;
+		public void Draw (ImageSurface dst, PixelOp pixelOp)
+		{
+			if (disposed)
+				throw new ObjectDisposedException ("PlacedSurface");
 
-        #endregion
+			Gdk.Rectangle dstRect = Bounds;
+			Gdk.Rectangle dstClip = Gdk.Rectangle.Intersect (dstRect, dst.GetBounds ());
 
+			if (dstClip.Width > 0 && dstClip.Height > 0) {
+				int dtX = dstClip.X - where.X;
+				int dtY = dstClip.Y - where.Y;
 
-        #region ICloneable Members
+				pixelOp.Apply (dst, dstClip.Location, what, new Gdk.Point (dtX, dtY), dstClip.Size);
+			}
+		}
 
-        public object Clone()
-        {
-            if (disposed)
-            {
-                throw new ObjectDisposedException("PlacedSurface");
-            }
+		public void Draw (ImageSurface dst, int tX, int tY)
+		{
+			if (disposed)
+				throw new ObjectDisposedException ("PlacedSurface");
 
-            return new PlacedSurface(this);
-        }
+			Gdk.Point oldWhere = where;
 
-        #endregion
-    }
+			try {
+				where.X += tX;
+				where.Y += tY;
+				Draw (dst);
+			} finally {
+				where = oldWhere;
+			}
+		}
+
+		public void Draw (ImageSurface dst, int tX, int tY, PixelOp pixelOp)
+		{
+			if (disposed)
+				throw new ObjectDisposedException ("PlacedSurface");
+
+			Gdk.Point oldWhere = where;
+
+			try {
+				where.X += tX;
+				where.Y += tY;
+				Draw (dst, pixelOp);
+			} finally {
+				where = oldWhere;
+			}
+		}
+		#endregion
+
+		#region IDisposable Members
+		private bool disposed = false;
+		#endregion
+
+		#region ICloneable Members
+		public object Clone ()
+		{
+			if (disposed)
+				throw new ObjectDisposedException ("PlacedSurface");
+
+			return new PlacedSurface (this);
+		}
+		#endregion
+	}
 }
 
diff --git a/Pinta.Core/Extensions/CairoExtensions.cs b/Pinta.Core/Extensions/CairoExtensions.cs
index e60df34..5eb5154 100644
--- a/Pinta.Core/Extensions/CairoExtensions.cs
+++ b/Pinta.Core/Extensions/CairoExtensions.cs
@@ -35,6 +35,7 @@
 
 using System;
 using Cairo;
+using System.Collections.Generic;
 
 namespace Pinta.Core
 {
@@ -42,62 +43,62 @@ namespace Pinta.Core
 	{
 		// Most of these functions return an affected area
 		// This can be ignored if you don't need it
-		
+
 		#region context
 		public static Rectangle DrawRectangle (this Context g, Rectangle r, Color color, int lineWidth)
 		{
 			// Put it on a pixel line
 			if (lineWidth == 1)
 				r = new Rectangle (r.X - 0.5, r.Y - 0.5, r.Width, r.Height);
-			
+
 			g.Save ();
-			
+
 			g.MoveTo (r.X, r.Y);
 			g.LineTo (r.X + r.Width, r.Y);
 			g.LineTo (r.X + r.Width, r.Y + r.Height);
 			g.LineTo (r.X, r.Y + r.Height);
 			g.LineTo (r.X, r.Y);
-			
+
 			g.Color = color;
 			g.LineWidth = lineWidth;
 			g.LineCap = LineCap.Square;
-			
+
 			Rectangle dirty = g.StrokeExtents ();
 			g.Stroke ();
-			
+
 			g.Restore ();
-			
+
 			return dirty;
 		}
-		
+
 		public static Path CreateRectanglePath (this Context g, Rectangle r)
 		{
 			g.Save ();
-			
+
 			g.MoveTo (r.X, r.Y);
 			g.LineTo (r.X + r.Width, r.Y);
 			g.LineTo (r.X + r.Width, r.Y + r.Height);
 			g.LineTo (r.X, r.Y + r.Height);
 			g.LineTo (r.X, r.Y);
-			
+
 			Path path = g.CopyPath ();
 			g.Restore ();
-			
+
 			return path;
 		}
 
 		public static Rectangle FillRectangle (this Context g, Rectangle r, Color color)
 		{
 			g.Save ();
-			
+
 			g.MoveTo (r.X, r.Y);
 			g.LineTo (r.X + r.Width, r.Y);
 			g.LineTo (r.X + r.Width, r.Y + r.Height);
 			g.LineTo (r.X, r.Y + r.Height);
 			g.LineTo (r.X, r.Y);
-			
+
 			g.Color = color;
-			
+
 			Rectangle dirty = g.StrokeExtents ();
 
 			g.Fill ();
@@ -109,13 +110,13 @@ namespace Pinta.Core
 		public static Rectangle FillRectangle (this Context g, Rectangle r, Pattern pattern)
 		{
 			g.Save ();
-			
+
 			g.MoveTo (r.X, r.Y);
 			g.LineTo (r.X + r.Width, r.Y);
 			g.LineTo (r.X + r.Width, r.Y + r.Height);
 			g.LineTo (r.X, r.Y + r.Height);
 			g.LineTo (r.X, r.Y);
-			
+
 			g.Pattern = pattern;
 
 			Rectangle dirty = g.StrokeExtents ();
@@ -128,17 +129,17 @@ namespace Pinta.Core
 
 		public static Rectangle DrawPolygonal (this Context g, PointD[] points, Color color)
 		{
-			Random rand=new Random();
-			
+			Random rand = new Random ();
+
 			g.Save ();
-			g.MoveTo (points [0]);
+			g.MoveTo (points[0]);
 			foreach (var point in points) {
-				g.LineTo (point.X - rand.NextDouble()*0, point.Y);
+				g.LineTo (point.X - rand.NextDouble () * 0, point.Y);
 				//g.Stroke();
 			}
-			
+
 			g.Color = color;
-			
+
 			Rectangle dirty = g.StrokeExtents ();
 			g.Stroke ();
 
@@ -150,13 +151,13 @@ namespace Pinta.Core
 		public static Rectangle FillPolygonal (this Context g, PointD[] points, Color color)
 		{
 			g.Save ();
-			
-			g.MoveTo (points [0]);
+
+			g.MoveTo (points[0]);
 			foreach (var point in points)
 				g.LineTo (point);
-			
+
 			g.Color = color;
-			
+
 			Rectangle dirty = g.StrokeExtents ();
 			g.Fill ();
 
@@ -169,7 +170,7 @@ namespace Pinta.Core
 		{
 			double x = r.X;
 			double y = r.Y;
-			
+
 			g.Save ();
 
 			// Put it on a pixel line
@@ -177,25 +178,25 @@ namespace Pinta.Core
 				x += 0.5;
 				y += 0.5;
 			}
-			
+
 			g.MoveTo (x, y);
 			g.LineTo (x + r.Width, y);
 			g.LineTo (x + r.Width, y + r.Height);
 			g.LineTo (x, y + r.Height);
 			g.LineTo (x, y);
-			
+
 			g.Color = fill;
 			g.FillPreserve ();
-			
+
 			g.Color = stroke;
 			g.LineWidth = lineWidth;
 			g.LineCap = LineCap.Square;
-			
+
 			Rectangle dirty = g.StrokeExtents ();
-			
+
 			g.Stroke ();
 			g.Restore ();
-			
+
 			return dirty;
 		}
 
@@ -206,21 +207,21 @@ namespace Pinta.Core
 			double cx = r.X + rx;
 			double cy = r.Y + ry;
 			double c1 = 0.552285;
-			
+
 			g.Save ();
-			
+
 			g.MoveTo (cx + rx, cy);
-			
+
 			g.CurveTo (cx + rx, cy - c1 * ry, cx + c1 * rx, cy - ry, cx, cy - ry);
 			g.CurveTo (cx - c1 * rx, cy - ry, cx - rx, cy - c1 * ry, cx - rx, cy);
 			g.CurveTo (cx - rx, cy + c1 * ry, cx - c1 * rx, cy + ry, cx, cy + ry);
 			g.CurveTo (cx + c1 * rx, cy + ry, cx + rx, cy + c1 * ry, cx + rx, cy);
-			
+
 			g.ClosePath ();
-			
+
 			g.Color = color;
 			g.LineWidth = lineWidth;
-			
+
 			Rectangle dirty = g.StrokeExtents ();
 
 			g.Stroke ();
@@ -236,25 +237,25 @@ namespace Pinta.Core
 			double cx = r.X + rx;
 			double cy = r.Y + ry;
 			double c1 = 0.552285;
-			
+
 			g.Save ();
-			
+
 			g.MoveTo (cx + rx, cy);
-			
+
 			g.CurveTo (cx + rx, cy - c1 * ry, cx + c1 * rx, cy - ry, cx, cy - ry);
 			g.CurveTo (cx - c1 * rx, cy - ry, cx - rx, cy - c1 * ry, cx - rx, cy);
 			g.CurveTo (cx - rx, cy + c1 * ry, cx - c1 * rx, cy + ry, cx, cy + ry);
 			g.CurveTo (cx + c1 * rx, cy + ry, cx + rx, cy + c1 * ry, cx + rx, cy);
-			
+
 			g.ClosePath ();
-			
+
 			g.Color = color;
-			
+
 			Rectangle dirty = g.StrokeExtents ();
-			
+
 			g.Fill ();
 			g.Restore ();
-			
+
 			return dirty;
 		}
 
@@ -265,22 +266,22 @@ namespace Pinta.Core
 			double cx = r.X + rx;
 			double cy = r.Y + ry;
 			double c1 = 0.552285;
-			
+
 			g.Save ();
-			
+
 			g.MoveTo (cx + rx, cy);
-			
+
 			g.CurveTo (cx + rx, cy - c1 * ry, cx + c1 * rx, cy - ry, cx, cy - ry);
 			g.CurveTo (cx - c1 * rx, cy - ry, cx - rx, cy - c1 * ry, cx - rx, cy);
 			g.CurveTo (cx - rx, cy + c1 * ry, cx - c1 * rx, cy + ry, cx, cy + ry);
 			g.CurveTo (cx + c1 * rx, cy + ry, cx + rx, cy + c1 * ry, cx + rx, cy);
-			
+
 			g.ClosePath ();
 
 			Path path = g.CopyPath ();
-			
+
 			g.Restore ();
-			
+
 			return path;
 		}
 
@@ -291,29 +292,29 @@ namespace Pinta.Core
 			double cx = r.X + rx;
 			double cy = r.Y + ry;
 			double c1 = 0.552285;
-			
+
 			g.Save ();
-			
+
 			g.MoveTo (cx + rx, cy);
-			
+
 			g.CurveTo (cx + rx, cy - c1 * ry, cx + c1 * rx, cy - ry, cx, cy - ry);
 			g.CurveTo (cx - c1 * rx, cy - ry, cx - rx, cy - c1 * ry, cx - rx, cy);
 			g.CurveTo (cx - rx, cy + c1 * ry, cx - c1 * rx, cy + ry, cx, cy + ry);
 			g.CurveTo (cx + c1 * rx, cy + ry, cx + rx, cy + c1 * ry, cx + rx, cy);
-			
+
 			g.ClosePath ();
-			
+
 			g.Color = fill;
 			g.FillPreserve ();
-			
+
 			g.Color = stroke;
 			g.LineWidth = lineWidth;
-			
+
 			Rectangle dirty = g.StrokeExtents ();
-			
+
 			g.Stroke ();
 			g.Restore ();
-			
+
 			return dirty;
 		}
 
@@ -333,18 +334,18 @@ namespace Pinta.Core
 			g.LineTo (r.X + radius, r.Y + r.Height);
 			g.Arc (r.X + radius, r.Y + r.Height - radius, radius, Math.PI / 2, Math.PI);
 			g.ClosePath ();
-			
+
 			g.Color = fill;
 			g.FillPreserve ();
-			
+
 			g.Color = stroke;
 			g.LineWidth = lineWidth;
-			
+
 			Rectangle dirty = g.StrokeExtents ();
-			
+
 			g.Stroke ();
 			g.Restore ();
-			
+
 			return dirty;
 		}
 
@@ -366,7 +367,7 @@ namespace Pinta.Core
 			g.ClosePath ();
 
 			g.Color = fill;
-			
+
 			Rectangle dirty = g.StrokeExtents ();
 
 			g.Fill ();
@@ -378,44 +379,43 @@ namespace Pinta.Core
 		public static void FillRegion (this Context g, Gdk.Region region, Color color)
 		{
 			g.Save ();
-			
+
 			g.Color = color;
-			
-			foreach (Gdk.Rectangle r in region.GetRectangles())
-			{
+
+			foreach (Gdk.Rectangle r in region.GetRectangles ()) {
 				g.MoveTo (r.X, r.Y);
 				g.LineTo (r.X + r.Width, r.Y);
 				g.LineTo (r.X + r.Width, r.Y + r.Height);
 				g.LineTo (r.X, r.Y + r.Height);
 				g.LineTo (r.X, r.Y);
-				
+
 				g.Color = color;
 
 				g.StrokeExtents ();
 				g.Fill ();
 			}
-			
+
 			g.Restore ();
 		}
 
 		public static Rectangle DrawRoundedRectangle (this Context g, Rectangle r, double radius, Color stroke, int lineWidth)
 		{
 			g.Save ();
-			
+
 			Path p = g.CreateRoundedRectanglePath (r, radius);
-			
+
 			g.AppendPath (p);
-			
+
 			g.Color = stroke;
 			g.LineWidth = lineWidth;
-			
+
 			Rectangle dirty = g.StrokeExtents ();
 
 			g.Stroke ();
 			g.Restore ();
 
 			(p as IDisposable).Dispose ();
-			
+
 			return dirty;
 		}
 
@@ -435,10 +435,10 @@ namespace Pinta.Core
 			g.LineTo (r.X + radius, r.Y + r.Height);
 			g.Arc (r.X + radius, r.Y + r.Height - radius, radius, Math.PI / 2, Math.PI);
 			g.ClosePath ();
-		
+
 			Path p = g.CopyPath ();
 			g.Restore ();
-			
+
 			return p;
 		}
 
@@ -479,12 +479,12 @@ namespace Pinta.Core
 		private static Pango.Style CairoToPangoSlant (FontSlant slant)
 		{
 			switch (slant) {
-			case FontSlant.Italic:
-				return Pango.Style.Italic;
-			case FontSlant.Oblique:
-				return Pango.Style.Oblique;
-			default:
-				return Pango.Style.Normal;
+				case FontSlant.Italic:
+					return Pango.Style.Italic;
+				case FontSlant.Oblique:
+					return Pango.Style.Oblique;
+				default:
+					return Pango.Style.Normal;
 			}
 		}
 
@@ -499,7 +499,7 @@ namespace Pinta.Core
 
 			g.MoveTo (p.X, p.Y);
 			g.Color = color;
-			g.Antialias =  antiAliasing? Antialias.Subpixel: Antialias.None;
+			g.Antialias = antiAliasing ? Antialias.Subpixel : Antialias.None;
 
 			Pango.Layout layout = Pango.CairoHelper.CreateLayout (g);
 			Pango.FontDescription fd = new Pango.FontDescription ();
@@ -510,16 +510,16 @@ namespace Pinta.Core
 			layout.FontDescription = fd;
 			layout.SetText (text);
 			Pango.CairoHelper.ShowLayoutLine (g, layout.Lines[0]);
-			
+
 			Pango.Rectangle unused = Pango.Rectangle.Zero;
 			Pango.Rectangle te = Pango.Rectangle.Zero;
 			layout.GetExtents (out unused, out te);
-			
-			(layout as IDisposable).Dispose();
-			
+
+			(layout as IDisposable).Dispose ();
+
 			g.Restore ();
 
-			return new Rectangle(te.X, te.Y, te.Width, te.Height);
+			return new Rectangle (te.X, te.Y, te.Width, te.Height);
 		}
 
 		public static void DrawPixbuf (this Context g, Gdk.Pixbuf pixbuf, Point dest)
@@ -534,81 +534,78 @@ namespace Pinta.Core
 		public static void DrawLinearGradient (this Context g, Surface oldsurface, GradientColorMode mode, Color c1, Color c2, PointD p1, PointD p2)
 		{
 			g.Save ();
-			
+
 			Gradient gradient = new Cairo.LinearGradient (p1.X, p1.Y, p2.X, p2.Y);
-			
+
 			if (mode == GradientColorMode.Color) {
 				gradient.AddColorStop (0, c1);
 				gradient.AddColorStop (1, c2);
 				g.Source = gradient;
 				g.Paint ();
-			}
-			else if (mode == GradientColorMode.Transparency) {
+			} else if (mode == GradientColorMode.Transparency) {
 				gradient.AddColorStop (0, new Color (0, 0, 0, 1));
 				gradient.AddColorStop (1, new Color (0, 0, 0, 0));
 				g.Source = new SurfacePattern (oldsurface);
 				g.Mask (gradient);
 			}
-			
+
 			g.Restore ();
 		}
 
 		public static void DrawLinearReflectedGradient (this Context g, Surface oldsurface, GradientColorMode mode, Color c1, Color c2, PointD p1, PointD p2)
 		{
 			g.Save ();
-			
+
 			Gradient gradient = new Cairo.LinearGradient (p1.X, p1.Y, p2.X, p2.Y);
-			
+
 			if (mode == GradientColorMode.Color) {
 				gradient.AddColorStop (0, c1);
 				gradient.AddColorStop (0.5, c2);
 				gradient.AddColorStop (1, c1);
 				g.Source = gradient;
 				g.Paint ();
-			}
-			else if (mode == GradientColorMode.Transparency) {
+			} else if (mode == GradientColorMode.Transparency) {
 				gradient.AddColorStop (0, new Color (0, 0, 0, 1));
 				gradient.AddColorStop (0.5, new Color (0, 0, 0, 0));
 				gradient.AddColorStop (1, new Color (0, 0, 0, 1));
 				g.Source = new SurfacePattern (oldsurface);
 				g.Mask (gradient);
 			}
-			
+
 			g.Restore ();
 		}
 
 		public static void DrawRadialGradient (this Context g, Surface oldsurface, GradientColorMode mode, Color c1, Color c2, PointD p1, PointD p2, double r1, double r2)
 		{
 			g.Save ();
-			
+
 			Gradient gradient = new Cairo.RadialGradient (p1.X, p1.Y, r1, p2.X, p2.Y, r2);
-			
+
 			if (mode == GradientColorMode.Color) {
 				gradient.AddColorStop (0, c1);
 				gradient.AddColorStop (1, c2);
 				g.Source = gradient;
 				g.Paint ();
-			}
-			else if (mode == GradientColorMode.Transparency) {
+			} else if (mode == GradientColorMode.Transparency) {
 				gradient.AddColorStop (0, new Color (0, 0, 0, 1));
 				gradient.AddColorStop (1, new Color (0, 0, 0, 0));
 				g.Source = new SurfacePattern (oldsurface);
 				g.Mask (gradient);
 			}
-			
+
 			g.Restore ();
 		}
 		#endregion
-		
+
 		public static double Distance (this PointD s, PointD e)
 		{
 			return Magnitude (new PointD (s.X - e.X, s.Y - e.Y));
 		}
-		
-		public static double Magnitude(this PointD p)
-        {
-            return Math.Sqrt(p.X * p.X + p.Y * p.Y);
-        }
+
+		public static double Magnitude (this PointD p)
+		{
+			return Math.Sqrt (p.X * p.X + p.Y * p.Y);
+		}
 
 		public static Cairo.Rectangle ToCairoRectangle (this Gdk.Rectangle r)
 		{
@@ -626,17 +623,17 @@ namespace Pinta.Core
 			double y = r.Y;
 			double w = r.Width;
 			double h = r.Height;
-			
+
 			if (x < 0) {
 				w -= x;
 				x = 0;
 			}
-			
+
 			if (y < 0) {
 				h -= y;
 				y = 0;
 			}
-			
+
 			return new Cairo.Rectangle (x, y, w, h);
 		}
 
@@ -660,12 +657,12 @@ namespace Pinta.Core
 		{
 			return ContainsPoint (r, point.X, point.Y);
 		}
-		
+
 		public unsafe static Gdk.Pixbuf ToPixbuf (this Cairo.ImageSurface surfSource)
 		{
 			Cairo.ImageSurface surf = surfSource.Clone ();
 			surf.Flush ();
-			
+
 			ColorBgra* dstPtr = (ColorBgra*)surf.DataPtr;
 			int len = surf.Data.Length / 4;
 
@@ -679,11 +676,11 @@ namespace Pinta.Core
 			(surf as IDisposable).Dispose ();
 			return pb;
 		}
-		
+
 		public unsafe static Color GetPixel (this Cairo.ImageSurface surf, int x, int y)
 		{
 			ColorBgra* dstPtr = (ColorBgra*)surf.DataPtr;
-			
+
 			dstPtr += (x) + (y * surf.Width);
 
 			return new Color (dstPtr->R / 255f, dstPtr->G / 255f, dstPtr->B / 255f, dstPtr->A / 255f);
@@ -731,6 +728,15 @@ namespace Pinta.Core
 			*dstPtr = color;
 		}
 
+		public unsafe static void SetColorBgra (this Cairo.ImageSurface surf, ColorBgra* surfDataPtr, int surfWidth, ColorBgra color, int x, int y)
+		{
+			ColorBgra* dstPtr = surfDataPtr;
+
+			dstPtr += (x) + (y * surfWidth);
+
+			*dstPtr = color;
+		}
+
 		public unsafe static ColorBgra GetColorBgra (this Cairo.ImageSurface surf, ColorBgra* surfDataPtr, int surfWidth, int x, int y)
 		{
 			ColorBgra* dstPtr = surfDataPtr;
@@ -763,11 +769,11 @@ namespace Pinta.Core
 
 			return c;
 		}
-		
+
 		public static Gdk.Color ToGdkColor (this ColorBgra color)
 		{
 			Gdk.Color c = new Gdk.Color (color.R, color.G, color.B);
-			
+
 			return c;
 		}
 
@@ -783,14 +789,14 @@ namespace Pinta.Core
 
 		public static uint ToUint (this Cairo.Color c)
 		{
-			return Pinta.Core.ColorBgra.BgraToUInt32( (int)(c.B * 255), (int)(c.R * 255), (int)(c.G * 255), (int)(c.A * 255));
+			return Pinta.Core.ColorBgra.BgraToUInt32 ((int)(c.B * 255), (int)(c.R * 255), (int)(c.G * 255), (int)(c.A * 255));
 		}
-		
+
 		public static Gdk.Size ToSize (this Cairo.Point point)
 		{
 			return new Gdk.Size (point.X, point.Y);
 		}
-		
+
 		public static ImageSurface Clone (this ImageSurface surf)
 		{
 			ImageSurface newsurf = new ImageSurface (surf.Format, surf.Width, surf.Height);
@@ -803,10 +809,30 @@ namespace Pinta.Core
 			return newsurf;
 		}
 
+		public static unsafe bool ContainsTranslucent (this ImageSurface surf)
+		{
+			bool ret = false;
+
+			ColorBgra* ptr = (ColorBgra*)surf.DataPtr;
+			int width = surf.Width;
+
+			for (int x = 0; x < width; x++)
+				for (int y = 0; y < surf.Height; y++) {
+					int a = (int)surf.GetColorBgra (ptr, width, x, y).A;
+
+					if (a > 0 && a < 255) {
+						Console.WriteLine (surf.GetColorBgra (ptr, width, x, y).ToString ());
+						ret = true;
+					}
+				}
+
+			return ret;
+		}
+
 		public static Path Clone (this Path path)
 		{
 			Path newpath;
-			
+
 			using (Context g = new Context (PintaCore.Layers.CurrentLayer.Surface)) {
 				g.AppendPath (path);
 				newpath = g.CopyPath ();
@@ -814,7 +840,15 @@ namespace Pinta.Core
 
 			return newpath;
 		}
-		
+
+		public static void Clear (this ImageSurface surface)
+		{
+			using (Context g = new Context (surface)) {
+				g.Operator = Operator.Clear;
+				g.Paint ();
+			}
+		}
+
 		public static Gdk.Rectangle GetBounds (this Path path)
 		{
 			Rectangle rect;
@@ -831,17 +865,17 @@ namespace Pinta.Core
 
 			return new Gdk.Rectangle ((int)rect.X, (int)rect.Y, (int)rect.Width - (int)rect.X, (int)rect.Height - (int)rect.Y);
 		}
-		
+
 		public static Gdk.Color ToGdkColor (this Cairo.Color color)
 		{
 			Gdk.Color c = new Gdk.Color ();
 			c.Blue = (ushort)(color.B * ushort.MaxValue);
 			c.Red = (ushort)(color.R * ushort.MaxValue);
 			c.Green = (ushort)(color.G * ushort.MaxValue);
-			
+
 			return c;
 		}
-		
+
 		public static ushort GdkColorAlpha (this Cairo.Color color)
 		{
 			return (ushort)(color.A * ushort.MaxValue);
@@ -857,24 +891,24 @@ namespace Pinta.Core
 			return rect.X + rect.Width;
 		}
 
-        /// <summary>
-        /// Determines if the requested pixel coordinate is within bounds.
-        /// </summary>
-        /// <param name="x">The x coordinate.</param>
-        /// <param name="y">The y coordinate.</param>
-        /// <returns>true if (x,y) is in bounds, false if it's not.</returns>
-        public static bool IsVisible(this ImageSurface surf, int x, int y)
-        {
-            return x >= 0 && x < surf.Width && y >= 0 && y < surf.Height;
-        }
+		/// <summary>
+		/// Determines if the requested pixel coordinate is within bounds.
+		/// </summary>
+		/// <param name="x">The x coordinate.</param>
+		/// <param name="y">The y coordinate.</param>
+		/// <returns>true if (x,y) is in bounds, false if it's not.</returns>
+		public static bool IsVisible (this ImageSurface surf, int x, int y)
+		{
+			return x >= 0 && x < surf.Width && y >= 0 && y < surf.Height;
+		}
+
 
-		
 		public static unsafe ColorBgra* GetPointAddressUnchecked (this ImageSurface surf, int x, int y)
 		{
 			ColorBgra* dstPtr = (ColorBgra*)surf.DataPtr;
 
 			dstPtr += (x) + (y * surf.Width);
-			
+
 			return dstPtr;
 		}
 
@@ -927,7 +961,7 @@ namespace Pinta.Core
 			return dstPtr;
 		}
 
-		public static unsafe ColorBgra *GetPointAddress (this ImageSurface surf, int x, int y)
+		public static unsafe ColorBgra* GetPointAddress (this ImageSurface surf, int x, int y)
 		{
 			if (x < 0 || x >= surf.Width)
 				throw new ArgumentOutOfRangeException ("x", "Out of bounds: x=" + x.ToString ());
@@ -978,9 +1012,8 @@ namespace Pinta.Core
 
 		public static unsafe ColorBgra GetBilinearSample (this ImageSurface src, ColorBgra* srcDataPtr, int srcWidth, int srcHeight, float x, float y)
 		{
-			if (!Utility.IsNumber (x) || !Utility.IsNumber (y)) {
+			if (!Utility.IsNumber (x) || !Utility.IsNumber (y))
 				return ColorBgra.Transparent;
-			}
 
 			float u = x;
 			float v = y;
@@ -1005,20 +1038,18 @@ namespace Pinta.Core
 					int sleft = sx;
 					int sright;
 
-					if (sleft == (srcWidth - 1)) {
+					if (sleft == (srcWidth - 1))
 						sright = sleft;
-					} else {
+					else
 						sright = sleft + 1;
-					}
 
 					int stop = sy;
 					int sbottom;
 
-					if (stop == (srcHeight - 1)) {
+					if (stop == (srcHeight - 1))
 						sbottom = stop;
-					} else {
+					else
 						sbottom = stop + 1;
-					}
 
 					ColorBgra* cul = src.GetPointAddressUnchecked (srcDataPtr, srcWidth, sleft, stop);
 					ColorBgra* cur = cul + (sright - sleft);
@@ -1039,83 +1070,64 @@ namespace Pinta.Core
 		}
 
 		public static unsafe ColorBgra GetBilinearSampleClamped (this ImageSurface src, ColorBgra* srcDataPtr, int srcWidth, int srcHeight, float x, float y)
-        {
-            if (!Utility.IsNumber (x) || !Utility.IsNumber (y))
-            {
-                return ColorBgra.Transparent;
-            }
-
-            float u = x;
-            float v = y;
-
-            if (u < 0)
-            {
-                u = 0;
-            }
-            else if (u > srcWidth - 1)
-            {
-                u = srcWidth - 1;
-            }
-
-            if (v < 0)
-            {
-                v = 0;
-            }
-            else if (v > srcHeight - 1)
-            {
-                v = srcHeight - 1;
-            }
-
-            unchecked
-            {
-                int iu = (int)Math.Floor(u);
-                uint sxfrac = (uint)(256 * (u - (float)iu));
-                uint sxfracinv = 256 - sxfrac;
-
-                int iv = (int)Math.Floor(v);
-                uint syfrac = (uint)(256 * (v - (float)iv));
-                uint syfracinv = 256 - syfrac;
-
-                uint wul = (uint)(sxfracinv * syfracinv);
-                uint wur = (uint)(sxfrac * syfracinv);
-                uint wll = (uint)(sxfracinv * syfrac);
-                uint wlr = (uint)(sxfrac * syfrac);
-
-                int sx = iu;
-                int sy = iv;
-                int sleft = sx;
-                int sright;
-
-                if (sleft == (srcWidth - 1))
-                {
-                    sright = sleft;
-                }
-                else
-                {
-                    sright = sleft + 1;
-                }
-
-                int stop = sy;
-                int sbottom;
-
-                if (stop == (srcHeight - 1))
-                {
-                    sbottom = stop;
-                }
-                else
-                {
-                    sbottom = stop + 1;
-                }
-                               
-                ColorBgra *cul = src.GetPointAddressUnchecked (srcDataPtr, srcWidth, sleft, stop);
-                ColorBgra *cur = cul + (sright - sleft);
-                ColorBgra *cll = src.GetPointAddressUnchecked (srcDataPtr, srcWidth, sleft, sbottom);
-                ColorBgra *clr = cll + (sright - sleft);
-
-                ColorBgra c = ColorBgra.BlendColors4W16IP (*cul, wul, *cur, wur, *cll, wll, *clr, wlr);
-                return c;
-            }
-        }
+		{
+			if (!Utility.IsNumber (x) || !Utility.IsNumber (y))
+				return ColorBgra.Transparent;
+
+			float u = x;
+			float v = y;
+
+			if (u < 0)
+				u = 0;
+			else if (u > srcWidth - 1)
+				u = srcWidth - 1;
+
+			if (v < 0)
+				v = 0;
+			else if (v > srcHeight - 1)
+				v = srcHeight - 1;
+
+			unchecked {
+				int iu = (int)Math.Floor (u);
+				uint sxfrac = (uint)(256 * (u - (float)iu));
+				uint sxfracinv = 256 - sxfrac;
+
+				int iv = (int)Math.Floor (v);
+				uint syfrac = (uint)(256 * (v - (float)iv));
+				uint syfracinv = 256 - syfrac;
+
+				uint wul = (uint)(sxfracinv * syfracinv);
+				uint wur = (uint)(sxfrac * syfracinv);
+				uint wll = (uint)(sxfracinv * syfrac);
+				uint wlr = (uint)(sxfrac * syfrac);
+
+				int sx = iu;
+				int sy = iv;
+				int sleft = sx;
+				int sright;
+
+				if (sleft == (srcWidth - 1))
+					sright = sleft;
+				else
+					sright = sleft + 1;
+
+				int stop = sy;
+				int sbottom;
+
+				if (stop == (srcHeight - 1))
+					sbottom = stop;
+				else
+					sbottom = stop + 1;
+
+				ColorBgra* cul = src.GetPointAddressUnchecked (srcDataPtr, srcWidth, sleft, stop);
+				ColorBgra* cur = cul + (sright - sleft);
+				ColorBgra* cll = src.GetPointAddressUnchecked (srcDataPtr, srcWidth, sleft, sbottom);
+				ColorBgra* clr = cll + (sright - sleft);
+
+				ColorBgra c = ColorBgra.BlendColors4W16IP (*cul, wul, *cur, wur, *cll, wll, *clr, wlr);
+				return c;
+			}
+		}
 
 		public static unsafe ColorBgra GetBilinearSampleWrapped (this ImageSurface src, float x, float y)
 		{
@@ -1123,325 +1135,268 @@ namespace Pinta.Core
 		}
 
 		public static unsafe ColorBgra GetBilinearSampleWrapped (this ImageSurface src, ColorBgra* srcDataPtr, int srcWidth, int srcHeight, float x, float y)
-        {
-            if (!Utility.IsNumber(x) || !Utility.IsNumber(y))
-            {
-                return ColorBgra.Transparent;
-            }
-
-            float u = x;
-            float v = y;
-
-            unchecked
-            {
-                int iu = (int)Math.Floor(u);
-                uint sxfrac = (uint)(256 * (u - (float)iu));
-                uint sxfracinv = 256 - sxfrac;
-
-                int iv = (int)Math.Floor(v);
-                uint syfrac = (uint)(256 * (v - (float)iv));
-                uint syfracinv = 256 - syfrac;
-
-                uint wul = (uint)(sxfracinv * syfracinv);
-                uint wur = (uint)(sxfrac * syfracinv);
-                uint wll = (uint)(sxfracinv * syfrac);
-                uint wlr = (uint)(sxfrac * syfrac);
-
-                int sx = iu;
-                if (sx < 0)
-                {
-                    sx = (srcWidth - 1) + ((sx + 1) % srcWidth);
-                }
-                else if (sx > (srcWidth - 1))
-                {
-                    sx = sx % srcWidth;
-                }
-
-                int sy = iv;
-                if (sy < 0)
-                {
-                    sy = (srcHeight - 1) + ((sy + 1) % srcHeight);
-                }
-                else if (sy > (srcHeight - 1))
-                {
-                    sy = sy % srcHeight;
-                }
-
-                int sleft = sx;
-                int sright;
-
-                if (sleft == (srcWidth - 1))
-                {
-                    sright = 0;
-                }
-                else
-                {
-                    sright = sleft + 1;
-                }
-
-                int stop = sy;
-                int sbottom;
-
-                if (stop == (srcHeight - 1))
-                {
-                    sbottom = 0;
-                }
-                else
-                {
-                    sbottom = stop + 1;
-                }
-                               
-                ColorBgra cul = src.GetPointUnchecked (srcDataPtr, srcWidth, sleft, stop);
-                ColorBgra cur = src.GetPointUnchecked (srcDataPtr, srcWidth, sright, stop);
-                ColorBgra cll = src.GetPointUnchecked (srcDataPtr, srcWidth, sleft, sbottom);
-                ColorBgra clr = src.GetPointUnchecked (srcDataPtr, srcWidth, sright, sbottom);
-
-                ColorBgra c = ColorBgra.BlendColors4W16IP (cul, wul, cur, wur, cll, wll, clr, wlr);
-
-                return c;
-            }
-        }
-
-
-		
-		private struct Edge
-        {
-            public int miny;   // int
-            public int maxy;   // int
-            public int x;      // fixed point: 24.8
-            public int dxdy;   // fixed point: 24.8
-
-            public Edge(int miny, int maxy, int x, int dxdy)
-            {
-                this.miny = miny;
-                this.maxy = maxy;
-                this.x = x;
-                this.dxdy = dxdy;
-            }
-        }
-		
+		{
+			if (!Utility.IsNumber (x) || !Utility.IsNumber (y))
+				return ColorBgra.Transparent;
+
+			float u = x;
+			float v = y;
+
+			unchecked {
+				int iu = (int)Math.Floor (u);
+				uint sxfrac = (uint)(256 * (u - (float)iu));
+				uint sxfracinv = 256 - sxfrac;
+
+				int iv = (int)Math.Floor (v);
+				uint syfrac = (uint)(256 * (v - (float)iv));
+				uint syfracinv = 256 - syfrac;
+
+				uint wul = (uint)(sxfracinv * syfracinv);
+				uint wur = (uint)(sxfrac * syfracinv);
+				uint wll = (uint)(sxfracinv * syfrac);
+				uint wlr = (uint)(sxfrac * syfrac);
+
+				int sx = iu;
+				if (sx < 0)
+					sx = (srcWidth - 1) + ((sx + 1) % srcWidth);
+				else if (sx > (srcWidth - 1))
+					sx = sx % srcWidth;
+
+				int sy = iv;
+				if (sy < 0)
+					sy = (srcHeight - 1) + ((sy + 1) % srcHeight);
+				else if (sy > (srcHeight - 1))
+					sy = sy % srcHeight;
+
+				int sleft = sx;
+				int sright;
+
+				if (sleft == (srcWidth - 1))
+					sright = 0;
+				else
+					sright = sleft + 1;
+
+				int stop = sy;
+				int sbottom;
+
+				if (stop == (srcHeight - 1))
+					sbottom = 0;
+				else
+					sbottom = stop + 1;
+
+				ColorBgra cul = src.GetPointUnchecked (srcDataPtr, srcWidth, sleft, stop);
+				ColorBgra cur = src.GetPointUnchecked (srcDataPtr, srcWidth, sright, stop);
+				ColorBgra cll = src.GetPointUnchecked (srcDataPtr, srcWidth, sleft, sbottom);
+				ColorBgra clr = src.GetPointUnchecked (srcDataPtr, srcWidth, sright, sbottom);
+
+				ColorBgra c = ColorBgra.BlendColors4W16IP (cul, wul, cur, wur, cll, wll, clr, wlr);
+
+				return c;
+			}
+		}
+
 		public static void TranslatePointsInPlace (this Point[] Points, int dx, int dy)
 		{
-			for (int i = 0; i < Points.Length; ++i)
-            {
-                Points[i].X += dx;
-                Points[i].Y += dy;
-            }
+			for (int i = 0; i < Points.Length; ++i) {
+				Points[i].X += dx;
+				Points[i].Y += dy;
+			}
 		}
-		
+
+		private struct Edge
+		{
+			public int miny;   // int
+			public int maxy;   // int
+			public int x;      // fixed point: 24.8
+			public int dxdy;   // fixed point: 24.8
+
+			public Edge (int miny, int maxy, int x, int dxdy)
+			{
+				this.miny = miny;
+				this.maxy = maxy;
+				this.x = x;
+				this.dxdy = dxdy;
+			}
+		}
+
 		public static Scanline[] GetScans (this Point[] points)
 		{
-            int ymax = 0;
-
-            // Build edge table
-            Edge[] edgeTable = new Edge[points.Length];
-            int edgeCount = 0;
-
-            for (int i = 0; i < points.Length; ++i)
-            {
-                Point top = points[i];
-                Point bottom = points[(i + 1) % points.Length];
-                int dy;
-
-                if (top.Y > bottom.Y)
-                {
-                    Point temp = top;
-                    top = bottom;
-                    bottom = temp;
-                }
-                
-                dy = bottom.Y - top.Y;
-
-                if (dy != 0)
-                {
-                    edgeTable[edgeCount] = new Edge(top.Y, bottom.Y, top.X << 8, (((bottom.X - top.X) << 8) / dy));
-                    ymax = Math.Max(ymax, bottom.Y);
-                    ++edgeCount;
-                }
-            }
-
-            // Sort edge table by miny
-            for (int i = 0; i < edgeCount - 1; ++i)
-            {
-                int min = i;
-
-                for (int j = i + 1; j < edgeCount; ++j)
-                {
-                    if (edgeTable[j].miny < edgeTable[min].miny)
-                    {
-                        min = j;
-                    }
-                }
-
-                if (min != i)
-                {
-                    Edge temp = edgeTable[min];
-                    edgeTable[min] = edgeTable[i];
-                    edgeTable[i] = temp;
-                }
-            }
-
-            // Compute how many scanlines we will be emitting
-            int scanCount = 0;
-            int activeLow = 0;
-            int activeHigh = 0;
-            int yscan1 = edgeTable[0].miny;
-
-            // we assume that edgeTable[0].miny == yscan
-            while (activeHigh < edgeCount - 1 && 
-                   edgeTable[activeHigh + 1].miny == yscan1)
-            {
-                ++activeHigh;
-            }
-
-            while (yscan1 <= ymax)
-            {
-                // Find new edges where yscan == miny
-                while (activeHigh < edgeCount - 1 &&
-                       edgeTable[activeHigh + 1].miny == yscan1)
-                {
-                    ++activeHigh;
-                }
-
-                int count = 0;
-                for (int i = activeLow; i <= activeHigh; ++i)
-                {
-                    if (edgeTable[i].maxy > yscan1)
-                    {
-                        ++count;
-                    }
-                }
-
-                scanCount += count / 2;
-                ++yscan1;
-
-                // Remove edges where yscan == maxy
-                while (activeLow < edgeCount - 1 &&
-                       edgeTable[activeLow].maxy <= yscan1)
-                {
-                    ++activeLow;
-                }
-
-                if (activeLow > activeHigh)
-                {
-                    activeHigh = activeLow;
-                }
-            }
-
-            // Allocate scanlines that we'll return
-            Scanline[] scans = new Scanline[scanCount];
-
-            // Active Edge Table (AET): it is indices into the Edge Table (ET)
-            int[] active = new int[edgeCount];
-            int activeCount = 0;
-            int yscan2 = edgeTable[0].miny;
-            int scansIndex = 0;
-            
-            // Repeat until both the ET and AET are empty
-            while (yscan2 <= ymax)
-            {
-                // Move any edges from the ET to the AET where yscan == miny
-                for (int i = 0; i < edgeCount; ++i)
-                {
-                    if (edgeTable[i].miny == yscan2)
-                    {
-                        active[activeCount] = i;
-                        ++activeCount;
-                    }
-                }
-
-                // Sort the AET on x
-                for (int i = 0; i < activeCount - 1; ++i)
-                {
-                    int min = i;
-
-                    for (int j = i + 1; j < activeCount; ++j)
-                    {
-                        if (edgeTable[active[j]].x < edgeTable[active[min]].x)
-                        {
-                            min = j;
-                        }
-                    }
-
-                    if (min != i)
-                    {
-                        int temp = active[min];
-                        active[min] = active[i];
-                        active[i] = temp;
-                    }
-                }
-
-                // For each pair of entries in the AET, fill in pixels between their info
-                for (int i = 0; i < activeCount; i += 2)
-                {
-                    Edge el = edgeTable[active[i]];
-                    Edge er = edgeTable[active[i + 1]];
-                    int startx = (el.x + 0xff) >> 8; // ceil(x)
-                    int endx = er.x >> 8;      // floor(x)
-
-                    scans[scansIndex] = new Scanline(startx, yscan2, endx - startx);
-                    ++scansIndex;
-                }
-
-                ++yscan2;
-
-                // Remove from the AET any edge where yscan == maxy
-                int k = 0;
-                while (k < activeCount && activeCount > 0)
-                {
-                    if (edgeTable[active[k]].maxy == yscan2)
-                    {
-                        // remove by shifting everything down one
-                        for (int j =  k + 1; j < activeCount; ++j)
-                        {
-                            active[j - 1] = active[j];
-                        }
-
-                        --activeCount;
-                    }
-                    else
-                    {
-                        ++k;
-                    }
-                }
-
-                // Update x for each entry in AET
-                for (int i = 0; i < activeCount; ++i)
-                {
-                    edgeTable[active[i]].x += edgeTable[active[i]].dxdy;
-                }
-            }
-
-            return scans;
-		}
-		
+			int ymax = 0;
+
+			// Build edge table
+			Edge[] edgeTable = new Edge[points.Length];
+			int edgeCount = 0;
+
+			for (int i = 0; i < points.Length; ++i) {
+				Point top = points[i];
+				Point bottom = points[(i + 1) % points.Length];
+				int dy;
+
+				if (top.Y > bottom.Y) {
+					Point temp = top;
+					top = bottom;
+					bottom = temp;
+				}
+
+				dy = bottom.Y - top.Y;
+
+				if (dy != 0) {
+					edgeTable[edgeCount] = new Edge (top.Y, bottom.Y, top.X << 8, (((bottom.X - top.X) << 8) / dy));
+					ymax = Math.Max (ymax, bottom.Y);
+					++edgeCount;
+				}
+			}
+
+			// Sort edge table by miny
+			for (int i = 0; i < edgeCount - 1; ++i) {
+				int min = i;
+
+				for (int j = i + 1; j < edgeCount; ++j)
+					if (edgeTable[j].miny < edgeTable[min].miny)
+						min = j;
+
+				if (min != i) {
+					Edge temp = edgeTable[min];
+					edgeTable[min] = edgeTable[i];
+					edgeTable[i] = temp;
+				}
+			}
+
+			// Compute how many scanlines we will be emitting
+			int scanCount = 0;
+			int activeLow = 0;
+			int activeHigh = 0;
+			int yscan1 = edgeTable[0].miny;
+
+			// we assume that edgeTable[0].miny == yscan
+			while (activeHigh < edgeCount - 1 &&
+			       edgeTable[activeHigh + 1].miny == yscan1) {
+				++activeHigh;
+			}
+
+			while (yscan1 <= ymax) {
+				// Find new edges where yscan == miny
+				while (activeHigh < edgeCount - 1 &&
+				       edgeTable[activeHigh + 1].miny == yscan1) {
+					++activeHigh;
+				}
+
+				int count = 0;
+				for (int i = activeLow; i <= activeHigh; ++i) {
+					if (edgeTable[i].maxy > yscan1) {
+						++count;
+					}
+				}
+
+				scanCount += count / 2;
+				++yscan1;
+
+				// Remove edges where yscan == maxy
+				while (activeLow < edgeCount - 1 &&
+				       edgeTable[activeLow].maxy <= yscan1) {
+					++activeLow;
+				}
+
+				if (activeLow > activeHigh)
+					activeHigh = activeLow;
+			}
+
+			// Allocate scanlines that we'll return
+			Scanline[] scans = new Scanline[scanCount];
+
+			// Active Edge Table (AET): it is indices into the Edge Table (ET)
+			int[] active = new int[edgeCount];
+			int activeCount = 0;
+			int yscan2 = edgeTable[0].miny;
+			int scansIndex = 0;
+
+			// Repeat until both the ET and AET are empty
+			while (yscan2 <= ymax) {
+				// Move any edges from the ET to the AET where yscan == miny
+				for (int i = 0; i < edgeCount; ++i) {
+					if (edgeTable[i].miny == yscan2) {
+						active[activeCount] = i;
+						++activeCount;
+					}
+				}
+
+				// Sort the AET on x
+				for (int i = 0; i < activeCount - 1; ++i) {
+					int min = i;
+
+					for (int j = i + 1; j < activeCount; ++j)
+						if (edgeTable[active[j]].x < edgeTable[active[min]].x)
+							min = j;
+
+					if (min != i) {
+						int temp = active[min];
+						active[min] = active[i];
+						active[i] = temp;
+					}
+				}
+
+				// For each pair of entries in the AET, fill in pixels between their info
+				for (int i = 0; i < activeCount; i += 2) {
+					Edge el = edgeTable[active[i]];
+					Edge er = edgeTable[active[i + 1]];
+					int startx = (el.x + 0xff) >> 8; // ceil(x)
+					int endx = er.x >> 8;      // floor(x)
+
+					scans[scansIndex] = new Scanline (startx, yscan2, endx - startx);
+					++scansIndex;
+				}
+
+				++yscan2;
+
+				// Remove from the AET any edge where yscan == maxy
+				int k = 0;
+				while (k < activeCount && activeCount > 0) {
+					if (edgeTable[active[k]].maxy == yscan2) {
+						// remove by shifting everything down one
+						for (int j = k + 1; j < activeCount; ++j)
+							active[j - 1] = active[j];
+
+						--activeCount;
+					} else {
+						++k;
+					}
+				}
+
+				// Update x for each entry in AET
+				for (int i = 0; i < activeCount; ++i)
+					edgeTable[active[i]].x += edgeTable[active[i]].dxdy;
+			}
+
+			return scans;
+		}
+
 		public static Path CreatePolygonPath (this Context g, Point[][] polygonSet)
 		{
 			g.Save ();
 			Point p;
-			for (int i =0; i < polygonSet.Length; i++)
-			{
+
+			for (int i = 0; i < polygonSet.Length; i++) {
 				if (polygonSet[i].Length == 0)
 					continue;
-				
+
 				p = polygonSet[i][0];
 				g.MoveTo (p.X, p.Y);
-				
-				for (int j =1; j < polygonSet[i].Length; j++)
-				{
+
+				for (int j = 1; j < polygonSet[i].Length; j++) {
 					p = polygonSet[i][j];
-					g.LineTo (p.X, p.Y);	
+					g.LineTo (p.X, p.Y);
 				}
+
 				g.ClosePath ();
 			}
-			
+
 			Path path = g.CopyPath ();
-			
+
 			g.Restore ();
-			
+
 			return path;
 		}
-		
+
 		public static Gdk.Point ToGdkPoint (this PointD point)
 		{
 			return new Gdk.Point ((int)point.X, (int)point.Y);
diff --git a/Pinta.Core/Extensions/GtkExtensions.cs b/Pinta.Core/Extensions/GtkExtensions.cs
index bdaa331..191d5b6 100644
--- a/Pinta.Core/Extensions/GtkExtensions.cs
+++ b/Pinta.Core/Extensions/GtkExtensions.cs
@@ -65,7 +65,14 @@ namespace Pinta.Core
 			menu.AppendItem ((MenuItem)action.CreateMenuItem ());
 			return action;
 		}
-		
+
+		public static Gtk.ToggleAction AppendToggleAction (this Menu menu, string actionName, string actionLabel, string actionTooltip, string actionIcon)
+		{
+			Gtk.ToggleAction action = new Gtk.ToggleAction (actionName, actionLabel, actionTooltip, actionIcon);
+			menu.AppendItem ((MenuItem)action.CreateMenuItem ());
+			return action;
+		}
+
 		public static Gtk.ToolItem CreateToolBarItem (this Gtk.Action action)
 		{
 			Gtk.ToolItem item = (Gtk.ToolItem)action.CreateToolItem ();
diff --git a/Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs b/Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs
index 941a1d8..fbfb4a1 100644
--- a/Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs
+++ b/Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs
@@ -61,7 +61,7 @@ namespace Pinta.Core
 			old_selection_layer = swap_sel;
 
 			PintaCore.Workspace.Invalidate ();
-			PintaCore.Tools.SetCurrentTool ("Move Selected Pixels");
+			PintaCore.Tools.SetCurrentTool (Catalog.GetString ("Move Selected Pixels"));
 		}
 
 		public override void Redo ()
diff --git a/Pinta.Core/HistoryItems/MovePixelsHistoryItem.cs b/Pinta.Core/HistoryItems/MovePixelsHistoryItem.cs
index b52fcb1..bfa5752 100644
--- a/Pinta.Core/HistoryItems/MovePixelsHistoryItem.cs
+++ b/Pinta.Core/HistoryItems/MovePixelsHistoryItem.cs
@@ -31,11 +31,22 @@ namespace Pinta.Core
 {
 	public class MovePixelsHistoryItem : BaseHistoryItem
 	{
+		// There's 2 types of move pixel operations to handle
+		// - The first move "lifts" the selection up into a temporary layer
+		//   and then moves it to the new spot
+		// - Subsequent moves only move the selection
+		//   around the temporary layer
+		private Document doc;
 		private Path old_path;
 		private PointD old_offset;
+		private ImageSurface old_surface;
+		private int layer_index;
+		private bool lifted;		// Whether this item has lift
+		private bool is_lifted;		// Track state of undo/redo lift
 
-		public MovePixelsHistoryItem (string icon, string text) : base (icon, text)
+		public MovePixelsHistoryItem (string icon, string text, Document document) : base (icon, text)
 		{
+			doc = document;
 		}
 
 		public override void Undo ()
@@ -52,6 +63,8 @@ namespace Pinta.Core
 		{
 			if (old_path != null)
 				(old_path as IDisposable).Dispose ();
+			if (old_surface != null)
+				(old_surface as IDisposable).Dispose ();
 		}
 
 		private void Swap ()
@@ -64,12 +77,34 @@ namespace Pinta.Core
 
 			old_path = swap_path;
 			old_offset = swap_offset;
-			
+
+			if (lifted) {
+				// Grab the original surface
+				ImageSurface surf = PintaCore.Layers[layer_index].Surface;
+
+				// Undo to the "old" surface
+				PintaCore.Layers[layer_index].Surface = old_surface;
+
+				// Store the original surface for Redo
+				old_surface = surf;
+
+				is_lifted = !is_lifted;
+				doc.ShowSelectionLayer = is_lifted;
+			}
+
 			PintaCore.Workspace.Invalidate ();
 		}
 		
-		public void TakeSnapshot ()
+		public void TakeSnapshot (bool lift)
 		{
+			lifted = lift;
+			is_lifted = true;
+
+			if (lift) {
+				layer_index = doc.CurrentLayerIndex;
+				old_surface = doc.CurrentLayer.Surface.Clone ();
+			}
+				
 			old_path = PintaCore.Layers.SelectionPath.Clone ();
 			old_offset = PintaCore.Layers.SelectionLayer.Offset;
 		}
diff --git a/Pinta.Core/HistoryItems/SelectionHistoryItem.cs b/Pinta.Core/HistoryItems/PasteHistoryItem.cs
similarity index 51%
copy from Pinta.Core/HistoryItems/SelectionHistoryItem.cs
copy to Pinta.Core/HistoryItems/PasteHistoryItem.cs
index b3a98ad..91fe431 100644
--- a/Pinta.Core/HistoryItems/SelectionHistoryItem.cs
+++ b/Pinta.Core/HistoryItems/PasteHistoryItem.cs
@@ -1,5 +1,5 @@
 // 
-// SelectionHistoryItem.cs
+// PasteHistoryItem.cs
 //  
 // Author:
 //       Jonathan Pobst <monkey at jpobst.com>
@@ -26,54 +26,78 @@
 
 using System;
 using Cairo;
+using Mono.Unix;
+using Gtk;
 
 namespace Pinta.Core
 {
-	public class SelectionHistoryItem : BaseHistoryItem
+	public class PasteHistoryItem : BaseHistoryItem
 	{
+		private Gdk.Pixbuf paste_image;
 		private Path old_path;
-		private bool show_selection;
+		private bool old_show_selection;
 
-		public override bool CausesDirty { get { return false; } }
+		public override bool CausesDirty { get { return true; } }
 
-		public SelectionHistoryItem (string icon, string text) : base (icon, text)
+		public PasteHistoryItem (Gdk.Pixbuf pasteImage, Path oldPath, bool oldShowSelection)
 		{
+			Text = Catalog.GetString ("Paste");
+			Icon = Stock.Paste;
+
+			paste_image = pasteImage;
+			old_path = oldPath;
+			old_show_selection = oldShowSelection;
 		}
 
-		public override void Undo ()
+		public override void Redo ()
 		{
+			Document doc = PintaCore.Workspace.ActiveDocument;
+
+			// Copy the paste to the temp layer
+			doc.CreateSelectionLayer ();
+			doc.ShowSelectionLayer = true;
+
+			Path p;
+
+			using (Cairo.Context g = new Cairo.Context (doc.SelectionLayer.Surface)) {
+				g.DrawPixbuf (paste_image, new Cairo.Point (0, 0));
+				p = g.CreateRectanglePath (new Rectangle (0, 0, paste_image.Width, paste_image.Height));
+			}
+
 			Swap ();
+
+			PintaCore.Workspace.Invalidate ();
+			PintaCore.Tools.SetCurrentTool (Catalog.GetString ("Move Selected Pixels"));
 		}
 
-		public override void Redo ()
+		public override void Undo ()
 		{
 			Swap ();
+
+			PintaCore.Layers.DestroySelectionLayer ();
+			PintaCore.Workspace.Invalidate ();
 		}
 
 		public override void Dispose ()
 		{
-			if (old_path != null)
-				(old_path as IDisposable).Dispose ();
+			if (paste_image != null)
+				(paste_image as IDisposable).Dispose ();
 		}
 
 		private void Swap ()
 		{
-			Path swap_path = PintaCore.Layers.SelectionPath;
-			bool swap_show = PintaCore.Layers.ShowSelection;
+			// Swap the selection paths, and whether the
+			// selection path should be visible
+			Document doc = PintaCore.Workspace.ActiveDocument;
 
-			PintaCore.Layers.SelectionPath = old_path;
-			PintaCore.Layers.ShowSelection = show_selection;
+			Path swap_path = doc.SelectionPath;
+			bool swap_show_sel = doc.ShowSelection;
+
+			doc.SelectionPath = old_path;
+			doc.ShowSelection = old_show_selection;
 
 			old_path = swap_path;
-			show_selection = swap_show;
-			
-			PintaCore.Workspace.Invalidate ();
-		}
-		
-		public void TakeSnapshot ()
-		{
-			old_path = PintaCore.Layers.SelectionPath.Clone ();
-			show_selection = PintaCore.Layers.ShowSelection;
+			old_show_selection = swap_show_sel;
 		}
 	}
 }
diff --git a/Pinta.Core/HistoryItems/SimpleHistoryItem.cs b/Pinta.Core/HistoryItems/SimpleHistoryItem.cs
index 579c264..eadb13c 100644
--- a/Pinta.Core/HistoryItems/SimpleHistoryItem.cs
+++ b/Pinta.Core/HistoryItems/SimpleHistoryItem.cs
@@ -46,20 +46,16 @@ namespace Pinta.Core
 
 		public override void Undo ()
 		{
-			// Grab the original surface
-			ImageSurface surf = PintaCore.Layers[layer_index].Surface;
-			
-			// Undo to the "old" surface
-			PintaCore.Layers[layer_index].Surface = old_surface;
-			
-			// Store the original surface for Redo
-			old_surface = surf;
-			
-			PintaCore.Workspace.Invalidate ();
+			Swap ();
 		}
 
 		public override void Redo ()
 		{
+			Swap ();
+		}
+
+		private void Swap ()
+		{
 			// Grab the original surface
 			ImageSurface surf = PintaCore.Layers[layer_index].Surface;
 
@@ -86,7 +82,7 @@ namespace Pinta.Core
 
 		public void TakeSnapshotOfLayer (Layer layer)
 		{
-			layer_index = PintaCore.Layers.IndexOf (layer);;
+			layer_index = PintaCore.Layers.IndexOf (layer);
 			old_surface = layer.Surface.Clone ();
 		}
 	}
diff --git a/Pinta.Core/ImageFormats/GdkPixbufFormat.cs b/Pinta.Core/ImageFormats/GdkPixbufFormat.cs
index 7a89b43..f3ce7ea 100644
--- a/Pinta.Core/ImageFormats/GdkPixbufFormat.cs
+++ b/Pinta.Core/ImageFormats/GdkPixbufFormat.cs
@@ -40,17 +40,20 @@ namespace Pinta.Core
 			this.filetype = filetype;
 		}
 	
-		public void Import (LayerManager layers, string fileName)
+		public void Import (string fileName)
 		{
+			// Handle any EXIF orientation flags
 			Pixbuf bg = new Pixbuf (fileName);
+			bg = bg.ApplyEmbeddedOrientation ();
+
 			Size imagesize = new Size (bg.Width, bg.Height);
 
-			PintaCore.Workspace.CreateAndActivateDocument (fileName, imagesize);
-			PintaCore.Workspace.ActiveDocument.HasFile = true;
-			PintaCore.Workspace.ActiveDocument.ImageSize = imagesize;
-			PintaCore.Workspace.ActiveWorkspace.CanvasSize = imagesize;
+			Document doc = PintaCore.Workspace.CreateAndActivateDocument (fileName, imagesize);
+			doc.HasFile = true;
+			doc.ImageSize = imagesize;
+			doc.Workspace.CanvasSize = imagesize;
 
-			Layer layer = layers.AddNewLayer (Path.GetFileName (fileName));
+			Layer layer = doc.AddNewLayer (Path.GetFileName (fileName));
 
 			using (Cairo.Context g = new Cairo.Context (layer.Surface)) {
 				CairoHelper.SetSourcePixbuf (g, bg, 0, 0);
@@ -64,10 +67,10 @@ namespace Pinta.Core
 		{
 			pb.Save (fileName, fileType);
 		}
-		
-		public void Export (LayerManager layers, string fileName)
+
+		public void Export (Document document, string fileName)
 		{
-			Cairo.ImageSurface surf = layers.GetFlattenedImage ();
+			Cairo.ImageSurface surf = document.GetFlattenedImage ();
 	
 			Pixbuf pb = surf.ToPixbuf ();
 			DoSave(pb, fileName, filetype);
diff --git a/Pinta.Core/ImageFormats/IImageExporter.cs b/Pinta.Core/ImageFormats/IImageExporter.cs
index 28c129d..37b76ff 100644
--- a/Pinta.Core/ImageFormats/IImageExporter.cs
+++ b/Pinta.Core/ImageFormats/IImageExporter.cs
@@ -30,6 +30,6 @@ namespace Pinta.Core
 {
 	public interface IImageExporter
 	{
-		void Export (LayerManager layers, string fileName);
+		void Export (Document document, string fileName);
 	}
 }
diff --git a/Pinta.Core/ImageFormats/IImageImporter.cs b/Pinta.Core/ImageFormats/IImageImporter.cs
index 731bfc8..405e9f3 100644
--- a/Pinta.Core/ImageFormats/IImageImporter.cs
+++ b/Pinta.Core/ImageFormats/IImageImporter.cs
@@ -30,6 +30,6 @@ namespace Pinta.Core
 {
 	public interface IImageImporter
 	{
-		void Import (LayerManager layers, string fileName);
+		void Import (string fileName);
 	}
 }
diff --git a/Pinta.Core/ImageFormats/OraFormat.cs b/Pinta.Core/ImageFormats/OraFormat.cs
index e671c8f..704eac8 100644
--- a/Pinta.Core/ImageFormats/OraFormat.cs
+++ b/Pinta.Core/ImageFormats/OraFormat.cs
@@ -33,6 +33,7 @@ using Gdk;
 using Cairo;
 
 using ICSharpCode.SharpZipLib.Zip;
+using System.Collections.Generic;
 
 namespace Pinta.Core
 {
@@ -40,7 +41,7 @@ namespace Pinta.Core
 	{
 		private const int ThumbMaxSize = 256;
 		
-		public void Import (LayerManager layers, string fileName) {
+		public void Import (string fileName) {
 			ZipFile file = new ZipFile (fileName);
 			XmlDocument stackXml = new XmlDocument ();
 			stackXml.Load (file.GetInputStream (file.GetEntry ("stack.xml")));
@@ -48,6 +49,11 @@ namespace Pinta.Core
 			XmlElement imageElement = stackXml.DocumentElement;
 			int width = int.Parse (imageElement.GetAttribute ("w"));
 			int height = int.Parse (imageElement.GetAttribute ("h"));
+
+			Size imagesize = new Size (width, height);
+
+			Document doc = PintaCore.Workspace.CreateAndActivateDocument (fileName, imagesize);
+			doc.HasFile = true;
 			
 			XmlElement stackElement = (XmlElement) stackXml.GetElementsByTagName ("stack")[0];
 			XmlNodeList layerElements = stackElement.GetElementsByTagName ("layer");
@@ -55,11 +61,8 @@ namespace Pinta.Core
 			if (layerElements.Count == 0)
 				throw new XmlException ("No layers found in OpenRaster file");
 
-			layers.Clear ();
-			PintaCore.History.Clear ();
-			layers.DestroySelectionLayer ();
-			PintaCore.Workspace.ImageSize = new Size (width, height);
-			PintaCore.Workspace.CanvasSize = new Gdk.Size (width, height);
+			doc.ImageSize = imagesize;
+			doc.Workspace.CanvasSize = imagesize;
 
 			for (int i = 0; i < layerElements.Count; i++) {
 				XmlElement layerElement = (XmlElement) layerElements[i];
@@ -87,8 +90,9 @@ namespace Pinta.Core
 						}
 					}
 
-					Layer layer = layers.CreateLayer (name, width, height);
-					layers.Insert (layer, 0);
+					Layer layer = doc.CreateLayer (name);
+					doc.Insert (layer, 0);
+
 					layer.Opacity = double.Parse (GetAttribute (layerElement, "opacity", "1"), GetFormat ());
 					
 					using (Pixbuf pb = new Pixbuf (tmp_file)) {
@@ -132,7 +136,7 @@ namespace Pinta.Core
 				return new Size ((int) ((double)width / height * ThumbMaxSize), ThumbMaxSize);
 		}
 
-		private byte[] GetLayerXmlData (LayerManager layers) {
+		private byte[] GetLayerXmlData (List<Layer> layers) {
 			MemoryStream ms = new MemoryStream ();
 			XmlTextWriter writer = new XmlTextWriter (ms, System.Text.Encoding.UTF8);
 			writer.Formatting = Formatting.Indented;
@@ -161,7 +165,8 @@ namespace Pinta.Core
 			return ms.ToArray ();
 		}
 
-		public void Export (LayerManager layers, string fileName) {
+		public void Export (Document document, string fileName)
+		{
 			ZipOutputStream stream = new ZipOutputStream (new FileStream (fileName, FileMode.Create));
 			ZipEntry mimetype = new ZipEntry ("mimetype");
 			mimetype.CompressionMethod = CompressionMethod.Stored;
@@ -170,8 +175,8 @@ namespace Pinta.Core
 			byte[] databytes = System.Text.Encoding.ASCII.GetBytes ("image/openraster");
 			stream.Write (databytes, 0, databytes.Length);
 
-			for (int i = 0; i < layers.Count; i++) {
-				Pixbuf pb = layers[i].Surface.ToPixbuf ();
+			for (int i = 0; i < document.Layers.Count; i++) {
+				Pixbuf pb = document.Layers[i].Surface.ToPixbuf ();
 				byte[] buf = pb.SaveToBuffer ("png");
 				(pb as IDisposable).Dispose ();
 
@@ -180,10 +185,10 @@ namespace Pinta.Core
 			}
 
 			stream.PutNextEntry (new ZipEntry ("stack.xml"));
-			databytes = GetLayerXmlData (layers);
+			databytes = GetLayerXmlData (document.Layers);
 			stream.Write (databytes, 0, databytes.Length);
 
-			ImageSurface flattened = layers.GetFlattenedImage();
+			ImageSurface flattened = document.GetFlattenedImage ();
 			Pixbuf flattenedPb = flattened.ToPixbuf ();
 			Size newSize = GetThumbDimensions (flattenedPb.Width, flattenedPb.Height);
 			Pixbuf thumb = flattenedPb.ScaleSimple (newSize.Width, newSize.Height, InterpType.Bilinear);
diff --git a/Pinta.Core/ImageFormats/TgaExporter.cs b/Pinta.Core/ImageFormats/TgaExporter.cs
index 875b0a0..89576a3 100644
--- a/Pinta.Core/ImageFormats/TgaExporter.cs
+++ b/Pinta.Core/ImageFormats/TgaExporter.cs
@@ -82,8 +82,8 @@ namespace Pinta.Core
 		
 		// For now, we only export in uncompressed ARGB32 format. If someone requests this functionality,
 		// we can always add more through an export dialog.
-		public void Export (LayerManager layers, string fileName) {
-			ImageSurface surf = layers.GetFlattenedImage (); // Assumes the surface is in ARGB32 format
+		public void Export (Document document, string fileName) {
+			ImageSurface surf = document.GetFlattenedImage (); // Assumes the surface is in ARGB32 format
 			BinaryWriter writer = new BinaryWriter (new FileStream (fileName, FileMode.Create, FileAccess.Write));
 	
 			try {
diff --git a/Pinta.Core/Managers/ActionManager.cs b/Pinta.Core/Managers/ActionManager.cs
index e675fc9..6cd9f4a 100644
--- a/Pinta.Core/Managers/ActionManager.cs
+++ b/Pinta.Core/Managers/ActionManager.cs
@@ -112,12 +112,24 @@ namespace Pinta.Core
 			toolbar.AppendItem (File.Save.CreateToolBarItem ());
 			//toolbar.AppendItem (File.Print.CreateToolBarItem ());
 			toolbar.AppendItem (new SeparatorToolItem ());
-			toolbar.AppendItem (Edit.Cut.CreateToolBarItem ());
-			toolbar.AppendItem (Edit.Copy.CreateToolBarItem ());
-			toolbar.AppendItem (Edit.Paste.CreateToolBarItem ());
-			toolbar.AppendItem (new SeparatorToolItem ());
-			toolbar.AppendItem (Edit.Undo.CreateToolBarItem ());
-			toolbar.AppendItem (Edit.Redo.CreateToolBarItem ());
+
+			// Cut/Copy/Paste comes before Undo/Redo on Windows
+			if (PintaCore.System.OperatingSystem == OS.Windows) {
+				toolbar.AppendItem (Edit.Cut.CreateToolBarItem ());
+				toolbar.AppendItem (Edit.Copy.CreateToolBarItem ());
+				toolbar.AppendItem (Edit.Paste.CreateToolBarItem ());
+				toolbar.AppendItem (new SeparatorToolItem ());
+				toolbar.AppendItem (Edit.Undo.CreateToolBarItem ());
+				toolbar.AppendItem (Edit.Redo.CreateToolBarItem ());
+			} else {
+				toolbar.AppendItem (Edit.Undo.CreateToolBarItem ());
+				toolbar.AppendItem (Edit.Redo.CreateToolBarItem ());
+				toolbar.AppendItem (new SeparatorToolItem ());
+				toolbar.AppendItem (Edit.Cut.CreateToolBarItem ());
+				toolbar.AppendItem (Edit.Copy.CreateToolBarItem ());
+				toolbar.AppendItem (Edit.Paste.CreateToolBarItem ());
+			}
+
 			toolbar.AppendItem (new SeparatorToolItem ());
 			toolbar.AppendItem (Image.CropToSelection.CreateToolBarItem ());
 			toolbar.AppendItem (Edit.Deselect.CreateToolBarItem ());
diff --git a/Pinta.Core/HistoryItems/CompoundHistoryItem.cs b/Pinta.Core/Managers/FontManager.cs
similarity index 51%
copy from Pinta.Core/HistoryItems/CompoundHistoryItem.cs
copy to Pinta.Core/Managers/FontManager.cs
index 47581e2..3081af1 100644
--- a/Pinta.Core/HistoryItems/CompoundHistoryItem.cs
+++ b/Pinta.Core/Managers/FontManager.cs
@@ -1,8 +1,9 @@
 // 
-// CompoundHistoryItem.cs
+// FontManager.cs
 //  
-// Author:
-//       Jonathan Pobst <monkey at jpobst.com>
+// Authors:
+//	Olivier Dufour <olivier.duff at gmail.com>
+//	Jonathan Pobst <monkey at jpobst.com>
 // 
 // Copyright (c) 2010 Jonathan Pobst
 // 
@@ -26,50 +27,61 @@
 
 using System;
 using System.Collections.Generic;
+using System.Linq;
+using Gdk;
+using Pango;
 
 namespace Pinta.Core
 {
-	public class CompoundHistoryItem : BaseHistoryItem
+	public class FontManager
 	{
-		protected List<BaseHistoryItem> history_stack = new List<BaseHistoryItem> ();
+		private List<FontFamily> families;
 
-		public CompoundHistoryItem () : base ()
-		{
-		}
-		
-		public CompoundHistoryItem (string icon, string text) : base (icon, text)
+		private List<int> default_font_sizes = new List<int> (new int[] { 6, 7, 8, 9, 10, 11, 12, 14, 16,
+				18, 20, 22, 24, 26, 28, 32, 36, 40, 44,
+				48, 54, 60, 66, 72, 80, 88, 96 });
+
+		public FontManager ()
 		{
+			families = new List<FontFamily> ();
+
+			using (Pango.Context c = PangoHelper.ContextGet ())
+				families.AddRange (c.Families);
 		}
-		
-		public void Push (BaseHistoryItem item)
+
+		public List<string> GetInstalledFonts ()
 		{
-			history_stack.Add (item);
+			return families.Select (f => f.Name).ToList ();
 		}
-		
-		public override void Undo ()
+
+		public FontFamily GetFamily (string fontname)
 		{
-			foreach (var item in history_stack)
-				item.Undo ();
+			return families.Find (f => f.Name == fontname);
 		}
 
-		public override void Redo ()
+		public List<int> GetSizes (FontFamily family)
 		{
-			// We want to redo the actions in the
-			// opposite order than the undo order
-			for (int i = history_stack.Count - 1; i >= 0; i--)
-				history_stack[i].Redo ();
+			return GetSizes (family.Faces[0]);
 		}
 
-		public override void Dispose ()
+		unsafe public List<int> GetSizes (FontFace fontFace)
 		{
-			foreach (var item in history_stack)
-				item.Dispose ();
+			int sizes;
+			int nsizes;
+
+			// Query for supported sizes for this font
+			fontFace.ListSizes (out sizes, out nsizes);
+
+			if (nsizes == 0)
+				return default_font_sizes;
+
+			List<int> result = new List<int> ();
+
+			for (int i = 0; i < nsizes; i++)
+				result.Add (*(&sizes + 4 * i));
+
+			return result;
 		}
 		
-		public void TakeSnapshotOfImage ()
-		{
-			foreach (Layer item in PintaCore.Workspace.ActiveDocument.Layers)
-				history_stack.Add (new SimpleHistoryItem (string.Empty, string.Empty, item.Surface.Clone (), PintaCore.Layers.IndexOf (item)));
-		}
 	}
 }
diff --git a/Pinta.Core/Managers/ImageConverterManager.cs b/Pinta.Core/Managers/ImageConverterManager.cs
index f450994..ebd2f16 100644
--- a/Pinta.Core/Managers/ImageConverterManager.cs
+++ b/Pinta.Core/Managers/ImageConverterManager.cs
@@ -41,7 +41,19 @@ namespace Pinta.Core
 			// Create all the formats supported by Gdk
 			foreach (var format in Pixbuf.Formats) {
 				string formatName = format.Name.ToLowerInvariant ();
-				string[] extensions = (formatName == "jpeg") ? new string[] { "jpg", "jpeg" } : new string[] { formatName };
+				string[] extensions;
+
+				switch (formatName) {
+					case "jpeg":
+						extensions = new string[] { "jpg", "jpeg" };
+						break;
+					case "tiff":
+						extensions = new string[] { "tif", "tiff" };
+						break;
+					default:
+						extensions = new string[] { formatName };
+						break;
+				}
 				
 				GdkPixbufFormat importer = new GdkPixbufFormat (format.Name.ToLowerInvariant ());
 				IImageExporter exporter;
@@ -65,6 +77,24 @@ namespace Pinta.Core
 
 		public IList<FormatDescriptor> Formats { get; private set; }
 
+		public FormatDescriptor GetDefaultFormat ()
+		{
+			string extension = PintaCore.Settings.GetSetting<string> ("default-image-type", "jpeg");
+
+			var fd = GetFormatByExtension (extension);
+
+			// We found the last one we used
+			if (fd != null)
+				return fd;
+
+			// Return any format we have
+			if (Formats.Count > 0)
+				return Formats[0];
+
+			// We don't have any formats
+			throw new InvalidOperationException ("There are no image formats supported.");
+		}
+
 		public IImageExporter GetExporterByExtension (string extension)
 		{
 			FormatDescriptor format = GetFormatByExtension (extension);
@@ -114,5 +144,14 @@ namespace Pinta.Core
 			string extension = Path.GetExtension (file);
 			return GetImporterByExtension (extension);
 		}
+
+		public void SetDefaultFormat (string extension)
+		{
+			// Normalize the extension
+			extension = extension.ToLowerInvariant ().TrimStart ('.').Trim ();
+
+			PintaCore.Settings.PutSetting ("default-image-type", extension);
+			PintaCore.Settings.SaveSettings ();
+		}
 	}
 }
diff --git a/Pinta.Core/Managers/LivePreviewManager.cs b/Pinta.Core/Managers/LivePreviewManager.cs
index 91c9c77..17dc8be 100644
--- a/Pinta.Core/Managers/LivePreviewManager.cs
+++ b/Pinta.Core/Managers/LivePreviewManager.cs
@@ -84,7 +84,7 @@ namespace Pinta.Core
 			this.effect = effect;
 			
 			// Handle selection path.
-			PintaCore.Layers.FinishSelection ();
+			PintaCore.Tools.Commit ();
 			selection_path = (PintaCore.Layers.ShowSelection) ? PintaCore.Layers.SelectionPath : null;
 			render_bounds = selection_path.GetBounds ();
 			render_bounds = PintaCore.Workspace.ClampToImageSize (render_bounds);			
@@ -245,9 +245,7 @@ namespace Pinta.Core
 				ctx.FillRule = Cairo.FillRule.EvenOdd;
 				ctx.Clip ();				
 			
-				ctx.Operator = Cairo.Operator.Clear;
-				ctx.Paint ();
-				ctx.Operator = Cairo.Operator.Over;
+				ctx.Operator = Cairo.Operator.Source;
 				
 				ctx.SetSourceSurface (live_preview_surface, (int)layer.Offset.X, (int)layer.Offset.Y);
 				ctx.Paint ();
diff --git a/Pinta.Core/Managers/SettingsManager.cs b/Pinta.Core/Managers/SettingsManager.cs
index 539e1e8..3ce3acf 100644
--- a/Pinta.Core/Managers/SettingsManager.cs
+++ b/Pinta.Core/Managers/SettingsManager.cs
@@ -71,7 +71,7 @@ namespace Pinta.Core
 			XmlDocument doc = new XmlDocument ();
 			doc.Load (filename);
 			
-			// Kinda cheating for now because I know there is only one thing stored in here
+			// Kinda cheating for now because I know there is only a few things stored in here
 			foreach (XmlElement setting in doc.DocumentElement.ChildNodes) {
 				switch (setting.GetAttribute ("type")) {
 					case "System.Int32":
@@ -80,6 +80,9 @@ namespace Pinta.Core
 					case "System.Boolean":
 						properties[setting.GetAttribute ("name")] = bool.Parse (setting.InnerText);
 						break;
+					case "System.String":
+						properties[setting.GetAttribute ("name")] = setting.InnerText;
+						break;
 				}
 			
 			}
@@ -108,13 +111,18 @@ namespace Pinta.Core
 		private void LoadSettings ()
 		{
 			string settings_file = Path.Combine (GetUserSettingsDirectory (), "settings.xml");
-			settings = Deserialize (settings_file);
+
+			try {
+				settings = Deserialize (settings_file);
+			} catch (Exception) {
+				// Will load with default settings
+			}
 			
 			string palette_file = Path.Combine (GetUserSettingsDirectory (), "palette.txt");
 			
 			try {
 				PintaCore.Palette.CurrentPalette.Load (palette_file);
-			} catch (Exception e) {
+			} catch (Exception) {
 				// Retain the default palette
 			}
 		}
diff --git a/Pinta.Core/Managers/SystemManager.cs b/Pinta.Core/Managers/SystemManager.cs
index 6b198f2..43df9ee 100644
--- a/Pinta.Core/Managers/SystemManager.cs
+++ b/Pinta.Core/Managers/SystemManager.cs
@@ -28,18 +28,37 @@ using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
+using System.IO;
+using System.Runtime.InteropServices;
 
 namespace Pinta.Core
 {
 	public class SystemManager
 	{
+		private static OS operating_system;
+
 		public ImageConverterManager ImageFormats { get; private set; }
+		public FontManager Fonts { get; private set; }
 		public int RenderThreads { get; set; }
+		public OS OperatingSystem { get { return operating_system; } }
 		
 		public SystemManager ()
 		{
 			ImageFormats = new ImageConverterManager ();
 			RenderThreads = Environment.ProcessorCount;
+			Fonts = new FontManager ();
+		}
+
+		static SystemManager ()
+		{
+			if (Path.DirectorySeparatorChar == '\\')
+				operating_system = OS.Windows;
+			else if (IsRunningOnMac ())
+				operating_system = OS.Mac;
+			else if (Environment.OSVersion.Platform == PlatformID.Unix)
+				operating_system = OS.X11;
+			else
+				operating_system = OS.Other;
 		}
 
 		public string GetExecutablePathName ()
@@ -49,5 +68,41 @@ namespace Pinta.Core
 
 			return executablePathName;
 		}
+
+		public static OS GetOperatingSystem ()
+		{
+			return operating_system;
+		}
+
+		//From Managed.Windows.Forms/XplatUI
+		[DllImport ("libc")]
+		static extern int uname (IntPtr buf);
+
+		static bool IsRunningOnMac ()
+		{
+			IntPtr buf = IntPtr.Zero;
+			try {
+				buf = Marshal.AllocHGlobal (8192);
+				// This is a hacktastic way of getting sysname from uname ()
+				if (uname (buf) == 0) {
+					string os = Marshal.PtrToStringAnsi (buf);
+					if (os == "Darwin")
+						return true;
+				}
+			} catch {
+			} finally {
+				if (buf != IntPtr.Zero)
+					Marshal.FreeHGlobal (buf);
+			}
+			return false;
+		}
+	}
+
+	public enum OS
+	{
+		Windows,
+		Mac,
+		X11,
+		Other
 	}
 }
diff --git a/Pinta.Core/Managers/ToolManager.cs b/Pinta.Core/Managers/ToolManager.cs
index 55ceb7a..b478a81 100644
--- a/Pinta.Core/Managers/ToolManager.cs
+++ b/Pinta.Core/Managers/ToolManager.cs
@@ -55,11 +55,12 @@ namespace Pinta.Core
 			ToggleToolButton tb = (ToggleToolButton)sender;
 
 			BaseTool t = FindTool (tb.Label);
-		
+
 			// Don't let the user unselect the current tool	
 			if (t.Name == CurrentTool.Name) {
-				//tb.Active = true;
-				//return;
+				if (prev_index != index)
+					tb.Active = true;
+				return;
 			}
 
 			SetCurrentTool (t);
@@ -86,19 +87,24 @@ namespace Pinta.Core
 			get { return Tools[prev_index]; }
 		}
 
+		public void Commit ()
+		{
+			CurrentTool.DoCommit ();
+		}
+
 		public void SetCurrentTool (BaseTool tool)
 		{
 			int i = Tools.IndexOf (tool);
 			
 			if (index == i)
 				return;
-			
+
 			// Unload previous tool if needed
 			if (index >= 0) {
+				prev_index = index;
 				Tools[index].DoClearToolBar (PintaCore.Chrome.ToolToolBar);
 				Tools[index].DoDeactivated ();
 				Tools[index].ToolItem.Active = false;
-				prev_index = index;
 			}
 			
 			// Load new tool
diff --git a/Pinta.Core/Managers/WorkspaceManager.cs b/Pinta.Core/Managers/WorkspaceManager.cs
index 145ac1e..9ef735c 100644
--- a/Pinta.Core/Managers/WorkspaceManager.cs
+++ b/Pinta.Core/Managers/WorkspaceManager.cs
@@ -88,7 +88,7 @@ namespace Pinta.Core
 			Document doc = new Document (size);
 			
 			if (string.IsNullOrEmpty (filename))
-				doc.Filename = string.Format ("Unsaved Image {0}", new_file_name++);
+				doc.Filename = string.Format (Catalog.GetString ("Unsaved Image {0}"), new_file_name++);
 			else
 				doc.PathAndFileName = filename;
 			
@@ -142,17 +142,19 @@ namespace Pinta.Core
 			ActiveWorkspace.Invalidate (rect);
 		}
 
-		public Document NewDocument (Gdk.Size imageSize)
+		public Document NewDocument (Gdk.Size imageSize, bool transparent)
 		{
 			Document doc = CreateAndActivateDocument (null, imageSize);
 			doc.Workspace.CanvasSize = imageSize;
 
 			// Start with an empty white layer
 			Layer background = doc.AddNewLayer (Catalog.GetString ("Background"));
-			
-			using (Cairo.Context g = new Cairo.Context (background.Surface)) {
-				g.SetSourceRGB (1, 1, 1);
-				g.Paint ();
+
+			if (!transparent) {
+				using (Cairo.Context g = new Cairo.Context (background.Surface)) {
+					g.SetSourceRGB (1, 1, 1);
+					g.Paint ();
+				}
 			}
 
 			doc.Workspace.History.PushNewItem (new BaseHistoryItem (Stock.New, Catalog.GetString ("New Image")));
@@ -170,7 +172,7 @@ namespace Pinta.Core
 			try {
 				// Open the image and add it to the layers
 				IImageImporter importer = PintaCore.System.ImageFormats.GetImporterByFile (file);
-				importer.Import (PintaCore.Layers, file);
+				importer.Import (file);
 
 				PintaCore.Workspace.ActiveDocument.PathAndFileName = file;
 				PintaCore.Workspace.ActiveWorkspace.History.PushNewItem (new BaseHistoryItem (Stock.Open, Catalog.GetString ("Open Image")));
@@ -211,7 +213,7 @@ namespace Pinta.Core
 		}
 
 		public bool ImageFitsInWindow {
-			get { return ActiveWorkspace.CanvasFitsInWindow; }
+			get { return ActiveWorkspace.ImageFitsInWindow; }
 		}
 		
 		internal void ResetTitle ()
@@ -244,6 +246,8 @@ namespace Pinta.Core
 
 		internal void SetActiveDocumentInternal (Document document)
 		{
+			PintaCore.Tools.Commit ();
+
 			int index = OpenDocuments.IndexOf (document);
 			active_document_index = index;
 
diff --git a/Pinta.Core/Pinta.Core.csproj b/Pinta.Core/Pinta.Core.csproj
index f17112a..6cac5ae 100644
--- a/Pinta.Core/Pinta.Core.csproj
+++ b/Pinta.Core/Pinta.Core.csproj
@@ -81,6 +81,7 @@
     <Compile Include="Actions\EffectsActions.cs" />
     <Compile Include="AssemblyInfo.cs" />
     <Compile Include="Classes\Anchor.cs" />
+    <Compile Include="Classes\BaseExtension.cs" />
     <Compile Include="Classes\DocumentWorkspaceHistory.cs" />
     <Compile Include="Classes\Document.cs" />
     <Compile Include="Classes\DocumentWorkspace.cs" />
@@ -107,6 +108,7 @@
     <Compile Include="EventArgs\HistoryItemRemovedEventArgs.cs" />
     <Compile Include="EventArgs\TextChangedEventArgs.cs" />
     <Compile Include="Extensions\ToolBarSlider.cs" />
+    <Compile Include="HistoryItems\PasteHistoryItem.cs" />
     <Compile Include="HistoryItems\ResizeHistoryItem.cs" />
     <Compile Include="HistoryItems\FinishPixelsHistoryItem.cs" />
     <Compile Include="HistoryItems\MovePixelsHistoryItem.cs" />
@@ -120,6 +122,7 @@
     <Compile Include="HistoryItems\SimpleHistoryItem.cs" />
     <Compile Include="Managers\ActionManager.cs" />
     <Compile Include="Managers\ChromeManager.cs" />
+    <Compile Include="Managers\FontManager.cs" />
     <Compile Include="Managers\ImageConverterManager.cs" />
     <Compile Include="Managers\HistoryManager.cs" />
     <Compile Include="Managers\LayerManager.cs" />
diff --git a/Pinta.Effects/Effects/OilPaintingEffect.cs b/Pinta.Effects/Effects/OilPaintingEffect.cs
index ce8e381..bc3f84e 100644
--- a/Pinta.Effects/Effects/OilPaintingEffect.cs
+++ b/Pinta.Effects/Effects/OilPaintingEffect.cs
@@ -165,7 +165,7 @@ namespace Pinta.Effects
 		{
 			int* ptr = (int*)dst;
 			
-			for (int i = 0; i < 1020 / 4; i++) {
+			for (ulong i = 0; i < length / 4; i++) {
 				*ptr = 0;
 				ptr++;
 			}
diff --git a/Pinta.Effects/Pinta.Effects.csproj b/Pinta.Effects/Pinta.Effects.csproj
index 0a584a3..58fdff1 100644
--- a/Pinta.Effects/Pinta.Effects.csproj
+++ b/Pinta.Effects/Pinta.Effects.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -46,7 +46,7 @@
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
     <DebugType>pdbonly</DebugType>
     <Optimize>true</Optimize>
-    <OutputPath>..\bin\Extensions\</OutputPath>
+    <OutputPath>..\bin\</OutputPath>
     <DefineConstants>TRACE</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
diff --git a/Pinta.Effects/Properties/AssemblyInfo.cs b/Pinta.Effects/Properties/AssemblyInfo.cs
index 2b57240..d944996 100644
--- a/Pinta.Effects/Properties/AssemblyInfo.cs
+++ b/Pinta.Effects/Properties/AssemblyInfo.cs
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
 // You can specify all the values or you can default the Build and Revision Numbers 
 // by using the '*' as shown below:
 // [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion ("0.5.0.0")]
-[assembly: AssemblyFileVersion ("0.5.0.0")]
+[assembly: AssemblyVersion ("0.6.0.0")]
+[assembly: AssemblyFileVersion ("0.6.0.0")]
diff --git a/Pinta.Gui.Widgets/AssemblyInfo.cs b/Pinta.Gui.Widgets/AssemblyInfo.cs
index 005f9f3..0171729 100644
--- a/Pinta.Gui.Widgets/AssemblyInfo.cs
+++ b/Pinta.Gui.Widgets/AssemblyInfo.cs
@@ -42,7 +42,7 @@ using System.Runtime.CompilerServices;
 // The form "{Major}.{Minor}.*" will automatically update the build and revision,
 // and "{Major}.{Minor}.{Build}.*" will update just the revision.
 
-[assembly: AssemblyVersion("0.5.0.0")]
+[assembly: AssemblyVersion("0.6.0.0")]
 
 // The following attributes are used to specify the signing key for the assembly, 
 // if desired. See the Mono documentation for more information about signing.
diff --git a/Pinta.Gui.Widgets/Widgets/Canvas/PintaCanvas.cs b/Pinta.Gui.Widgets/Widgets/Canvas/PintaCanvas.cs
index dba3a47..831dadd 100644
--- a/Pinta.Gui.Widgets/Widgets/Canvas/PintaCanvas.cs
+++ b/Pinta.Gui.Widgets/Widgets/Canvas/PintaCanvas.cs
@@ -176,8 +176,14 @@ namespace Pinta.Gui.Widgets
 						g.FillPreserve ();
 					}
 
-					g.SetDash (new double[] { 2 / scale, 4 / scale }, 0);
 					g.LineWidth = 1 / scale;
+
+					// Draw a white line first so it shows up on dark backgrounds
+					g.Color = new Cairo.Color (1, 1, 1);
+					g.StrokePreserve ();
+
+					// Draw a black dashed line over the white line
+					g.SetDash (new double[] { 2 / scale, 4 / scale }, 0);
 					g.Color = new Cairo.Color (0, 0, 0);
 
 					g.Stroke ();
@@ -195,11 +201,11 @@ namespace Pinta.Gui.Widgets
 				switch (evnt.Direction) {
 					case ScrollDirection.Down:
 					case ScrollDirection.Right:
-						PintaCore.Actions.View.ZoomOut.Activate ();
+						PintaCore.Workspace.ActiveWorkspace.ZoomOutFromMouseScroll (new Cairo.PointD (evnt.X, evnt.Y));
 						return true;
 					case ScrollDirection.Left:
 					case ScrollDirection.Up:
-						PintaCore.Actions.View.ZoomIn.Activate ();
+						PintaCore.Workspace.ActiveWorkspace.ZoomInFromMouseScroll (new Cairo.PointD (evnt.X, evnt.Y));
 						return true;
 				}
 			}
diff --git a/Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs b/Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs
index 2b7a468..61c516b 100644
--- a/Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs
+++ b/Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs
@@ -27,6 +27,7 @@
 using System;
 using Cairo;
 using Pinta.Core;
+using Mono.Unix;
 
 namespace Pinta.Gui.Widgets
 {
@@ -71,7 +72,7 @@ namespace Pinta.Gui.Widgets
 			}
 
 			if (primary_rect.ContainsPoint (ev.X, ev.Y)) {
-				Gtk.ColorSelectionDialog csd = new Gtk.ColorSelectionDialog ("Choose Primary Color");
+				Gtk.ColorSelectionDialog csd = new Gtk.ColorSelectionDialog (Catalog.GetString ("Choose Primary Color"));
 				csd.ColorSelection.PreviousColor = PintaCore.Palette.PrimaryColor.ToGdkColor ();
 				csd.ColorSelection.CurrentColor = PintaCore.Palette.PrimaryColor.ToGdkColor ();
 				csd.ColorSelection.CurrentAlpha = PintaCore.Palette.PrimaryColor.GdkColorAlpha ();
@@ -85,7 +86,7 @@ namespace Pinta.Gui.Widgets
 
 				csd.Destroy ();
 			} else if (secondary_rect.ContainsPoint (ev.X, ev.Y)) {
-				Gtk.ColorSelectionDialog csd = new Gtk.ColorSelectionDialog ("Choose Secondary Color");
+				Gtk.ColorSelectionDialog csd = new Gtk.ColorSelectionDialog (Catalog.GetString ("Choose Secondary Color"));
 				csd.ColorSelection.PreviousColor = PintaCore.Palette.SecondaryColor.ToGdkColor ();
 				csd.ColorSelection.CurrentColor = PintaCore.Palette.SecondaryColor.ToGdkColor ();
 				csd.ColorSelection.CurrentAlpha = PintaCore.Palette.SecondaryColor.GdkColorAlpha ();
@@ -108,7 +109,7 @@ namespace Pinta.Gui.Widgets
 				else if (ev.Button == 1)
 					PintaCore.Palette.PrimaryColor = palette[pal];
 				else {
-					Gtk.ColorSelectionDialog csd = new Gtk.ColorSelectionDialog ("Choose Palette Color");
+					Gtk.ColorSelectionDialog csd = new Gtk.ColorSelectionDialog (Catalog.GetString ("Choose Palette Color"));
 					csd.ColorSelection.PreviousColor = palette[pal].ToGdkColor ();
 					csd.ColorSelection.CurrentColor = palette[pal].ToGdkColor ();
 					csd.ColorSelection.CurrentAlpha = palette[pal].GdkColorAlpha ();
diff --git a/Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs b/Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs
index c09ad19..9098f9d 100644
--- a/Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs
+++ b/Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs
@@ -143,7 +143,7 @@ namespace Pinta.Gui.Widgets {
             // Container child table1.Gtk.Table+TableChild
             this.label2 = new Gtk.Label();
             this.label2.Name = "label2";
-            this.label2.LabelProp = Mono.Unix.Catalog.GetString("X:");
+            this.label2.LabelProp = "X:";
             this.table1.Add(this.label2);
             Gtk.Table.TableChild w23 = ((Gtk.Table.TableChild)(this.table1[this.label2]));
             w23.XOptions = ((Gtk.AttachOptions)(4));
@@ -151,7 +151,7 @@ namespace Pinta.Gui.Widgets {
             // Container child table1.Gtk.Table+TableChild
             this.label3 = new Gtk.Label();
             this.label3.Name = "label3";
-            this.label3.LabelProp = Mono.Unix.Catalog.GetString("Y:");
+            this.label3.LabelProp = "Y:";
             this.table1.Add(this.label3);
             Gtk.Table.TableChild w24 = ((Gtk.Table.TableChild)(this.table1[this.label3]));
             w24.TopAttach = ((uint)(1));
diff --git a/Pinta.Install.proj b/Pinta.Install.proj
index 9da884e..489f138 100644
--- a/Pinta.Install.proj
+++ b/Pinta.Install.proj
@@ -4,7 +4,7 @@
   <!-- Set some paths -->
   <PropertyGroup>
     <OutputPath>bin</OutputPath>
-    <InstallPrefix Condition="'$(InstallPrefix)'==''">/usr/local</InstallPrefix>
+    <InstallPrefix>/usr/local</InstallPrefix>
   </PropertyGroup>
 
   <!-- All of our translation files (po) -->
@@ -12,6 +12,9 @@
     <Translation Include="po/messages-ar.po">
       <Code>ar</Code>
     </Translation>
+    <Translation Include="po/messages-br.po">
+      <Code>br</Code>
+    </Translation>
     <Translation Include="po/messages-ca.po">
       <Code>ca</Code>
     </Translation>
@@ -27,12 +30,21 @@
     <Translation Include="po/messages-el.po">
       <Code>el</Code>
     </Translation>
+    <Translation Include="po/messages-en_GB.po">
+      <Code>en_GB</Code>
+    </Translation>
     <Translation Include="po/messages-es.po">
       <Code>es</Code>
     </Translation>
+    <Translation Include="po/messages-eu.po">
+      <Code>eu</Code>
+    </Translation>
     <Translation Include="po/messages-fi.po">
       <Code>fi</Code>
     </Translation>
+    <Translation Include="po/messages-fo.po">
+      <Code>fo</Code>
+    </Translation>
     <Translation Include="po/messages-fr.po">
       <Code>fr</Code>
     </Translation>
@@ -48,6 +60,9 @@
     <Translation Include="po/messages-hr.po">
       <Code>hr</Code>
     </Translation>
+    <Translation Include="po/messages-hy.po">
+      <Code>hy</Code>
+    </Translation>
     <Translation Include="po/messages-id.po">
       <Code>id</Code>
     </Translation>
@@ -66,6 +81,9 @@
     <Translation Include="po/messages-nb.po">
       <Code>nb</Code>
     </Translation>
+    <Translation Include="po/messages-nl.po">
+      <Code>nl</Code>
+    </Translation>
     <Translation Include="po/messages-pl.po">
       <Code>pl</Code>
     </Translation>
@@ -126,11 +144,13 @@
   <ItemGroup>
     <BinFile Include="$(OutputPath)/*.exe" />
     <BinFile Include="$(OutputPath)/*.dll" />
+    <ExtensionFile Include="$(OutputPath)/Extensions/*.dll" />
   </ItemGroup>
 
   <!-- Install everything for Pinta -->
   <Target Name="Install">
     <Copy SourceFiles="@(BinFile)" DestinationFolder="$(InstallPrefix)/lib/pinta" />
+    <Copy SourceFiles="@(ExtensionFile)" DestinationFolder="$(InstallPrefix)/lib/pinta/Extensions" />
     <MakeDir Directories="$(InstallPrefix)/bin" />
     <Copy SourceFiles="$(OutputPath)/locale/%(Translation.Code)/LC_MESSAGES/pinta.mo" DestinationFolder="$(InstallPrefix)/share/locale/%(Translation.Code)/LC_MESSAGES" />
     <Copy SourceFiles="xdg/pinta.1" DestinationFolder="$(InstallPrefix)/share/man/man1" />
diff --git a/Pinta.Resources/AssemblyInfo.cs b/Pinta.Resources/AssemblyInfo.cs
index 3b5711c..8c9ecbe 100644
--- a/Pinta.Resources/AssemblyInfo.cs
+++ b/Pinta.Resources/AssemblyInfo.cs
@@ -17,7 +17,7 @@ using System.Runtime.CompilerServices;
 // The form "{Major}.{Minor}.*" will automatically update the build and revision,
 // and "{Major}.{Minor}.{Build}.*" will update just the revision.
 
-[assembly: AssemblyVersion("0.5.0.0")]
+[assembly: AssemblyVersion("0.6.0.0")]
 
 // The following attributes are used to specify the signing key for the assembly, 
 // if desired. See the Mono documentation for more information about signing.
diff --git a/Pinta.Tools/BaseBrushTool.cs b/Pinta.Tools/BaseBrushTool.cs
index 4e4ae26..b344bc8 100644
--- a/Pinta.Tools/BaseBrushTool.cs
+++ b/Pinta.Tools/BaseBrushTool.cs
@@ -79,7 +79,7 @@ namespace Pinta.Tools
 			tb.AppendItem (brush_width_minus);
 		
 			if (brush_width == null)
-				brush_width = new ToolBarComboBox (50, 1, true, "1", "2", "3", "4", "5", "6", "7", "8", "9",
+				brush_width = new ToolBarComboBox (65, 1, true, "1", "2", "3", "4", "5", "6", "7", "8", "9",
 				"10", "11", "12", "13", "14", "15", "20", "25", "30", "35",
 				"40", "45", "50", "55");
 			
@@ -124,6 +124,10 @@ namespace Pinta.Tools
 		
 		protected override void OnMouseDown (Gtk.DrawingArea canvas, Gtk.ButtonPressEventArgs args, Cairo.PointD point)
 		{
+			// If we are already drawing, ignore any additional mouse down events
+			if (mouse_button > 0)
+				return;
+
 			Document doc = PintaCore.Workspace.ActiveDocument;
 
 			surface_modified = false;
diff --git a/Pinta.Tools/CloneStampTool.cs b/Pinta.Tools/CloneStampTool.cs
index 180e37c..a674afc 100644
--- a/Pinta.Tools/CloneStampTool.cs
+++ b/Pinta.Tools/CloneStampTool.cs
@@ -68,8 +68,8 @@ namespace Pinta.Tools
 				if (offset.IsNotSet ())
 					offset = new Point ((int)point.X - origin.X, (int)point.Y - origin.Y);
 
-				PintaCore.Layers.ToolLayer.Clear ();
-				PintaCore.Layers.ToolLayer.Hidden = false;
+				doc.ToolLayer.Clear ();
+				doc.ToolLayer.Hidden = false;
 
 				surface_modified = false;
 				undo_surface = doc.CurrentLayer.Surface.Clone ();
diff --git a/Pinta.Tools/EraserTool.cs b/Pinta.Tools/EraserTool.cs
index e627e42..826b8bd 100644
--- a/Pinta.Tools/EraserTool.cs
+++ b/Pinta.Tools/EraserTool.cs
@@ -44,7 +44,7 @@ namespace Pinta.Tools
 		#region Properties
 		public override string Name { get { return Catalog.GetString ("Eraser"); } }
 		public override string Icon { get { return "Tools.Eraser.png"; } }
-		public override string StatusBarText { get { return Catalog.GetString ("Click and drag to erase a portion of the image."); } }
+		public override string StatusBarText { get { return Catalog.GetString ("Left click to erase to transparent, right click to erase to secondary color. "); } }
 		public override Gdk.Key ShortcutKey { get { return Gdk.Key.E; } }
 		public override int Priority { get { return 27; } }
 		#endregion
@@ -77,12 +77,17 @@ namespace Pinta.Tools
 				g.FillRule = FillRule.EvenOdd;
 				g.Clip ();
 
-				g.Antialias = Antialias.Subpixel;
+				g.Antialias = UseAntialiasing ? Antialias.Subpixel : Antialias.None;
 				
 				g.MoveTo (last_point.X, last_point.Y);
 				g.LineTo (x, y);
-				
-				g.Operator = Operator.Clear;
+
+				// Right-click is erase to background color, left-click is transparent
+				if (mouse_button == 3)
+					g.Color = PintaCore.Palette.SecondaryColor;
+				else
+					g.Operator = Operator.Clear;
+
 				g.LineWidth = BrushWidth;
 				g.LineJoin = LineJoin.Round;
 				g.LineCap = LineCap.Round;
diff --git a/Pinta.Tools/FloodTool.cs b/Pinta.Tools/FloodTool.cs
index 4181c80..8cb7e3c 100644
--- a/Pinta.Tools/FloodTool.cs
+++ b/Pinta.Tools/FloodTool.cs
@@ -56,6 +56,7 @@ namespace Pinta.Tools
 		#region Protected Properties
 		protected bool IsContinguousMode { get { return (bool)mode_button.SelectedItem.Tag; } }
 		protected float Tolerance { get { return (float)(tolerance_slider.Slider.Value / 100); } }
+		protected virtual bool CalculatePolygonSet { get { return true; } }
 
 		protected bool LimitToSelection {
 			get { return limitToSelection; }
@@ -114,7 +115,7 @@ namespace Pinta.Tools
 				
 			base.OnMouseDown (canvas, args, point);
 
-			Gdk.Region currentRegion = Gdk.Region.Rectangle (doc.SelectionPath.GetBounds ());
+			Gdk.Region currentRegion = Gdk.Region.Rectangle (doc.GetSelectedBounds (true));
 
 			// See if the mouse click is valid
 			if (!currentRegion.PointIn (pos.X, pos.Y) && limitToSelection) {
@@ -130,18 +131,20 @@ namespace Pinta.Tools
 			int tol = (int)(Tolerance * Tolerance * 256);
 			Rectangle boundingBox;
 
-			surface.Flush ();
-
 			if (IsContinguousMode)
 				FillStencilFromPoint (surface, stencilBuffer, pos, tol, out boundingBox, currentRegion, limitToSelection);
 			else
 				FillStencilByColor (surface, stencilBuffer, surface.GetColorBgra (pos.X, pos.Y), tol, out boundingBox, currentRegion, LimitToSelection);
 			
-			surface.MarkDirty ();
 			stencil = stencilBuffer;
-			
-			Point[][] polygonSet = stencilBuffer.CreatePolygonSet (boundingBox, 0, 0);
-			OnFillRegionComputed (polygonSet);
+			OnFillRegionComputed (stencilBuffer);
+
+			// If a derived tool is only going to use the stencil,
+			// don't waste time building the polygon set
+			if (CalculatePolygonSet) {
+				Point[][] polygonSet = stencilBuffer.CreatePolygonSet (boundingBox, 0, 0);
+				OnFillRegionComputed (polygonSet);
+			}
 		}
 		#endregion
 
@@ -352,7 +355,8 @@ namespace Pinta.Tools
 			boundingBox = new Rectangle (left, top, right - left + 1, bottom - top + 1);
 		}
 
-		protected abstract void OnFillRegionComputed (Point[][] polygonSet);
+		protected virtual void OnFillRegionComputed (Point[][] polygonSet) {}
+		protected virtual void OnFillRegionComputed (IBitVector2D stencil) {}
 		#endregion
 	}
 }
diff --git a/Pinta.Tools/GradientTool.cs b/Pinta.Tools/GradientTool.cs
index 216ff2d..4e1167f 100644
--- a/Pinta.Tools/GradientTool.cs
+++ b/Pinta.Tools/GradientTool.cs
@@ -31,15 +31,6 @@ using Mono.Unix;
 
 namespace Pinta.Tools
 {
-	public enum eGradientType
-	{
-		Linear,
-		LinearReflected,
-		Diamond,
-		Radial,
-		Conical
-	}
-
 	//[System.ComponentModel.Composition.Export (typeof (BaseTool))]
 	public class GradientTool : BaseTool
 	{
@@ -74,10 +65,9 @@ namespace Pinta.Tools
 		}
 		
 		public override Gdk.Key ShortcutKey { get { return Gdk.Key.G; } }
-		protected override bool ShowAlphaBlendingButton { get { return true; } }
 		public override int Priority { get { return 23; } }
 
-		#region mouse
+		#region Mouse Handlers
 		protected override void OnMouseDown (Gtk.DrawingArea canvas, Gtk.ButtonPressEventArgs args, Cairo.PointD point)
 		{
 			Document doc = PintaCore.Workspace.ActiveDocument;
@@ -86,7 +76,6 @@ namespace Pinta.Tools
 			if (tracking)
 				return;
 		
-			base.OnMouseDown (canvas, args, point);
 			startpoint = point;
 			tracking = true;
 			button = args.Event.Button;
@@ -100,7 +89,6 @@ namespace Pinta.Tools
 			if (!tracking || args.Event.Button != button)
 				return;
 		
-			base.OnMouseUp (canvas, args, point);
 			tracking = false;
 			doc.History.PushNewItem (new SimpleHistoryItem (Icon, Name, undo_surface, doc.CurrentLayerIndex));
 		}
@@ -109,44 +97,24 @@ namespace Pinta.Tools
 		{
 			Document doc = PintaCore.Workspace.ActiveDocument;
 
-			base.OnMouseMove (o, args, point);
 			if (tracking) {
+				GradientRenderer gr = CreateGradientRenderer ();
 				
-				UserBlendOps.NormalBlendOp normalBlendOp = new UserBlendOps.NormalBlendOp();
-				GradientRenderer gr = null;
-				switch (GradientType) {
-					case eGradientType.Linear:
-						gr = new GradientRenderers.LinearClamped (GradientColorMode  == GradientColorMode.Transparency, normalBlendOp);
-					break;
-					case eGradientType.LinearReflected:
-						gr = new GradientRenderers.LinearReflected (GradientColorMode  == GradientColorMode.Transparency, normalBlendOp);
-					break;
-					case eGradientType.Radial:
-						gr = new GradientRenderers.Radial (GradientColorMode  == GradientColorMode.Transparency, normalBlendOp);
-					break;
-					case eGradientType.Diamond:
-						gr = new GradientRenderers.LinearDiamond (GradientColorMode  == GradientColorMode.Transparency, normalBlendOp);
-					break;
-					case eGradientType.Conical:
-						gr = new GradientRenderers.Conical (GradientColorMode  == GradientColorMode.Transparency, normalBlendOp);
-					break;
-				}
-				if (button == 3) {//right
+				if (button == 3) {	// Right-click
 					gr.StartColor = PintaCore.Palette.SecondaryColor.ToColorBgra ();
-	            	gr.EndColor = PintaCore.Palette.PrimaryColor.ToColorBgra ();
-				}
-				else {//1 left
+					gr.EndColor = PintaCore.Palette.PrimaryColor.ToColorBgra ();
+				} else {		//1 Left-click
 					gr.StartColor = PintaCore.Palette.PrimaryColor.ToColorBgra ();
-	            	gr.EndColor = PintaCore.Palette.SecondaryColor.ToColorBgra ();
+					gr.EndColor = PintaCore.Palette.SecondaryColor.ToColorBgra ();
 				}
 						
-	            gr.StartPoint = startpoint;
-	            gr.EndPoint = point;
+				gr.StartPoint = startpoint;
+				gr.EndPoint = point;
 				gr.AlphaBlending = UseAlphaBlending;
         
 				gr.BeforeRender ();
 
-				Gdk.Rectangle selection_bounds = doc.SelectionPath.GetBounds ();
+				Gdk.Rectangle selection_bounds = doc.GetSelectedBounds (true);
 				ImageSurface scratch_layer = doc.ToolLayer.Surface;
 
 				gr.Render (scratch_layer, new Gdk.Rectangle[] { selection_bounds });
@@ -156,17 +124,40 @@ namespace Pinta.Tools
 					g.Paint ();
 				}
 
+				doc.ToolLayer.Clear ();
+
 				selection_bounds.Inflate (5, 5);
 				doc.Workspace.Invalidate (selection_bounds);
 			}
 		}
+
+		private GradientRenderer CreateGradientRenderer ()
+		{
+			var normalBlendOp = new UserBlendOps.NormalBlendOp ();
+			bool alpha_only = SelectedGradientColorMode == GradientColorMode.Transparency;
+
+			switch (SelectedGradientType) {
+				case GradientType.Linear:
+					return new GradientRenderers.LinearClamped (alpha_only, normalBlendOp);
+				case GradientType.LinearReflected:
+					return new GradientRenderers.LinearReflected (alpha_only, normalBlendOp);
+				case GradientType.Radial:
+					return new GradientRenderers.Radial (alpha_only, normalBlendOp);
+				case GradientType.Diamond:
+					return new GradientRenderers.LinearDiamond (alpha_only, normalBlendOp);
+				case GradientType.Conical:
+					return new GradientRenderers.Conical (alpha_only, normalBlendOp);
+			}
+
+			throw new ArgumentOutOfRangeException ("Unknown gradient type.");
+		}
 		#endregion
 
-		#region toolbar
+		#region ToolBar
 		private ToolBarLabel gradient_label;
 		private ToolBarDropDownButton gradient_button;
-		private ToolBarLabel mode_label;
-		private ToolBarDropDownButton mode_button;
+		//private ToolBarLabel mode_label;
+		//private ToolBarDropDownButton mode_button;
 		
 		protected override void OnBuildToolBar (Gtk.Toolbar tb)
 		{
@@ -180,39 +171,52 @@ namespace Pinta.Tools
 			if (gradient_button == null) {
 				gradient_button = new ToolBarDropDownButton ();
 
-				gradient_button.AddItem (Catalog.GetString ("Linear Gradient"), "Toolbar.LinearGradient.png", eGradientType.Linear);
-				gradient_button.AddItem (Catalog.GetString ("Linear Reflected Gradient"), "Toolbar.LinearReflectedGradient.png", eGradientType.LinearReflected);
-				gradient_button.AddItem (Catalog.GetString ("Linear Diamond Gradient"), "Toolbar.DiamondGradient.png", eGradientType.Diamond);
-				gradient_button.AddItem (Catalog.GetString ("Radial Gradient"), "Toolbar.RadialGradient.png", eGradientType.Radial);
-				gradient_button.AddItem (Catalog.GetString ("Conical Gradient"), "Toolbar.ConicalGradient.png", eGradientType.Conical);
+				gradient_button.AddItem (Catalog.GetString ("Linear Gradient"), "Toolbar.LinearGradient.png", GradientType.Linear);
+				gradient_button.AddItem (Catalog.GetString ("Linear Reflected Gradient"), "Toolbar.LinearReflectedGradient.png", GradientType.LinearReflected);
+				gradient_button.AddItem (Catalog.GetString ("Linear Diamond Gradient"), "Toolbar.DiamondGradient.png", GradientType.Diamond);
+				gradient_button.AddItem (Catalog.GetString ("Radial Gradient"), "Toolbar.RadialGradient.png", GradientType.Radial);
+				gradient_button.AddItem (Catalog.GetString ("Conical Gradient"), "Toolbar.ConicalGradient.png", GradientType.Conical);
 			}
 
 			tb.AppendItem (gradient_button);
 			
-			tb.AppendItem (new Gtk.SeparatorToolItem ());
+			// Hide TransparentMode.  The core issue is we can't just paint it on top of the
+			// current layer because it's transparent.  Will require significant effort to support.
 
-			if (mode_label == null)
-				mode_label = new ToolBarLabel (string.Format (" {0}: ", Catalog.GetString ("Mode")));
+			//tb.AppendItem (new Gtk.SeparatorToolItem ());
 
-			tb.AppendItem (mode_label);
+			//if (mode_label == null)
+			//        mode_label = new ToolBarLabel (string.Format (" {0}: ", Catalog.GetString ("Mode")));
 
-			if (mode_button == null) {
-				mode_button = new ToolBarDropDownButton ();
+			//tb.AppendItem (mode_label);
 
-				mode_button.AddItem (Catalog.GetString ("Color Mode"), "Toolbar.ColorMode.png", GradientColorMode.Color);
-				mode_button.AddItem (Catalog.GetString ("Transparency Mode"), "Toolbar.TransparentMode.png", GradientColorMode.Transparency);
-			}
+			//if (mode_button == null) {
+			//        mode_button = new ToolBarDropDownButton ();
+
+			//        mode_button.AddItem (Catalog.GetString ("Color Mode"), "Toolbar.ColorMode.png", GradientColorMode.Color);
+			//        mode_button.AddItem (Catalog.GetString ("Transparency Mode"), "Toolbar.TransparentMode.png", GradientColorMode.Transparency);
+			//}
 
-			tb.AppendItem (mode_button);
+			//tb.AppendItem (mode_button);
 		}
 		
-		public eGradientType GradientType {
-			get { return (eGradientType)gradient_button.SelectedItem.Tag; }
+		private GradientType SelectedGradientType {
+			get { return (GradientType)gradient_button.SelectedItem.Tag; }
 		}
-	
-		public GradientColorMode GradientColorMode {
-			get { return (GradientColorMode)gradient_button.SelectedItem.Tag; }
+
+		private GradientColorMode SelectedGradientColorMode {
+			// get { return (GradientColorMode)mode_button.SelectedItem.Tag; }
+			get { return GradientColorMode.Color; }
 		}
 		#endregion
+
+		enum GradientType
+		{
+			Linear,
+			LinearReflected,
+			Diamond,
+			Radial,
+			Conical
+		}
 	}
 }
diff --git a/Pinta.Tools/MoveSelectedTool.cs b/Pinta.Tools/MoveSelectedTool.cs
index 84fff71..7d94de8 100644
--- a/Pinta.Tools/MoveSelectedTool.cs
+++ b/Pinta.Tools/MoveSelectedTool.cs
@@ -56,13 +56,17 @@ namespace Pinta.Tools
 		#region Mouse Handlers
 		protected override void OnMouseDown (Gtk.DrawingArea canvas, Gtk.ButtonPressEventArgs args, Cairo.PointD point)
 		{
+			// If we are already drawing, ignore any additional mouse down events
+			if (is_dragging)
+				return;
+
 			Document doc = PintaCore.Workspace.ActiveDocument;
 
 			origin_offset = point;
 			is_dragging = true;
 
-			hist = new MovePixelsHistoryItem (Icon, Name);
-			hist.TakeSnapshot ();
+			hist = new MovePixelsHistoryItem (Icon, Name, doc);
+			hist.TakeSnapshot (!doc.ShowSelectionLayer);
 
 			if (!doc.ShowSelectionLayer) {
 				// Copy the selection to the temp layer
@@ -130,6 +134,11 @@ namespace Pinta.Tools
 		}
 		#endregion
 
+		protected override void OnCommit ()
+		{
+			PintaCore.Workspace.ActiveDocument.FinishSelection ();
+		}
+
 		protected override void OnDeactivated ()
 		{
 			base.OnDeactivated ();
diff --git a/Pinta.Tools/MoveSelectionTool.cs b/Pinta.Tools/MoveSelectionTool.cs
index ce58ed3..a15001e 100644
--- a/Pinta.Tools/MoveSelectionTool.cs
+++ b/Pinta.Tools/MoveSelectionTool.cs
@@ -56,6 +56,10 @@ namespace Pinta.Tools
 		#region Mouse Handlers
 		protected override void OnMouseDown (Gtk.DrawingArea canvas, Gtk.ButtonPressEventArgs args, Cairo.PointD point)
 		{
+			// If we are already drawing, ignore any additional mouse down events
+			if (is_dragging)
+				return;
+
 			origin_offset = point;
 			is_dragging = true;
 
diff --git a/Pinta.Tools/PaintBucketTool.cs b/Pinta.Tools/PaintBucketTool.cs
index 89db842..36a9ae1 100644
--- a/Pinta.Tools/PaintBucketTool.cs
+++ b/Pinta.Tools/PaintBucketTool.cs
@@ -47,6 +47,7 @@ namespace Pinta.Tools
 		}
 		public override Gdk.Key ShortcutKey { get { return Gdk.Key.F; } }
 		public override int Priority { get { return 21; } }
+		protected override bool CalculatePolygonSet { get { return false; } }
 
 		protected override void OnMouseDown (Gtk.DrawingArea canvas, Gtk.ButtonPressEventArgs args, PointD point)
 		{
@@ -57,28 +58,38 @@ namespace Pinta.Tools
 			
 			base.OnMouseDown (canvas, args, point);
 		}
-		
-		protected unsafe override void OnFillRegionComputed (Point[][] polygonSet)
+
+		protected unsafe override void OnFillRegionComputed (IBitVector2D stencil)
 		{
 			Document doc = PintaCore.Workspace.ActiveDocument;
+			ImageSurface surf = doc.ToolLayer.Surface;
+			surf.Clear ();
 
 			SimpleHistoryItem hist = new SimpleHistoryItem (Icon, Name);
 			hist.TakeSnapshotOfLayer (doc.CurrentLayer);
 
-			using (var g = doc.CreateClippedContext ()) {
-				// Reset FillRule to the default
-				g.FillRule = FillRule.Winding;
+			ColorBgra color = fill_color.ToColorBgra ();
+			ColorBgra* dstPtr = (ColorBgra*)surf.DataPtr;
+			int width = surf.Width;
 
-				using (Path poly = g.CreatePolygonPath (polygonSet))
-					g.AppendPath (poly);
+			surf.Flush ();
 
-				g.Antialias = Antialias.Subpixel;
+			// Color in any pixel that the stencil says we need to fill
+			for (int x = 0; x < stencil.Width; x++)
+				for (int y = 0; y < stencil.Height; y++)
+					if (stencil.GetUnchecked (x, y))
+						surf.SetColorBgra (dstPtr, width, color, x, y);
 
-				g.Color = fill_color;
-				g.Fill ();
+			surf.MarkDirty ();
+
+			// Transfer the temp layer to the real one,
+			// respecting any selection area
+			using (var g = doc.CreateClippedContext ()) {
+				g.SetSource (surf);
+				g.Paint ();
 			}
 
-			doc.History.PushNewItem (hist);
+			doc.History.PushNewItem (hist); 
 			doc.Workspace.Invalidate ();
 		}
 	}
diff --git a/Pinta.Tools/PanTool.cs b/Pinta.Tools/PanTool.cs
index 9d8677a..d3b957d 100644
--- a/Pinta.Tools/PanTool.cs
+++ b/Pinta.Tools/PanTool.cs
@@ -54,6 +54,10 @@ namespace Pinta.Tools
 		
 		protected override void OnMouseDown (Gtk.DrawingArea canvas, Gtk.ButtonPressEventArgs args, PointD point)
 		{
+			// If we are already panning, ignore any additional mouse down events
+			if (active)
+				return;
+
 			Document doc = PintaCore.Workspace.ActiveDocument;
 
 			// Don't scroll if the whole canvas fits (no scrollbars)
diff --git a/Pinta.Tools/PencilTool.cs b/Pinta.Tools/PencilTool.cs
index ab2f8ae..4cbd00c 100644
--- a/Pinta.Tools/PencilTool.cs
+++ b/Pinta.Tools/PencilTool.cs
@@ -112,8 +112,8 @@ namespace Pinta.Tools
 			if (first_pixel) {
 				// Does Cairo really not support a single-pixel-long single-pixel-wide line?
 				surf.Flush ();
-				int shiftedX = (int) (point.X - 0.5);
-				int shiftedY = (int) (point.Y - 0.5);
+				int shiftedX = (int)point.X;
+				int shiftedY = (int)point.Y;
 				ColorBgra source = surf.GetColorBgra (shiftedX, shiftedY);
 				source = UserBlendOps.NormalBlendOp.ApplyStatic (source, tool_color.ToColorBgra ());
 				surf.SetColorBgra (source, shiftedX, shiftedY);
diff --git a/Pinta.Tools/Pinta.Tools.csproj b/Pinta.Tools/Pinta.Tools.csproj
index 980f1c8..800cc8b 100644
--- a/Pinta.Tools/Pinta.Tools.csproj
+++ b/Pinta.Tools/Pinta.Tools.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -46,7 +46,7 @@
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
     <DebugType>pdbonly</DebugType>
     <Optimize>true</Optimize>
-    <OutputPath>..\bin\Extensions\</OutputPath>
+    <OutputPath>..\bin\</OutputPath>
     <DefineConstants>TRACE</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
@@ -93,7 +93,11 @@
     <Compile Include="RoundedRectangleTool.cs" />
     <Compile Include="SelectTool.cs" />
     <Compile Include="ShapeTool.cs" />
-    <Compile Include="TextTool.cs" />
+    <Compile Include="TextTool\Position.cs" />
+    <Compile Include="TextTool\TextAlignment.cs" />
+    <Compile Include="TextTool\EditingMode.cs" />
+    <Compile Include="TextTool\TextEngine.cs" />
+    <Compile Include="TextTool\TextTool.cs" />
     <Compile Include="CloneStampTool.cs" />
     <Compile Include="ZoomTool.cs" />
     <Compile Include="Brushes\PaintBrush.cs" />
diff --git a/Pinta.Tools/Properties/AssemblyInfo.cs b/Pinta.Tools/Properties/AssemblyInfo.cs
index 7b65008..f33a298 100644
--- a/Pinta.Tools/Properties/AssemblyInfo.cs
+++ b/Pinta.Tools/Properties/AssemblyInfo.cs
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
 // You can specify all the values or you can default the Build and Revision Numbers 
 // by using the '*' as shown below:
 // [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion ("0.5.0.0")]
-[assembly: AssemblyFileVersion ("0.5.0.0")]
+[assembly: AssemblyVersion ("0.6.0.0")]
+[assembly: AssemblyFileVersion ("0.6.0.0")]
diff --git a/Pinta.Tools/RoundedRectangleTool.cs b/Pinta.Tools/RoundedRectangleTool.cs
index 3ab62ae..f2ce3ee 100644
--- a/Pinta.Tools/RoundedRectangleTool.cs
+++ b/Pinta.Tools/RoundedRectangleTool.cs
@@ -92,7 +92,7 @@ namespace Pinta.Tools
 			tb.AppendItem (radius_minus);
 			
 			if (radius == null)
-				radius = new ToolBarComboBox (50, 2, true, "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
+				radius = new ToolBarComboBox (65, 2, true, "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
 				"10", "11", "12", "13", "14", "15", "20", "25", "30", "35",
 				"40", "45", "50", "55");
 			
diff --git a/Pinta.Tools/ShapeTool.cs b/Pinta.Tools/ShapeTool.cs
index eefb530..b7d81a2 100644
--- a/Pinta.Tools/ShapeTool.cs
+++ b/Pinta.Tools/ShapeTool.cs
@@ -108,7 +108,7 @@ namespace Pinta.Tools
 			tb.AppendItem (brush_width_minus);
 			
 			if (brush_width == null)
-				brush_width = new ToolBarComboBox (50, 1, true, "1", "2", "3", "4", "5", "6", "7", "8", "9",
+				brush_width = new ToolBarComboBox (65, 1, true, "1", "2", "3", "4", "5", "6", "7", "8", "9",
 				"10", "11", "12", "13", "14", "15", "20", "25", "30", "35",
 				"40", "45", "50", "55");
 			
@@ -159,6 +159,10 @@ namespace Pinta.Tools
 		#region Mouse Handlers
 		protected override void OnMouseDown (Gtk.DrawingArea canvas, Gtk.ButtonPressEventArgs args, Cairo.PointD point)
 		{
+			// If we are already drawing, ignore any additional mouse down events
+			if (is_drawing)
+				return;
+
 			Document doc = PintaCore.Workspace.ActiveDocument;
 
 			shape_origin = point;
diff --git a/Pinta.Tools/TextTool.cs b/Pinta.Tools/TextTool.cs
deleted file mode 100644
index 525f257..0000000
--- a/Pinta.Tools/TextTool.cs
+++ /dev/null
@@ -1,1715 +0,0 @@
-/////////////////////////////////////////////////////////////////////////////////
-// Paint.NET                                                                   //
-// Copyright (C) dotPDN LLC, Rick Brewster, Tom Jackson, and contributors.     //
-// Portions Copyright (C) Microsoft Corporation. All Rights Reserved.          //
-// See license-pdn.txt for full licensing and attribution details.             //
-//                                                                             //
-// Ported to Pinta by: Olivier Dufour <olivier.duff at gmail.com>                 //
-/////////////////////////////////////////////////////////////////////////////////
-
-using System;
-using System.Collections.Generic;
-using Gdk;
-using Gtk;
-using Pinta.Core;
-using Mono.Unix;
-
-namespace Pinta.Tools
-{
-	////[System.ComponentModel.Composition.Export (typeof (BaseTool))]
-	public class TextTool : BaseTool
-	{
-		private enum EditingMode
-		{
-			NotEditing,
-			EmptyEdit,
-			Editing
-		}
-
-		private enum TextAlignment
-		{
-			Right,
-			Center,
-			Left
-		}
-
-		public override string Name {
-			get { return Catalog.GetString ("Text"); }
-		}
-		public override string Icon {
-			get { return "Tools.Text.png"; }
-		}
-
-		public override string StatusBarText {
-			get { return Catalog.GetString ("Left click to place cursor, then type desired text. Text color is primary color."); }
-		}
-		public override Gdk.Key ShortcutKey { get { return Gdk.Key.T; } }
-		public override int Priority { get { return 37; } }
-
-		//protected override bool ShowAntialiasingButton {
-		//        get { return true; }
-		//}
-
-		//private string statusBarTextFormat = PdnResources.GetString("TextTool.StatusText.TextInfo.Format");
-		private Cairo.PointD startMouseXY;
-		private Point startClickPoint;
-		private bool tracking;
-
-		//private MoveNubRenderer moveNub;
-		private int ignoreRedraw;
-		private EditingMode mode;
-		private List<string> lines;
-		private int linePos;
-		private int textPos;
-		private Point clickPoint;
-		private IrregularSurface saved;
-		private const int cursorInterval = 300;
-		private bool pulseEnabled;
-		private System.DateTime startTime;
-		private bool lastPulseCursorState;
-		private bool enableNub = true;
-
-		private CompoundHistoryItem currentHA;
-
-		private bool controlKeyDown = false;
-		private DateTime controlKeyDownTime = DateTime.MinValue;
-		private readonly TimeSpan controlKeyDownThreshold = new TimeSpan (0, 0, 0, 0, 400);
-
-		/*public override Gdk.Cursor DefaultCursor {
-			get {
-				return new Gdk.Cursor(;
-			}
-		}*/
-
-		protected override void OnActivated ()
-		{
-			//PdnBaseForm.RegisterFormHotKey(Gdk.Key.Back, OnBackspaceTyped);
-			
-			base.OnActivated ();
-			
-			PintaCore.Palette.PrimaryColorChanged += HandlePintaCorePalettePrimaryColorChanged;
-			
-			//this.textToolCursor = new Gdk.Cursor (PintaCore.Chrome.DrawingArea.Display, PintaCore.Resources.GetIcon ("Tools.Text.png"), 0, 0);
-			
-			//this.Cursor = this.textToolCursor;
-			
-			
-			mode = EditingMode.NotEditing;
-			
-			//font = AppEnvironment.FontInfo.CreateFont();
-			//alignment = AppEnvironment.TextAlignment;
-			
-			
-		}
-
-		//this.threadPool = new System.Threading.ThreadPool ();
-
-/*this.moveNub = new MoveNubRenderer(this.RendererList);
-            this.moveNub.Shape = MoveNubShape.Compass;
-            this.moveNub.Size = new SizeF(10, 10);
-            this.moveNub.Visible = false;
-            this.RendererList.Add(this.moveNub, false);
-            */		
-		
-		#region ToolBar
-		
-		private ToolBarLabel font_label;
-		private ToolBarComboBox font_combo;
-		private ToolBarComboBox size_combo;
-		private ToolBarToggleButton bold_btn;
-		private ToolBarToggleButton italic_btn;
-		private ToolBarToggleButton underscore_btn;
-		private ToolBarToggleButton left_alignment_btn;
-		private ToolBarToggleButton center_alignment_btn;
-		private ToolBarToggleButton Right_alignment_btn;
-		private ToolBarLabel spacer_label;
-
-		protected void RenderFont (Gtk.CellLayout layout, Gtk.CellRenderer renderer, Gtk.TreeModel model, Gtk.TreeIter iter)
-		{
-			string fontName = (string)model.GetValue (iter, 0);
-			Gtk.CellRendererText cell = renderer as Gtk.CellRendererText;
-			cell.Text = fontName;
-			cell.Font = string.Format ("{0} 10", fontName);
-			cell.Family = fontName;
-		}
-
-		protected override void OnBuildToolBar (Gtk.Toolbar tb)
-		{
-			//TODO
-			//fontSmoothing
-			
-			base.OnBuildToolBar (tb);
-			
-			if (font_label == null)
-				font_label = new ToolBarLabel (string.Format (" {0}: ", Catalog.GetString ("Font")));
-			
-			tb.AppendItem (font_label);
-			
-			using (Pango.Context c = PangoHelper.ContextGet ()) {
-				List<Pango.FontFamily> fonts = new List<Pango.FontFamily> (c.Families);
-				
-				
-				List<string> entries = new List<string> ();
-				fonts.ForEach (f => entries.Add (f.Name));
-				entries.Sort ();
-				
-				//by default Arial!
-				int index = entries.IndexOf ("Arial");
-				if (index < 0)
-					index = 0;
-				//FIXME: I put a try to handle a bug when I am debugging on monodevelop there is a an exception
-				//this exception do not occure when I put a try catch ;(
-				try {
-					if (font_combo == null) {
-						font_combo = new ToolBarComboBox (150, index, false, entries.ToArray ());
-						font_combo.ComboBox.Changed += HandleFontChanged;
-						font_combo.ComboBox.SetCellDataFunc (font_combo.CellRendererText, new CellLayoutDataFunc (RenderFont));
-					}
-					
-					tb.AppendItem (font_combo);
-
-					if (spacer_label == null)
-						spacer_label = new ToolBarLabel (" ");
-
-					tb.AppendItem (spacer_label);
-				
-					//size depend on font and modifier (italic, bold,...)
-					Pango.FontFamily fam = fonts.Find (f => f.Name == font_combo.ComboBox.ActiveText);
-					
-					entries = new List<string> ();
-					foreach (int i in GetSizeList (fam.Faces[0])) {
-						entries.Add (i.ToString ());
-					}
-					
-					//by default 11!
-					index = entries.IndexOf ("11");
-					if (index < 0)
-						index = 0;
-					
-					if (size_combo == null) {
-						size_combo = new ToolBarComboBox (50, index, true, entries.ToArray ());
-						
-						size_combo.ComboBox.Changed += HandleSizeChanged;
-						(size_combo.ComboBox as Gtk.ComboBoxEntry).Entry.FocusOutEvent += new Gtk.FocusOutEventHandler (HandleFontSizeFocusOut);
-						(size_combo.ComboBox as Gtk.ComboBoxEntry).Entry.FocusInEvent += new Gtk.FocusInEventHandler (HandleFontSizeFocusIn);
-					}
-					
-					tb.AppendItem (size_combo);
-				} catch (Exception e) {
-					Console.WriteLine (e.ToString ());
-				}
-			}
-			tb.AppendItem (new SeparatorToolItem ());
-			
-			if (bold_btn == null) {
-				bold_btn = new ToolBarToggleButton ("Toolbar.Bold.png", Catalog.GetString ("Bold"), Catalog.GetString ("Bold"));
-				bold_btn.Toggled += HandleBoldButtonToggled;
-			}
-			
-			tb.AppendItem (bold_btn);
-			
-			if (italic_btn == null) {
-				italic_btn = new ToolBarToggleButton ("Toolbar.Italic.png", Catalog.GetString ("Italic"), Catalog.GetString ("Italic"));
-				italic_btn.Toggled += HandleItalicButtonToggled;
-				;
-			}
-			
-			tb.AppendItem (italic_btn);
-			
-			if (underscore_btn == null) {
-				underscore_btn = new ToolBarToggleButton ("Toolbar.Underline.png", Catalog.GetString ("Underline"), Catalog.GetString ("Underline"));
-				underscore_btn.Toggled += HandleUnderscoreButtonToggled;
-			}
-			
-			tb.AppendItem (underscore_btn);
-			
-			tb.AppendItem (new SeparatorToolItem ());
-			
-			if (left_alignment_btn == null) {
-				left_alignment_btn = new ToolBarToggleButton ("Toolbar.LeftAlignment.png", Catalog.GetString ("Left Align"), Catalog.GetString ("Left Align"));
-				left_alignment_btn.Active = true;
-				left_alignment_btn.Toggled += HandleLeftAlignmentButtonToggled;
-				;
-			}
-			
-			tb.AppendItem (left_alignment_btn);
-			
-			if (center_alignment_btn == null) {
-				center_alignment_btn = new ToolBarToggleButton ("Toolbar.CenterAlignment.png", Catalog.GetString ("Center Align"), Catalog.GetString ("Center Align"));
-				center_alignment_btn.Toggled += HandleCenterAlignmentButtonToggled;
-				;
-			}
-			
-			tb.AppendItem (center_alignment_btn);
-			
-			if (Right_alignment_btn == null) {
-				Right_alignment_btn = new ToolBarToggleButton ("Toolbar.RightAlignment.png", Catalog.GetString ("Right Align"), Catalog.GetString ("Right Align"));
-				Right_alignment_btn.Toggled += HandleRightAlignmentButtonToggled;
-				;
-			}
-			
-			tb.AppendItem (Right_alignment_btn);
-		}
-
-		string temp_size;
-		void HandleFontSizeFocusIn (object o, FocusInEventArgs args)
-		{
-			size_combo.ComboBox.Changed -= HandleSizeChanged;
-			temp_size = size_combo.ComboBox.ActiveText;
-		}
-
-		void HandleFontSizeFocusOut (object o, FocusOutEventArgs args)
-		{
-			string text = size_combo.ComboBox.ActiveText;
-			int size;
-
-			if (!int.TryParse (text, out size)) {
-				(size_combo.ComboBox as Gtk.ComboBoxEntry).Entry.Text = temp_size;
-				return;
-			}
-			
-			PintaCore.Chrome.DrawingArea.GrabFocus ();
-			if (mode != EditingMode.NotEditing) {
-				this.sizes = null;
-				RedrawText (true);
-			}
-			size_combo.ComboBox.Changed += HandleSizeChanged;
-		}
-
-		void HandleFontChanged (object sender, EventArgs e)
-		{
-			PintaCore.Chrome.DrawingArea.GrabFocus ();
-			UpdateFontSizes ();
-			if (mode != EditingMode.NotEditing) {
-				this.sizes = null;
-				RedrawText (true);
-			}
-		}
-
-		void UpdateFontSizes ()
-		{
-			List<int> lst;
-			string oldval = size_combo.ComboBox.ActiveText;
-			ListStore model = (ListStore)size_combo.ComboBox.Model;
-			model.Clear ();
-			using (Pango.Context c = PangoHelper.ContextGet ()) {
-				List<Pango.FontFamily> fonts = new List<Pango.FontFamily> (c.Families);
-				Pango.FontFamily fam = fonts.Find (f => f.Name == font_combo.ComboBox.ActiveText);
-				lst = GetSizeList (fam.Faces[0]);
-			}
-			foreach (int i in lst)
-				size_combo.ComboBox.AppendText (i.ToString ());
-			
-			int index = lst.IndexOf (int.Parse (oldval));
-			if (index == -1)
-				index = 0;
-			
-			size_combo.ComboBox.Active = index;
-		}
-
-		void HandleSizeChanged (object sender, EventArgs e)
-		{
-			PintaCore.Chrome.DrawingArea.GrabFocus ();
-			if (mode != EditingMode.NotEditing) {
-				this.sizes = null;
-				RedrawText (true);
-			}
-		}
-
-		private Pango.FontFamily FontFamily {
-			get {
-				List<Pango.FontFamily> fonts = new List<Pango.FontFamily> (PintaCore.Chrome.DrawingArea.PangoContext.Families);
-				return fonts.Find (f => f.Name == font_combo.ComboBox.ActiveText);
-			}
-		}
-
-
-		private int FontSize {
-			get { return int.Parse (size_combo.ComboBox.ActiveText); }
-		}
-
-		private TextAlignment Alignment {
-			get {
-				if (Right_alignment_btn.Active)
-					return TextAlignment.Right; 
-				else if (center_alignment_btn.Active)
-					return TextAlignment.Center;
-				else
-					return TextAlignment.Left;
-			}
-		}
-
-		private Cairo.FontSlant FontSlant {
-			get {
-				if (italic_btn.Active)
-					return Cairo.FontSlant.Italic;
-				else
-					return Cairo.FontSlant.Normal;
-			}
-		}
-
-		private Cairo.FontWeight FontWeight {
-			get {
-				if (bold_btn.Active)
-					return Cairo.FontWeight.Bold;
-				else
-					return Cairo.FontWeight.Normal;
-			}
-		}
-
-		private string Font {
-			get { return font_combo.ComboBox.ActiveText; }
-		}
-
-		private Cairo.TextExtents TextExtents (Cairo.Context g, string str)
-		{
-			g.SelectFontFace (font_combo.ComboBox.ActiveText, FontSlant, FontWeight);
-			g.SetFontSize (FontSize);
-			
-			return g.TextExtents (str);
-		}
-
-		private Cairo.FontExtents FontExtents (Cairo.Context g, string str)
-		{
-			g.SelectFontFace (font_combo.ComboBox.ActiveText, FontSlant, FontWeight);
-			g.SetFontSize (FontSize);
-			
-			return g.FontExtents;
-		}
-
-		private int FontHeight {
-			get { return StringSize ("a").Height; }
-		}
-
-
-		void HandlePintaCorePalettePrimaryColorChanged (object sender, EventArgs e)
-		{
-			if (mode != EditingMode.NotEditing) {
-				RedrawText (true);
-			}
-		}
-
-		void HandleLeftAlignmentButtonToggled (object sender, EventArgs e)
-		{
-			if (left_alignment_btn.Active) {
-				Right_alignment_btn.Active = false;
-				center_alignment_btn.Active = false;
-			} else if (!Right_alignment_btn.Active && !center_alignment_btn.Active) {
-				left_alignment_btn.Active = true;
-			}
-			if (mode != EditingMode.NotEditing) {
-				this.sizes = null;
-				RedrawText (true);
-			}
-		}
-
-		void HandleCenterAlignmentButtonToggled (object sender, EventArgs e)
-		{
-			if (center_alignment_btn.Active) {
-				Right_alignment_btn.Active = false;
-				left_alignment_btn.Active = false;
-			} else if (!Right_alignment_btn.Active && !left_alignment_btn.Active) {
-				center_alignment_btn.Active = true;
-			}
-			if (mode != EditingMode.NotEditing) {
-				this.sizes = null;
-				RedrawText (true);
-			}
-		}
-
-		void HandleRightAlignmentButtonToggled (object sender, EventArgs e)
-		{
-			if (Right_alignment_btn.Active) {
-				center_alignment_btn.Active = false;
-				left_alignment_btn.Active = false;
-			} else if (!center_alignment_btn.Active && !left_alignment_btn.Active) {
-				Right_alignment_btn.Active = true;
-			}
-			if (mode != EditingMode.NotEditing) {
-				this.sizes = null;
-				RedrawText (true);
-			}
-		}
-
-
-		void HandleUnderscoreButtonToggled (object sender, EventArgs e)
-		{
-			if (mode != EditingMode.NotEditing) {
-				RedrawText (true);
-			}
-		}
-
-		void HandleItalicButtonToggled (object sender, EventArgs e)
-		{
-			if (mode != EditingMode.NotEditing) {
-				RedrawText (true);
-			}
-		}
-
-		void HandleBoldButtonToggled (object sender, EventArgs e)
-		{
-			if (mode != EditingMode.NotEditing) {
-				RedrawText (true);
-			}
-		}
-
-		unsafe private List<int> GetSizeList (Pango.FontFace fontFace)
-		{
-			List<int> result = new List<int> ();
-			int sizes;
-			int nsizes;
-			fontFace.ListSizes (out sizes, out nsizes);
-			if (nsizes == 0)
-				result.AddRange (new int[] { 6, 7, 8, 9, 10, 11, 12, 14, 15, 16,
-				18, 20, 22, 24, 26, 28, 32, 36, 40, 44,
-				48, 54, 60, 66, 72, 80, 88, 96 });
-			else {
-				for (int i = 0; i < nsizes; i++) {
-					result.Add (*(&sizes + 4 * i));
-				}
-			}
-			return result;
-		}
-
-		#endregion
-
-		protected override void OnDeactivated ()
-		{
-			//PdnBaseForm.UnregisterFormHotKey(Gdk.Key.Back, OnBackspaceTyped);
-			
-			base.OnDeactivated ();
-			PintaCore.Palette.PrimaryColorChanged -= HandlePintaCorePalettePrimaryColorChanged;
-			
-			switch (mode) {
-			case EditingMode.Editing:
-				SaveHistoryMemento ();
-				break;
-			
-			case EditingMode.EmptyEdit:
-				RedrawText (false);
-				break;
-			
-			case EditingMode.NotEditing:
-				break;
-			default:
-				
-				throw new System.ComponentModel.InvalidEnumArgumentException ("Invalid Editing Mode");
-			}
-			
-			if (saved != null) {
-				saved.Dispose ();
-				saved = null;
-			}
-			
-			StopEditing ();
-			//this.threadPool = null;
-		}
-		/*
-            this.RendererList.Remove(this.moveNub);
-            this.moveNub.Dispose();
-            this.moveNub = null;
-
-            if (this.textToolCursor != null)
-            {
-                this.textToolCursor.Dispose();
-                this.textToolCursor = null;
-            }
-            */
-
-		private void StopEditing ()
-		{
-			PintaCore.Layers.ToolLayer.Clear ();
-			PintaCore.Layers.ToolLayer.Hidden = true;
-			mode = EditingMode.NotEditing;
-			pulseEnabled = false;
-			lines = null;
-			//this.moveNub.Visible = false;
-		}
-
-		private void StartEditing ()
-		{
-			this.linePos = 0;
-			this.textPos = 0;
-			this.lines = new List<string> ();
-			this.sizes = null;
-			this.lines.Add (string.Empty);
-			this.startTime = DateTime.Now;
-			this.mode = EditingMode.EmptyEdit;
-			this.pulseEnabled = true;
-			PintaCore.Layers.ToolLayer.Hidden = false;
-			//UpdateStatusText();
-		}
-		/*
-        private void UpdateStatusText()
-        {
-            string text;
-            ImageResource image;
-
-            if (this.tracking)
-            {
-                text = GetStatusBarXYText();
-                image = Image;
-            }
-            else
-            {
-                text = PdnResources.GetString("TextTool.StatusText.StartTyping");
-                image = null;
-            }
-
-            SetStatus(image, text);
-        }
-		 */
-		private void PerformEnter ()
-		{
-			string currentLine = (string)this.lines[this.linePos];
-			
-			if (this.textPos == currentLine.Length) {
-				// If we are at the end of a line, insert an empty line at the next line
-				this.lines.Insert (this.linePos + 1, string.Empty);
-			} else {
-				this.lines.Insert (this.linePos + 1, currentLine.Substring (textPos, currentLine.Length - this.textPos));
-				this.lines[this.linePos] = ((string)this.lines[this.linePos]).Substring (0, this.textPos);
-			}
-			
-			this.linePos++;
-			this.textPos = 0;
-			this.sizes = null;
-			
-		}
-
-		private void PerformBackspace ()
-		{
-			if (textPos == 0 && linePos > 0) {
-				int ntp = ((string)lines[linePos - 1]).Length;
-				
-				lines[linePos - 1] = ((string)lines[linePos - 1]) + ((string)lines[linePos]);
-				lines.RemoveAt (linePos);
-				linePos--;
-				textPos = ntp;
-				sizes = null;
-			} else if (textPos > 0) {
-				string ln = (string)lines[linePos];
-				
-				// If we are at the end of a line, we don't need to place a compound string
-				if (textPos == ln.Length) {
-					lines[linePos] = ln.Substring (0, ln.Length - 1);
-				} else {
-					lines[linePos] = ln.Substring (0, textPos - 1) + ln.Substring (textPos);
-				}
-				
-				textPos--;
-				sizes = null;
-			}
-		}
-
-		private void PerformControlBackspace ()
-		{
-			if (textPos == 0 && linePos > 0) {
-				PerformBackspace ();
-			} else if (textPos > 0) {
-				string currentLine = (string)lines[linePos];
-				int ntp = textPos;
-				
-				if (System.Char.IsLetterOrDigit (currentLine[ntp - 1])) {
-					while (ntp > 0 && (System.Char.IsLetterOrDigit (currentLine[ntp - 1]))) {
-						ntp--;
-					}
-				} else if (System.Char.IsWhiteSpace (currentLine[ntp - 1])) {
-					while (ntp > 0 && (System.Char.IsWhiteSpace (currentLine[ntp - 1]))) {
-						ntp--;
-					}
-				} else if (System.Char.IsPunctuation (currentLine[ntp - 1])) {
-					while (ntp > 0 && (System.Char.IsPunctuation (currentLine[ntp - 1]))) {
-						ntp--;
-					}
-				} else {
-					ntp--;
-				}
-				
-				lines[linePos] = currentLine.Substring (0, ntp) + currentLine.Substring (textPos);
-				textPos = ntp;
-				sizes = null;
-			}
-		}
-
-		private void PerformDelete ()
-		{
-			// Where are we?!
-			if ((linePos == lines.Count - 1) && (textPos == ((string)lines[lines.Count - 1]).Length)) {
-				// If the cursor is at the end of the text block
-				return;
-			} else if (textPos == ((string)lines[linePos]).Length) {
-				// End of a line, must merge strings
-				lines[linePos] = ((string)lines[linePos]) + ((string)lines[linePos + 1]);
-				lines.RemoveAt (linePos + 1);
-			} else {
-				// Middle of a line somewhere
-				lines[linePos] = ((string)lines[linePos]).Substring (0, textPos) + ((string)lines[linePos]).Substring (textPos + 1);
-			}
-			
-			// Check for state change
-			if (lines.Count == 1 && ((string)lines[0]) == "") {
-				mode = EditingMode.EmptyEdit;
-			}
-			
-			sizes = null;
-		}
-
-		private void PerformControlDelete ()
-		{
-			// where are we?!
-			if ((linePos == lines.Count - 1) && (textPos == ((string)lines[lines.Count - 1]).Length)) {
-				// If the cursor is at the end of the text block
-				return;
-			} else if (textPos == ((string)lines[linePos]).Length) {
-				// End of a line, must merge strings
-				lines[linePos] = ((string)lines[linePos]) + ((string)lines[linePos + 1]);
-				lines.RemoveAt (linePos + 1);
-			} else {
-				// Middle of a line somewhere
-				int ntp = textPos;
-				string currentLine = (string)lines[linePos];
-				
-				if (System.Char.IsLetterOrDigit (currentLine[ntp])) {
-					while (ntp < currentLine.Length && (System.Char.IsLetterOrDigit (currentLine[ntp]))) {
-						currentLine = currentLine.Remove (ntp, 1);
-					}
-				} else if (System.Char.IsWhiteSpace (currentLine[ntp])) {
-					while (ntp < currentLine.Length && (System.Char.IsWhiteSpace (currentLine[ntp]))) {
-						currentLine = currentLine.Remove (ntp, 1);
-					}
-				} else if (System.Char.IsPunctuation (currentLine[ntp])) {
-					while (ntp < currentLine.Length && (System.Char.IsPunctuation (currentLine[ntp]))) {
-						currentLine = currentLine.Remove (ntp, 1);
-					}
-				} else {
-					ntp--;
-				}
-				
-				lines[linePos] = currentLine;
-			}
-			
-			// Check for state change
-			if (lines.Count == 1 && ((string)lines[0]) == "") {
-				mode = EditingMode.EmptyEdit;
-			}
-			
-			sizes = null;
-		}
-
-		private void PerformLeft ()
-		{
-			if (textPos > 0) {
-				textPos--;
-			} else if (textPos == 0 && linePos > 0) {
-				linePos--;
-				textPos = ((string)lines[linePos]).Length;
-			}
-		}
-
-		private void PerformControlLeft ()
-		{
-			if (textPos > 0) {
-				int ntp = textPos;
-				string currentLine = (string)lines[linePos];
-				
-				if (System.Char.IsLetterOrDigit (currentLine[ntp - 1])) {
-					while (ntp > 0 && (System.Char.IsLetterOrDigit (currentLine[ntp - 1]))) {
-						ntp--;
-					}
-				} else if (System.Char.IsWhiteSpace (currentLine[ntp - 1])) {
-					while (ntp > 0 && (System.Char.IsWhiteSpace (currentLine[ntp - 1]))) {
-						ntp--;
-					}
-				} else if (ntp > 0 && System.Char.IsPunctuation (currentLine[ntp - 1])) {
-					while (ntp > 0 && System.Char.IsPunctuation (currentLine[ntp - 1])) {
-						ntp--;
-					}
-				} else {
-					ntp--;
-				}
-				
-				textPos = ntp;
-			} else if (textPos == 0 && linePos > 0) {
-				linePos--;
-				textPos = ((string)lines[linePos]).Length;
-			}
-		}
-
-		private void PerformRight ()
-		{
-			if (textPos < ((string)lines[linePos]).Length) {
-				textPos++;
-			} else if (textPos == ((string)lines[linePos]).Length && linePos < lines.Count - 1) {
-				linePos++;
-				textPos = 0;
-			}
-		}
-
-		private void PerformControlRight ()
-		{
-			if (textPos < ((string)lines[linePos]).Length) {
-				int ntp = textPos;
-				string currentLine = (string)lines[linePos];
-				
-				if (System.Char.IsLetterOrDigit (currentLine[ntp])) {
-					while (ntp < currentLine.Length && (System.Char.IsLetterOrDigit (currentLine[ntp]))) {
-						ntp++;
-					}
-				} else if (System.Char.IsWhiteSpace (currentLine[ntp])) {
-					while (ntp < currentLine.Length && (System.Char.IsWhiteSpace (currentLine[ntp]))) {
-						ntp++;
-					}
-				} else if (ntp > 0 && System.Char.IsPunctuation (currentLine[ntp])) {
-					while (ntp < currentLine.Length && System.Char.IsPunctuation (currentLine[ntp])) {
-						ntp++;
-					}
-				} else {
-					ntp++;
-				}
-				
-				textPos = ntp;
-			} else if (textPos == ((string)lines[linePos]).Length && linePos < lines.Count - 1) {
-				linePos++;
-				textPos = 0;
-			}
-		}
-
-		private void PerformUp ()
-		{
-			Point p = TextPositionToPoint (new Position (linePos, textPos));
-			p.Y -= this.sizes[0].Height;
-			//font.Height;
-			Position np = PointToTextPosition (p);
-			linePos = np.Line;
-			textPos = np.Offset;
-		}
-
-		private void PerformDown ()
-		{
-			if (linePos == lines.Count - 1) {
-				// last line -> don't do squat
-			} else {
-				Point p = TextPositionToPoint (new Position (linePos, textPos));
-				p.Y += this.sizes[0].Height;
-				//font.Height;
-				Position np = PointToTextPosition (p);
-				linePos = np.Line;
-				textPos = np.Offset;
-			}
-		}
-
-		private Point GetUpperLeft (Size sz, int line)
-		{
-			Point p = clickPoint;
-			p.Y = (int)(p.Y - (0.5 * sz.Height) + (line * sz.Height));
-			
-			switch (Alignment) {
-			case TextAlignment.Center:
-				p.X = (int)(p.X - (0.5) * sz.Width);
-				break;
-			
-			case TextAlignment.Right:
-				p.X = (int)(p.X - sz.Width);
-				break;
-			}
-			
-			return p;
-		}
-
-		private Size StringSize (string s)
-		{
-			// We measure using a 1x1 device context to avoid performance problems that arise otherwise with large images.
-			Cairo.ImageSurface surf = PintaCore.Layers.ToolLayer.Surface;
-			Cairo.TextExtents te;
-			using (Cairo.Context g = new Cairo.Context (surf)) {
-				te = TextExtents (g, s);
-			}
-			return new Size ((int)te.Width, (int)te.Height);
-		}
-
-		private sealed class Position
-		{
-			private int line;
-			public int Line {
-				get { return line; }
-
-				set {
-					if (value >= 0) {
-						line = value;
-					} else {
-						line = 0;
-					}
-				}
-			}
-
-			private int offset;
-			public int Offset {
-				get { return offset; }
-
-				set {
-					if (value >= 0) {
-						offset = value;
-					} else {
-						offset = 0;
-					}
-				}
-			}
-
-			public Position (int line, int offset)
-			{
-				this.line = line;
-				this.offset = offset;
-			}
-		}
-
-		private void SaveHistoryMemento ()
-		{
-			pulseEnabled = false;
-			RedrawText (false);
-			
-			if (saved != null) {
-				Region hitTest = Region.Rectangle (PintaCore.Layers.SelectionPath.GetBounds ());
-				hitTest.Intersect (saved.Region);
-				
-				if (hitTest.Clipbox.Width != 0 && hitTest.Clipbox.Height != 0) {
-					ClippedSurfaceHistoryItem bha = new ClippedSurfaceHistoryItem (Icon, Name, saved, PintaCore.Layers.CurrentLayerIndex);
-					
-					if (this.currentHA == null) {
-						PintaCore.History.PushNewItem (bha);
-					} else {
-						this.currentHA.Push (bha);
-						this.currentHA = null;
-					}
-				}
-				
-				hitTest.Dispose ();
-				saved.Dispose ();
-				saved = null;
-			}
-		}
-
-		private void DrawText (Cairo.ImageSurface dst, string textFont, string text, Point pt, Size measuredSize, bool antiAliasing, Cairo.Color color)
-		{
-			Rectangle dstRect = new Rectangle (pt, measuredSize);
-			//Rectangle dstRectClipped = Rectangle.Intersect(dstRect, ScratchSurface.Bounds);
-						/*
-			if (dstRectClipped.Width == 0 || dstRectClipped.Height == 0)
-			{
-				return;
-			}
-			 */
-			using (Cairo.ImageSurface surface = new Cairo.ImageSurface (Cairo.Format.Argb32, 8, 8)) {
-				using (Cairo.Context context = new Cairo.Context (surface)) {
-					context.FillRectangle (new Cairo.Rectangle (0, 0, surface.Width, surface.Height), color);
-				}
-				
-				DrawText (dst, textFont, text, pt, measuredSize, antiAliasing, surface);
-			}
-		}
-
-		unsafe private void DrawText (Cairo.ImageSurface dst, string textFont, string text, Point pt, Size measuredSize, bool antiAliasing, Cairo.ImageSurface brush8x8)
-		{
-			Point pt2 = pt;
-			Size measuredSize2 = measuredSize;
-			int offset = FontHeight;
-			pt.X -= offset;
-			measuredSize.Width += 2 * offset;
-			Rectangle dstRect = new Rectangle (pt, measuredSize);
-			Rectangle dstRectClipped = Rectangle.Intersect (dstRect, PintaCore.Layers.ToolLayer.Surface.GetBounds ());
-			PintaCore.Layers.ToolLayer.Clear ();
-			
-			if (dstRectClipped.Width == 0 || dstRectClipped.Height == 0) {
-				return;
-			}
-			
-			// We only use the first 8,8 of brush
-			using (Cairo.Context toolctx = new Cairo.Context (PintaCore.Layers.ToolLayer.Surface)) {
-				//toolctx.FillRectangle (new Cairo.Rectangle(0, 0, 800, 600), new Cairo.Color (0, 0, 0));
-				toolctx.FillRectangle (dstRect.ToCairoRectangle (), new Cairo.Color (1, 1, 1));
-				Cairo.ImageSurface surf = PintaCore.Layers.ToolLayer.Surface;
-				//TODO find how create a surface a of a particular area of a bigger surface!
-				//for moment work with the whole surface!
-				if (measuredSize.Width > 0 && measuredSize.Height > 0) {
-					//dstRectClipped
-					using (Cairo.Context ctx = new Cairo.Context (PintaCore.Layers.ToolLayer.Surface)) {
-						Cairo.TextExtents te = TextExtents (ctx, text);
-						//new Cairo.PointD(dstRect.X - dstRectClipped.X + offset, dstRect.Y - dstRectClipped.Y),
-						ctx.DrawText (new Cairo.PointD (dstRect.X + offset - te.XBearing, dstRect.Y - te.YBearing), textFont, FontSlant, FontWeight, FontSize, PintaCore.Palette.PrimaryColor, text, antiAliasing);
-						
-						if (underscore_btn.Active) {
-							int lineSize = 1;
-							Cairo.FontExtents fe = FontExtents (ctx, text);
-							ctx.DrawLine (new Cairo.PointD (pt2.X, dstRect.Bottom + fe.Descent), new Cairo.PointD (dstRect.Right - offset, dstRect.Bottom + fe.Descent), PintaCore.Palette.PrimaryColor, lineSize);
-						}
-					}
-					PintaCore.Workspace.Invalidate ();
-				}
-				
-				// Mask out anything that isn't within the user's clip region (selected region)
-				using (Region clip = Region.Rectangle (PintaCore.Layers.SelectionPath.GetBounds ())) {
-					clip.Xor (Region.Rectangle (dstRectClipped));
-					// invert
-					clip.Intersect (Region.Rectangle (new Rectangle (pt, measuredSize)));
-					toolctx.FillRegion (clip, new Cairo.Color (1, 1, 1, 1));
-				}
-				
-				int skipX;
-				
-				if (pt.X < 0) {
-					skipX = -pt.X;
-				} else {
-					skipX = 0;
-				}
-				
-				int xEnd = Math.Min (dst.Width, pt.X + measuredSize.Width);
-				
-				bool blending = true;
-				dst.Flush ();
-				//if (dst.IsColumnVisible(pt.X + skipX))
-				//{
-				for (int y = pt.Y; y < pt.Y + measuredSize.Height; ++y) {
-					//if (!dst.IsRowVisible(y))
-					//{
-					//    continue;
-					//}
-					
-					ColorBgra* dstPtr = dst.GetPointAddressUnchecked (pt.X + skipX, y);
-					ColorBgra* srcPtr = PintaCore.Layers.ToolLayer.Surface.GetPointAddress (pt.X + skipX, y);
-					ColorBgra* brushPtr = brush8x8.GetRowAddressUnchecked (y & 7);
-					
-					for (int x = pt.X + skipX; x < xEnd; ++x) {
-						ColorBgra srcPixel = *srcPtr;
-						ColorBgra dstPixel = *dstPtr;
-						ColorBgra brushPixel = brushPtr[x & 7];
-						
-						int alpha = ((255 - srcPixel.R) * brushPixel.A) / 255;
-						// we could use srcPixel.R, .G, or .B -- the choice here is arbitrary
-						brushPixel.A = (byte)alpha;
-						
-						// could use R, G, or B -- arbitrary choice
-						if (srcPtr->R == 255) {
-							// do nothing -- leave dst alone
-						} else if (alpha == 255 || !blending) {
-							// copy it straight over
-							*dstPtr = brushPixel;
-						} else {
-							// do expensive blending
-							*dstPtr = UserBlendOps.NormalBlendOp.ApplyStatic (dstPixel, brushPixel);
-						}
-						
-						++dstPtr;
-						++srcPtr;
-					}
-				}
-				//}
-				dst.MarkDirty ();
-			}
-		}
-
-		/// <summary>
-		/// Redraws the Text on the screen
-		/// </summary>
-		/// <remarks>
-		/// assumes that the <b>font</b> and the <b>alignment</b> are already set
-		/// </remarks>
-		/// <param name="cursorOn"></param>
-		private void RedrawText (bool cursorOn)
-		{
-			Cairo.ImageSurface surf = PintaCore.Layers.CurrentLayer.Surface;
-			using (Cairo.Context context = new Cairo.Context (surf)) {
-				if (this.ignoreRedraw > 0) {
-					return;
-				}
-				
-				if (saved != null) {
-					saved.Draw (surf);
-					PintaCore.Workspace.Invalidate (saved.Region.Clipbox);
-					saved.Dispose ();
-					saved = null;
-				}
-				
-				// Save the Space behind the lines
-				Rectangle[] rects = new Rectangle[lines.Count + 1];
-				Point[] localUls = new Point[lines.Count];
-				
-				// All Lines
-				bool recalcSizes = false;
-				
-				if (this.sizes == null) {
-					recalcSizes = true;
-					this.sizes = new Size[lines.Count + 1];
-				}
-				
-				if (recalcSizes) {
-					for (int i = 0; i < lines.Count; ++i) {
-						this.MeasureText (i);
-					}
-				}
-				
-				for (int i = 0; i < lines.Count; ++i) {
-					Point upperLeft = GetUpperLeft (sizes[i], i);
-					localUls[i] = upperLeft;
-					Rectangle rect = new Rectangle (upperLeft, sizes[i]);
-					rects[i] = rect;
-				}
-				
-				// The Cursor Line
-				string cursorLine = ((string)lines[linePos]).Substring (0, textPos);
-				Size cursorLineSize;
-				Point cursorUL;
-				Rectangle cursorRect;
-				bool emptyCursorLineFlag;
-				
-				if (cursorLine.Length == 0) {
-					emptyCursorLineFlag = true;
-					Size fullLineSize = sizes[linePos];
-					cursorLineSize = new Size (2, FontHeight);
-					cursorUL = GetUpperLeft (fullLineSize, linePos);
-					cursorRect = new Rectangle (cursorUL, cursorLineSize);
-				} else if (cursorLine.Length == ((string)lines[linePos]).Length) {
-					emptyCursorLineFlag = false;
-					cursorLineSize = sizes[linePos];
-					cursorUL = localUls[linePos];
-					cursorRect = new Rectangle (cursorUL, cursorLineSize);
-				} else {
-					emptyCursorLineFlag = false;
-					cursorLineSize = StringSize (cursorLine);
-					cursorUL = localUls[linePos];
-					cursorRect = new Rectangle (cursorUL, cursorLineSize);
-				}
-				
-				rects[lines.Count] = cursorRect;
-				
-				// Account for overhang on italic or fancy fonts
-				int offset = FontHeight;
-				for (int i = 0; i < rects.Length; ++i) {
-					rects[i].X -= offset;
-					rects[i].Width += 2 * offset;
-				}
-				
-				// Set the saved region
-				saved = new IrregularSurface (surf, Utility.InflateRectangles (rects, 3));
-				
-				// Draw the Lines
-				this.uls = localUls;
-				
-				for (int i = 0; i < lines.Count; i++)
-					this.RenderText (surf, i);
-				
-				// Draw the Cursor
-				if (cursorOn) {
-					using (Cairo.Context toolctx = new Cairo.Context (PintaCore.Layers.ToolLayer.Surface)) {
-						if (emptyCursorLineFlag) {
-							toolctx.FillRectangle (cursorRect.ToCairoRectangle (), PintaCore.Palette.PrimaryColor);
-						} else {
-							toolctx.DrawLine (new Cairo.PointD (cursorRect.Right, cursorRect.Top), new Cairo.PointD (cursorRect.Right, cursorRect.Bottom), PintaCore.Palette.PrimaryColor, 1);
-						}
-					}
-				}
-				
-				//PlaceMoveNub();
-				//UpdateStatusText();
-				PintaCore.Workspace.Invalidate (saved.Region.Clipbox);
-				//Update();
-			}
-		}
-		/*
-        private string GetStatusBarXYText()
-        {
-            string unitsAbbreviationXY;
-            string xString;
-            string yString;
-
-            Document.CoordinatesToStrings(AppWorkspace.Units, this.uls[0].X, this.uls[0].Y, out xString, out yString, out unitsAbbreviationXY);
-
-            string statusBarText = string.Format(
-                this.statusBarTextFormat,
-                xString,
-                unitsAbbreviationXY,
-                yString,
-                unitsAbbreviationXY);
-
-            return statusBarText;
-        }
-		*/
-		// Only used when measuring via background threads
-		private void MeasureText (int lineNumber)
-		{
-			this.sizes[lineNumber] = StringSize ((string)lines[lineNumber]);
-		}
-
-		// Only used when rendering via background threads
-		private Point[] uls;
-
-		private Size[] sizes;
-
-		private void RenderText (Cairo.ImageSurface surf, int lineNumber)
-		{
-			DrawText (surf, this.Font, (string)this.lines[lineNumber], this.uls[lineNumber], this.sizes[lineNumber], UseAlphaBlending, PintaCore.Palette.PrimaryColor);
-		}
-		/*
-        private void PlaceMoveNub()
-        {
-            if (this.uls != null && this.uls.Length > 0)
-            {
-                Point pt = this.uls[uls.Length - 1];
-                pt.X += this.sizes[uls.Length - 1].Width;
-                pt.Y += this.sizes[uls.Length - 1].Height;
-                pt.X += (int)(10.0 / DocumentWorkspace.ScaleFactor.Ratio);
-                pt.Y += (int)(10.0 / DocumentWorkspace.ScaleFactor.Ratio);
-
-                pt.X = (int)Math.Round(Math.Min(this.ra.Surface.Width - this.moveNub.Size.Width, pt.X));
-                pt.X = (int)Math.Round(Math.Max(this.moveNub.Size.Width, pt.X));
-                pt.Y = (int)Math.Round(Math.Min(this.ra.Surface.Height - this.moveNub.Size.Height, pt.Y));
-                pt.Y = (int)Math.Round(Math.Max(this.moveNub.Size.Height, pt.Y));
-
-                this.moveNub.Location = pt;
-            }
-        }
-		 */
-
-		protected override void OnKeyDown (DrawingArea canvas, KeyPressEventArgs args)
-		{
-			bool flag = OnKeyPress (args.Event.Key, args.Event.State);
-			if (flag) {
-				args.RetVal = flag;
-				return;
-			}
-			
-			switch (args.Event.Key) {
-			case 			/*case Gdk.Key.space:
-                    if (mode != EditingMode.NotEditing)
-                    {
-                        // Prevent pan cursor from flicking to 'hand w/ the X' whenever use types a space in their text
-                        args.RetVal = true;
-                    }
-                    break;
-				*/Gdk.Key.Control_L:
-			case Gdk.Key.Control_R:
-				if (!this.controlKeyDown) {
-					this.controlKeyDown = true;
-					this.controlKeyDownTime = DateTime.Now;
-				}
-				break;
-			
-			// Make sure these are not used to scroll the document around
-			case Gdk.Key.Home:
-			case Gdk.Key.End:
-			case Gdk.Key.Next:
-			case Gdk.Key.Prior:
-				if (this.mode != EditingMode.NotEditing) {
-					args.RetVal = OnKeyPress (args.Event.Key, args.Event.State);
-				}
-				break;
-			
-			case Gdk.Key.Tab:
-				if ((args.Event.State & Gdk.ModifierType.ControlMask) == 0) {
-					if (this.mode != EditingMode.NotEditing) {
-						args.RetVal = OnKeyPress (args.Event.Key, args.Event.State);
-					}
-				}
-				break;
-			
-			case Gdk.Key.BackSpace:
-			case Gdk.Key.Delete:
-				if (this.mode != EditingMode.NotEditing) {
-					args.RetVal = OnKeyPress (args.Event.Key, args.Event.State);
-				}
-				break;
-			}
-			
-			// Ensure text is on screen when they are typing
-			
-						/*if (this.mode != EditingMode.NotEditing)
-            {
-                Point p = TextPositionToPoint(new Position(linePos, textPos));
-                Point left = TextPositionToPoint(new Position(linePos, 0));
-                Rectangle bounds = PintaCore.Chrome.DrawingArea.Allocation;
-                bounds.Inflate (-FontHeight, -FontHeight);
-
-                if (!bounds.Contains(p) || bounds.Contains(left))
-                {
-                    Point newCenterPt = bounds.Center();
-
-                    // horizontally off
-                    if (p.X > bounds.Right)
-                    {
-                        newCenterPt.X += p.X - bounds.Right;
-                    }
-                    else if (left.X < bounds.Left)
-                    {
-                        newCenterPt.X += left.X - bounds.Left;
-                    }
-                
-                    // vertically off
-                    if (p.Y > bounds.Bottom)
-                    {
-                        newCenterPt.Y += p.Y - bounds.Bottom;
-                    }
-                    else if (p.Y < bounds.Top) {
-                        newCenterPt.Y += p.Y - bounds.Top;
-                    }
-
-                    PintaCore.Workspace.RecenterView(newCenterPt.X, newCenterPt.Y);
-                }
-            }*/
-
-			//base.OnKeyDown (e);
-			//replace with:
-this.OnKeyPress (canvas, args);
-		}
-
-		protected override void OnKeyUp (DrawingArea canvas, KeyReleaseEventArgs args)
-		{
-			switch (args.Event.Key) {
-			case Gdk.Key.Control_L:
-			case Gdk.Key.Control_R:
-				TimeSpan heldDuration = (DateTime.Now - this.controlKeyDownTime);
-				
-				// If the user taps Ctrl, then we should toggle the visiblity of the moveNub
-				if (heldDuration < this.controlKeyDownThreshold) {
-					this.enableNub = !this.enableNub;
-				}
-				
-				this.controlKeyDown = false;
-				break;
-			}
-			
-			base.OnKeyUp (canvas, args);
-		}
-
-		protected void OnKeyPress (DrawingArea canvas, KeyPressEventArgs args)
-		{
-			switch (args.Event.Key) {
-			case Gdk.Key.KP_Enter:
-			case Gdk.Key.Return:
-				if (tracking) {
-					args.RetVal = true;
-				}
-				break;
-			
-			case Gdk.Key.Escape:
-				if (tracking) {
-					args.RetVal = true;
-				} else {
-					if (mode == EditingMode.Editing) {
-						SaveHistoryMemento ();
-					} else if (mode == EditingMode.EmptyEdit) {
-						RedrawText (false);
-					}
-					
-					if (mode != EditingMode.NotEditing) {
-						args.RetVal = true;
-						StopEditing ();
-					}
-				}
-				
-				break;
-			}
-			bool handled = false;
-			if (args.RetVal != null && args.RetVal is bool)
-				handled = (bool)args.RetVal;
-			
-			if (!handled && mode != EditingMode.NotEditing && !tracking) {
-				args.RetVal = true;
-				
-				if (mode == EditingMode.EmptyEdit) {
-					mode = EditingMode.Editing;
-					CompoundHistoryItem cha = new CompoundHistoryItem (Icon, Name);
-					this.currentHA = cha;
-					PintaCore.History.PushNewItem (cha);
-				}
-				
-				if ((args.Event.State & ModifierType.ControlMask) == 0 && args.Event.Key != Gdk.Key.Control_L && args.Event.Key != Gdk.Key.Control_R) {
-					uint ch = Gdk.Keyval.ToUnicode(args.Event.KeyValue);
-					
-					if (ch != 0) {
-						InsertCharIntoString (ch);
-						textPos++;
-						RedrawText (true);
-					}
-				}
-			}
-			
-			//base.OnKeyPress (args.Event.Key, args.Event.State);
-		}
-
-		protected bool OnKeyPress (Gdk.Key key, Gdk.ModifierType modifier)
-		{
-			bool keyHandled = true;
-			
-			if (tracking) {
-				keyHandled = false;
-			} else if ((modifier & Gdk.ModifierType.Mod1Mask) != 0) {
-				// ignore so they can use Alt+#### to type special characters
-			} else if (mode != EditingMode.NotEditing) {
-				switch (key) {
-				case Gdk.Key.BackSpace:
-					if ((modifier & Gdk.ModifierType.ControlMask) != 0) {
-						PerformControlBackspace ();
-					} else {
-						PerformBackspace ();
-					}
-					
-					break;
-				
-				case Gdk.Key.Delete:
-					if ((modifier & Gdk.ModifierType.ControlMask) != 0) {
-						PerformControlDelete ();
-					} else {
-						PerformDelete ();
-					}
-					
-					break;
-				
-				case Gdk.Key.KP_Enter:
-				case Gdk.Key.Return:
-					PerformEnter ();
-					break;
-				
-				case Gdk.Key.Left:
-					if ((modifier & Gdk.ModifierType.ControlMask) != 0) {
-						PerformControlLeft ();
-					} else {
-						PerformLeft ();
-					}
-					
-					break;
-				
-				case Gdk.Key.Right:
-					if ((modifier & Gdk.ModifierType.ControlMask) != 0) {
-						PerformControlRight ();
-					} else {
-						PerformRight ();
-					}
-					
-					break;
-				
-				case Gdk.Key.Up:
-					PerformUp ();
-					break;
-				
-				case Gdk.Key.Down:
-					PerformDown ();
-					break;
-				
-				case Gdk.Key.Home:
-					if ((modifier & Gdk.ModifierType.ControlMask) != 0) {
-						linePos = 0;
-					}
-					
-					textPos = 0;
-					break;
-				
-				case Gdk.Key.End:
-					if ((modifier & Gdk.ModifierType.ControlMask) != 0) {
-						linePos = lines.Count - 1;
-					}
-					
-					textPos = ((string)lines[linePos]).Length;
-					break;
-				default:
-					
-					keyHandled = false;
-					break;
-				}
-				
-				this.startTime = DateTime.Now;
-				
-				if (this.mode != EditingMode.NotEditing && keyHandled) {
-					RedrawText (true);
-				}
-			}
-			
-			return keyHandled;
-		}
-
-		private Point TextPositionToPoint (Position p)
-		{
-			Point pf = new Point (0, 0);
-			
-			Size sz = StringSize (((string)lines[p.Line]).Substring (0, p.Offset));
-			Size fullSz = StringSize ((string)lines[p.Line]);
-			
-			switch (Alignment) {
-			case TextAlignment.Left:
-				pf = new Point (clickPoint.X + sz.Width, clickPoint.Y + (sz.Height * p.Line));
-				break;
-			
-			case TextAlignment.Center:
-				pf = new Point (clickPoint.X + (sz.Width - (fullSz.Width / 2)), clickPoint.Y + (sz.Height * p.Line));
-				break;
-			
-			case TextAlignment.Right:
-				pf = new Point (clickPoint.X + (sz.Width - fullSz.Width), clickPoint.Y + (sz.Height * p.Line));
-				break;
-			default:
-				
-				throw new System.ComponentModel.InvalidEnumArgumentException ("Invalid Alignment");
-			}
-			
-			return pf;
-		}
-
-		private int FindOffsetPosition (float offset, string line, int lno)
-		{
-			for (int i = 0; i < line.Length; i++) {
-				Point pf = TextPositionToPoint (new Position (lno, i));
-				float dx = pf.X - clickPoint.X;
-				
-				if (dx >= offset) {
-					return i;
-				}
-			}
-			
-			return line.Length;
-		}
-
-		private Position PointToTextPosition (Point pf)
-		{
-			int dx = pf.X - clickPoint.X;
-			int dy = pf.Y - clickPoint.Y;
-			int line = (int)Math.Floor (dy / (float)this.sizes[0].Height);
-			
-			if (line < 0) {
-				line = 0;
-			} else if (line >= lines.Count) {
-				line = lines.Count - 1;
-			}
-			
-			int offset = FindOffsetPosition (dx, (string)lines[line], line);
-			Position p = new Position (line, offset);
-			
-			if (p.Offset >= ((string)lines[p.Line]).Length) {
-				p.Offset = ((string)lines[p.Line]).Length;
-			}
-			
-			return p;
-		}
-
-		protected override void OnMouseMove (object o, Gtk.MotionNotifyEventArgs args, Cairo.PointD point)
-		{
-			if (tracking) {
-				Cairo.PointD delta = new Cairo.PointD (point.X - startMouseXY.X, point.Y - startMouseXY.Y);
-				this.clickPoint = new Point ((int)(this.startClickPoint.X + delta.X), (int)(this.startClickPoint.Y + delta.Y));
-				RedrawText (false);
-				//UpdateStatusText();
-			} else {
-				/*bool touchingNub = this.moveNub.IsPointTouching(new Point(e.X, e.Y), false);
-
-                if (touchingNub && this.moveNub.Visible)
-                {
-                    this.Cursor = this.handCursor;
-                }
-                else
-                {
-                    this.Cursor = this.textToolCursor;
-                }*/				
-			}			
-			
-			base.OnMouseMove (o, args, point);
-		}
-
-		protected override void OnMouseUp (Gtk.DrawingArea canvas, Gtk.ButtonReleaseEventArgs args, Cairo.PointD point)
-		{
-			if (tracking) {
-				Cairo.PointD delta = new Cairo.PointD (point.X - startMouseXY.X, point.Y - startMouseXY.Y);
-				this.clickPoint = new Point ((int)(this.startClickPoint.X + delta.X), (int)(this.startClickPoint.Y + delta.Y));
-				RedrawText (false);
-				tracking = false;
-				//UpdateStatusText();
-			}
-			
-			//base.OnMouseUp (e);
-		}
-
-		protected override void OnMouseDown (Gtk.DrawingArea canvas, Gtk.ButtonPressEventArgs args, Cairo.PointD point)
-		{
-			base.OnMouseDown (canvas, args, point);
-			
-			//bool touchingMoveNub = this.moveNub.IsPointTouching(new Point(e.X, e.Y), false);
-			
-			//|| touchingMoveNub)) // = right click
-			if (this.mode != EditingMode.NotEditing && (args.Event.Button == 3)) {
-				this.tracking = true;
-				this.startMouseXY = point;
-				this.startClickPoint = this.clickPoint;
-				//this.Cursor = this.handCursorMouseDown;
-				//UpdateStatusText();
-			} else if (args.Event.Button == 1) {
-				if (saved != null) {
-					Rectangle[] rects = saved.Region.GetRectangles ();
-					Rectangle bounds = Utility.GetRegionBounds (rects, 0, rects.Length);
-					bounds.Inflate (FontHeight, FontHeight);
-					
-					if (lines != null && bounds.Contains ((int)point.X, (int)point.Y)) {
-						Position p = PointToTextPosition (new Point ((int)point.X, (int)(point.Y + (FontHeight / 2))));
-						linePos = p.Line;
-						textPos = p.Offset;
-						RedrawText (true);
-						return;
-					}
-				}
-				
-				switch (mode) {
-				case EditingMode.Editing:
-					SaveHistoryMemento ();
-					StopEditing ();
-					break;
-				
-				case EditingMode.EmptyEdit:
-					RedrawText (false);
-					StopEditing ();
-					break;
-				}
-				
-				clickPoint = new Point ((int)point.X, (int)point.Y);
-				StartEditing ();
-				RedrawText (true);
-			}
-		}
-
-		/*protected override void OnPulse()
-        {
-            base.OnPulse();
-
-            if (!pulseEnabled)
-            {
-                return;
-            }
-
-            TimeSpan ts = (DateTime.Now - startTime);
-            long ms = Utility.TicksToMs(ts.Ticks);
-            
-            bool pulseCursorState;
-
-            if (0 == ((ms / cursorInterval) % 2))
-            {
-                pulseCursorState = true;
-            }
-            else
-            {
-                pulseCursorState = false;
-            }
-
-            pulseCursorState &= this.Focused;
-
-            if (IsFormActive)
-            {
-                pulseCursorState &= ((ModifierKeys & Gdk.Key.Control) == 0);
-            }
-
-            if (pulseCursorState != lastPulseCursorState)
-            {
-                RedrawText(pulseCursorState);
-                lastPulseCursorState = pulseCursorState;
-            }
-
-            if (IsFormActive && (ModifierKeys & Gdk.Key.Control) != 0) 
-            {
-                // hide the nub while Ctrl is held down
-                this.moveNub.Visible = false;
-            }
-            else
-            {
-                this.moveNub.Visible = true;
-            }
-
-            // don't show the nub while the user is moving the text around
-            this.moveNub.Visible &= !tracking;
-
-            // don't show the nub when the user has tapped Ctrl
-            this.moveNub.Visible &= this.enableNub;
-
-            // Oscillate between 25% and 100% alpha over a period of 2 seconds
-            // Alpha value of 100% is sustained for a large duration of this period
-            const int period = 10000 * 2000; // 10000 ticks per ms, 2000ms per second
-            long tick = ts.Ticks % period;
-            double sin = Math.Sin(((double)tick / (double)period) * (2.0 * Math.PI));
-            // sin is [-1, +1]
-
-            sin = Math.Min(0.5, sin);
-            // sin is [-1, +0.5]
-
-            sin += 1.0;
-            // sin is [0, 1.5]
-
-            sin /= 2.0;
-            // sin is [0, 0.75]
-
-            sin += 0.25;
-            // sin is [0.25, 1]
-
-            if (this.moveNub != null)
-            {
-                int newAlpha = (int)(sin * 255.0);
-                this.moveNub.Alpha = newAlpha;
-            }
-
-            PlaceMoveNub();
-        }
-
-        protected override void OnPasteQuery(IDataObject data, out bool canHandle)
-        {
-            base.OnPasteQuery(data, out canHandle);
-
-            if (data.GetDataPresent(DataFormats.StringFormat, true) &&
-                this.Active &&
-                this.mode != EditingMode.NotEditing)
-            {
-                canHandle = true;
-            }
-        }	
-		
-        protected override void OnPaste(IDataObject data, out bool handled)
-        {
-            base.OnPaste (data, out handled);
-
-            if (data.GetDataPresent(DataFormats.StringFormat, true) &&
-                this.Active &&
-                this.mode != EditingMode.NotEditing)
-            {
-                ++this.ignoreRedraw;
-                string text = (string)data.GetData(DataFormats.StringFormat, true);
-
-                foreach (char c in text)
-                {
-                    if (c == '\n')
-                    {
-                        this.PerformEnter();
-                    }
-                    else
-                    {
-                        this.PerformKeyPress(new KeyPressEventArgs(c));
-                    }
-                }
-
-                handled = true;
-                --this.ignoreRedraw;
-
-                this.RedrawText(false);
-            }
-        }*/
-
-		private void InsertCharIntoString (uint c)
-		{
-			byte[] bytes = { (byte) c, (byte) (c >> 8), (byte) (c >> 16), (byte) (c >> 24) };
-			string unicodeChar = System.Text.Encoding.UTF32.GetString (bytes);
-		
-			lines[linePos] = ((string)lines[linePos]).Insert (textPos, unicodeChar);
-			this.sizes = null;
-		}
-		
-	}
-	/*public TextTool(DocumentWorkspace documentWorkspace)
-            : base(documentWorkspace,
-                   ImageResource.Get("Icons.TextToolIcon.png"),
-                   PdnResources.GetString("TextTool.Name"),
-                   PdnResources.GetString("TextTool.HelpText"),
-                   't',
-                   false,
-                   ToolBarConfigItems.Brush | ToolBarConfigItems.Text | ToolBarConfigItems.AlphaBlending | ToolBarConfigItems.Antialiasing)
-        {
-        }*/	
-}
diff --git a/Pinta.Core/Effects/ColorTransferMode.cs b/Pinta.Tools/TextTool/EditingMode.cs
similarity index 56%
copy from Pinta.Core/Effects/ColorTransferMode.cs
copy to Pinta.Tools/TextTool/EditingMode.cs
index aaab696..dd32933 100644
--- a/Pinta.Core/Effects/ColorTransferMode.cs
+++ b/Pinta.Tools/TextTool/EditingMode.cs
@@ -1,17 +1,20 @@
-/////////////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////////
 // Paint.NET                                                                   //
 // Copyright (C) dotPDN LLC, Rick Brewster, Tom Jackson, and contributors.     //
 // Portions Copyright (C) Microsoft Corporation. All Rights Reserved.          //
 // See license-pdn.txt for full licensing and attribution details.             //
+//                                                                             //
+// Ported to Pinta by: Olivier Dufour <olivier.duff at gmail.com>                 //
 /////////////////////////////////////////////////////////////////////////////////
 
 using System;
 
-namespace Pinta.Core
+namespace Pinta.Tools
 {
-    public enum ColorTransferMode
-    {
-        Rgb,
-        Luminosity
-    }
-}
\ No newline at end of file
+	enum EditingMode
+	{
+		NotEditing,
+		EmptyEdit,
+		Editing
+	}
+}
diff --git a/Pinta.Tools/TextTool/Position.cs b/Pinta.Tools/TextTool/Position.cs
new file mode 100644
index 0000000..7c27102
--- /dev/null
+++ b/Pinta.Tools/TextTool/Position.cs
@@ -0,0 +1,35 @@
+/////////////////////////////////////////////////////////////////////////////////
+// Paint.NET                                                                   //
+// Copyright (C) dotPDN LLC, Rick Brewster, Tom Jackson, and contributors.     //
+// Portions Copyright (C) Microsoft Corporation. All Rights Reserved.          //
+// See license-pdn.txt for full licensing and attribution details.             //
+//                                                                             //
+// Ported to Pinta by: Olivier Dufour <olivier.duff at gmail.com>                 //
+/////////////////////////////////////////////////////////////////////////////////
+
+using System;
+
+namespace Pinta.Tools
+{
+	sealed class Position
+	{
+		private int line;
+		private int offset;
+
+		public Position (int line, int offset)
+		{
+			this.line = line;
+			this.offset = offset;
+		}
+
+		public int Line {
+			get { return line; }
+			set { line = Math.Max (value, 0); }
+		}
+
+		public int Offset {
+			get { return offset; }
+			set { offset = Math.Max (value, 0); }
+		}
+	}
+}
diff --git a/Pinta.Core/Effects/ColorTransferMode.cs b/Pinta.Tools/TextTool/TextAlignment.cs
similarity index 56%
copy from Pinta.Core/Effects/ColorTransferMode.cs
copy to Pinta.Tools/TextTool/TextAlignment.cs
index aaab696..d3f2a18 100644
--- a/Pinta.Core/Effects/ColorTransferMode.cs
+++ b/Pinta.Tools/TextTool/TextAlignment.cs
@@ -1,17 +1,20 @@
-/////////////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////////
 // Paint.NET                                                                   //
 // Copyright (C) dotPDN LLC, Rick Brewster, Tom Jackson, and contributors.     //
 // Portions Copyright (C) Microsoft Corporation. All Rights Reserved.          //
 // See license-pdn.txt for full licensing and attribution details.             //
+//                                                                             //
+// Ported to Pinta by: Olivier Dufour <olivier.duff at gmail.com>                 //
 /////////////////////////////////////////////////////////////////////////////////
 
 using System;
 
-namespace Pinta.Core
+namespace Pinta.Tools
 {
-    public enum ColorTransferMode
-    {
-        Rgb,
-        Luminosity
-    }
-}
\ No newline at end of file
+	enum TextAlignment
+	{
+		Right,
+		Center,
+		Left
+	}
+}
diff --git a/Pinta.Tools/TextTool/TextEngine.cs b/Pinta.Tools/TextTool/TextEngine.cs
new file mode 100644
index 0000000..b380da2
--- /dev/null
+++ b/Pinta.Tools/TextTool/TextEngine.cs
@@ -0,0 +1,426 @@
+/////////////////////////////////////////////////////////////////////////////////
+// Paint.NET                                                                   //
+// Copyright (C) dotPDN LLC, Rick Brewster, Tom Jackson, and contributors.     //
+// Portions Copyright (C) Microsoft Corporation. All Rights Reserved.          //
+// See license-pdn.txt for full licensing and attribution details.             //
+//                                                                             //
+// Ported to Pinta by: Olivier Dufour <olivier.duff at gmail.com>                 //
+//                     Jonathan Pobst <monkey at jpobst.com>                      //
+/////////////////////////////////////////////////////////////////////////////////
+
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Gdk;
+using Pinta.Core;
+
+namespace Pinta.Tools
+{
+	class TextEngine
+	{
+		private Point origin;
+		private Pango.Layout layout;
+
+		private List<string> lines;
+		private int linePos;
+		private int textPos;
+		bool underline;
+
+		public TextEngine ()
+		{
+			lines = new List<string> ();
+
+			layout = new Pango.Layout (PintaCore.Chrome.DrawingArea.PangoContext);
+		}
+
+		#region Public Properties
+		public Position CurrentPosition {
+			get { return new Position (linePos, textPos); }
+		}
+
+		public EditingMode EditMode {
+			get {
+				if (lines.Count == 1 && lines[0] == string.Empty)
+					return EditingMode.EmptyEdit;
+
+				return EditingMode.Editing;
+			}
+		}
+
+		public int FontHeight { get { return GetCursorLocation ().Height; } }
+		public Pango.Layout Layout { get { return layout; } }
+		public int LineCount { get { return lines.Count; } }
+
+		public Point Origin {
+			get { return origin; }
+			set { origin = value; }
+		}
+		#endregion
+
+		#region Public Methods
+		public void Clear ()
+		{
+			lines.Clear ();
+			lines.Add (string.Empty);
+
+			linePos = 0;
+			textPos = 0;
+			origin = Point.Zero;
+
+			Recalculate ();
+		}
+
+		public Rectangle GetCursorLocation ()
+		{
+			Pango.Rectangle weak, strong;
+
+			int index = PositionToIndex (CurrentPosition);
+
+			layout.GetCursorPos (index, out strong, out weak);
+
+			int x = Pango.Units.ToPixels (strong.X) + origin.X;
+			int y = Pango.Units.ToPixels (strong.Y) + origin.Y;
+			int w = Pango.Units.ToPixels (strong.Width);
+			int h = Pango.Units.ToPixels (strong.Height);
+
+			return new Rectangle (x, y, w, h);
+		}
+
+		public Rectangle GetLayoutBounds ()
+		{
+			Pango.Rectangle ink, logical;
+			layout.GetPixelExtents (out ink, out logical);
+
+			Rectangle r = new Rectangle (ink.X + origin.X, ink.Y + origin.Y, ink.Width, ink.Height);
+			return r;
+		}
+
+		public Position PointToTextPosition (Point point)
+		{
+			int index, trailing;
+			int x = Pango.Units.FromPixels (point.X - origin.X);
+			int y = Pango.Units.FromPixels (point.Y - origin.Y);
+
+			layout.XyToIndex (x, y, out index, out trailing);
+
+			return IndexToPosition (index + trailing);
+		}
+
+		public override string ToString ()
+		{
+			StringBuilder sb = new StringBuilder ();
+
+			foreach (string s in lines)
+				sb.AppendLine (s);
+
+			return sb.ToString ();
+		}
+
+		public void SetAlignment (TextAlignment alignment)
+		{
+			switch (alignment) {
+				case TextAlignment.Right:
+					layout.Alignment = Pango.Alignment.Right;
+					break;
+				case TextAlignment.Center:
+					layout.Alignment = Pango.Alignment.Center;
+					break;
+				case TextAlignment.Left:
+					layout.Alignment = Pango.Alignment.Left;
+					break;
+			}
+		}
+
+		public void SetCursorPosition (Position position)
+		{
+			linePos = position.Line;
+			textPos = position.Offset;
+		}
+
+		public void SetFont (string face, int size, bool bold, bool italic, bool underline)
+		{
+			var font = Pango.FontDescription.FromString (string.Format ("{0} {1}", face, size));
+
+			font.Weight = bold ? Pango.Weight.Bold : Pango.Weight.Normal;
+			font.Style = italic ? Pango.Style.Italic : Pango.Style.Normal;
+
+			layout.FontDescription = font;
+
+			this.underline = underline;
+			Recalculate ();
+		}
+
+		public Point TextPositionToPoint (Position p)
+		{
+			int index = PositionToIndex (p);
+
+			var rect = layout.IndexToPos (index);
+
+			int x = Pango.Units.ToPixels (rect.X) + origin.X;
+			int y = Pango.Units.ToPixels (rect.Y) + origin.Y;
+
+			return new Point (x, y);
+		}
+
+		#endregion
+
+		#region Key Handlers
+		public void InsertCharIntoString (uint c)
+		{
+			byte[] bytes = { (byte)c, (byte)(c >> 8), (byte)(c >> 16), (byte)(c >> 24) };
+			string unicodeChar = System.Text.Encoding.UTF32.GetString (bytes);
+
+			lines[linePos] = lines[linePos].Insert (textPos, unicodeChar);
+			textPos++;
+			Recalculate ();
+		}
+
+		public void PerformEnter ()
+		{
+			string currentLine = lines[linePos];
+
+			if (textPos == currentLine.Length) {
+				// If we are at the end of a line, insert an empty line at the next line
+				lines.Insert (linePos + 1, string.Empty);
+			} else {
+				lines.Insert (linePos + 1, currentLine.Substring (textPos, currentLine.Length - textPos));
+				lines[linePos] = lines[linePos].Substring (0, textPos);
+			}
+
+			linePos++;
+			textPos = 0;
+			Recalculate ();
+		}
+
+		public void PerformBackspace ()
+		{
+			// We're at the beginning of a line and there's
+			// a line above us, go to the end of the prior line
+			if (textPos == 0 && linePos > 0) {
+				int ntp = lines[linePos - 1].Length;
+
+				lines[linePos - 1] = lines[linePos - 1] + lines[linePos];
+				lines.RemoveAt (linePos);
+				linePos--;
+				textPos = ntp;
+				Recalculate ();
+			} else if (textPos > 0) {
+				// We're in the middle of a line, delete the previous character
+				string ln = lines[linePos];
+
+				// If we are at the end of a line, we don't need to place a compound string
+				if (textPos == ln.Length)
+					lines[linePos] = ln.Substring (0, ln.Length - 1);
+				else
+					lines[linePos] = ln.Substring (0, textPos - 1) + ln.Substring (textPos);
+
+				textPos--;
+				Recalculate ();
+			}
+		}
+
+		public void PerformDelete ()
+		{
+			// Where are we?!
+			if ((linePos == lines.Count - 1) && (textPos == lines[lines.Count - 1].Length)) {
+				// The cursor is at the end of the text block
+				return;
+			} else if (textPos == lines[linePos].Length) {
+				// End of a line, must merge strings
+				lines[linePos] = lines[linePos] + lines[linePos + 1];
+				lines.RemoveAt (linePos + 1);
+			} else {
+				// Middle of a line somewhere
+				lines[linePos] = lines[linePos].Substring (0, textPos) + (lines[linePos]).Substring (textPos + 1);
+			}
+
+			Recalculate ();
+		}
+
+		public void PerformLeft (bool control)
+		{
+			if (control) {
+				PerformControlLeft ();
+				return;
+			}
+
+			// Move caret to the left, or to the previous line
+			if (textPos > 0)
+				textPos--;
+			else if (textPos == 0 && linePos > 0) {
+				linePos--;
+				textPos = lines[linePos].Length;
+			}
+		}
+
+		public void PerformControlLeft ()
+		{
+			// Move caret to the left to the beginning of the word/space/etc.
+			if (textPos > 0) {
+				int ntp = textPos;
+				string currentLine = lines[linePos];
+
+				if (System.Char.IsLetterOrDigit (currentLine[ntp - 1])) {
+					while (ntp > 0 && (System.Char.IsLetterOrDigit (currentLine[ntp - 1])))
+						ntp--;
+
+				} else if (System.Char.IsWhiteSpace (currentLine[ntp - 1])) {
+					while (ntp > 0 && (System.Char.IsWhiteSpace (currentLine[ntp - 1])))
+						ntp--;
+
+				} else if (ntp > 0 && System.Char.IsPunctuation (currentLine[ntp - 1])) {
+					while (ntp > 0 && System.Char.IsPunctuation (currentLine[ntp - 1]))
+						ntp--;
+
+				} else {
+					ntp--;
+				}
+
+				textPos = ntp;
+			} else if (textPos == 0 && linePos > 0) {
+				linePos--;
+				textPos = lines[linePos].Length;
+			}
+		}
+
+		public void PerformRight (bool control)
+		{
+			if (control) {
+				PerformControlRight ();
+				return;
+			}
+
+			// Move caret to the right, or to the next line
+			if (textPos < lines[linePos].Length) {
+				textPos++;
+			} else if (textPos == lines[linePos].Length && linePos < lines.Count - 1) {
+				linePos++;
+				textPos = 0;
+			}
+		}
+
+		public void PerformControlRight ()
+		{
+			// Move caret to the right to the end of the word/space/etc.
+			if (textPos < lines[linePos].Length) {
+				int ntp = textPos;
+				string currentLine = lines[linePos];
+
+				if (System.Char.IsLetterOrDigit (currentLine[ntp])) {
+					while (ntp < currentLine.Length && (System.Char.IsLetterOrDigit (currentLine[ntp])))
+						ntp++;
+
+				} else if (System.Char.IsWhiteSpace (currentLine[ntp])) {
+					while (ntp < currentLine.Length && (System.Char.IsWhiteSpace (currentLine[ntp])))
+						ntp++;
+
+				} else if (ntp > 0 && System.Char.IsPunctuation (currentLine[ntp])) {
+					while (ntp < currentLine.Length && System.Char.IsPunctuation (currentLine[ntp]))
+						ntp++;
+
+				} else {
+					ntp++;
+				}
+
+				textPos = ntp;
+			} else if (textPos == lines[linePos].Length && linePos < lines.Count - 1) {
+				linePos++;
+				textPos = 0;
+			}
+		}
+
+		public void PerformHome (bool control)
+		{
+			// For Ctrl-Home, we go to the top line
+			if (control)
+				linePos = 0;
+
+			// Go to the beginning of the line
+			textPos = 0;
+		}
+
+		public void PerformEnd (bool control)
+		{
+			// For Ctrl-End, we go to the last line
+			if (control)
+				linePos = lines.Count - 1;
+
+			// Go to the end of the line
+			textPos = lines[linePos].Length;
+		}
+
+		public void PerformUp ()
+		{
+			// Move to the letter above this one
+			Point point = TextPositionToPoint (CurrentPosition);
+
+			point.Y -= FontHeight;
+
+			Position pos = PointToTextPosition (point);
+			SetCursorPosition (pos);
+		}
+
+		public void PerformDown ()
+		{
+			if (CurrentPosition.Line == LineCount - 1) {
+				// Last line -> don't do squat
+			} else {
+				// Move to the letter below this one
+				Point point = TextPositionToPoint (CurrentPosition);
+
+				point.Y += FontHeight;
+
+				Position pos = PointToTextPosition (point);
+				SetCursorPosition (pos);
+			}
+		}
+		#endregion
+
+		#region Private Methods
+		private Position IndexToPosition (int index)
+		{
+			int current = 0;
+			int line = 0;
+			int offset = 0;
+
+			foreach (string s in lines) {
+				// It's past this line, move along
+				if (current + s.Length < index) {
+					current += s.Length + 1;
+					line++;
+					continue;
+				}
+
+				// It's in this line
+				offset = index - current;
+				return new Position (line, offset);
+			}
+
+			// It's below all of our lines, return the end of the last line
+			return new Position (lines.Count - 1, lines[lines.Count - 1].Length);
+		}
+
+		private int PositionToIndex (Position p)
+		{
+			int index = 0;
+
+			for (int i = 0; i < p.Line; i++)
+				index += lines[i].Length + 1;
+
+			index += p.Offset;
+
+			return index;
+		}
+
+		private void Recalculate ()
+		{
+			string markup = ToString ();
+
+			if (underline)
+				markup = string.Format ("<u>{0}</u>", markup);
+
+			layout.SetMarkup (markup);
+		}
+		#endregion
+	}
+}
diff --git a/Pinta.Tools/TextTool/TextTool.cs b/Pinta.Tools/TextTool/TextTool.cs
new file mode 100644
index 0000000..6c889f7
--- /dev/null
+++ b/Pinta.Tools/TextTool/TextTool.cs
@@ -0,0 +1,604 @@
+/////////////////////////////////////////////////////////////////////////////////
+// Paint.NET                                                                   //
+// Copyright (C) dotPDN LLC, Rick Brewster, Tom Jackson, and contributors.     //
+// Portions Copyright (C) Microsoft Corporation. All Rights Reserved.          //
+// See license-pdn.txt for full licensing and attribution details.             //
+//                                                                             //
+// Ported to Pinta by: Olivier Dufour <olivier.duff at gmail.com>                 //
+//                     Jonathan Pobst <monkey at jpobst.com>                      //
+/////////////////////////////////////////////////////////////////////////////////
+
+using System;
+using System.Collections.Generic;
+using Gdk;
+using Gtk;
+using Mono.Unix;
+using Pinta.Core;
+
+namespace Pinta.Tools
+{
+	//[System.ComponentModel.Composition.Export (typeof (BaseTool))]
+	public class TextTool : BaseTool
+	{
+		// Variables for dragging
+		private Cairo.PointD startMouseXY;
+		private Point startClickPoint;
+		private bool tracking;
+		private Gdk.Cursor cursor_hand;
+
+		private Point clickPoint;
+		private bool is_editing;
+		private Rectangle old_bounds = Rectangle.Zero;
+
+		private TextEngine engine;
+
+		public override string Name { get { return Catalog.GetString ("Text"); } }
+		public override string Icon { get { return "Tools.Text.png"; } }
+		public override Gdk.Key ShortcutKey { get { return Gdk.Key.T; } }
+		public override int Priority { get { return 37; } }
+
+		public override string StatusBarText {
+			get { return Catalog.GetString ("Left click to place cursor, then type desired text. Text color is primary color."); }
+		}
+
+		#region Constructor
+		public TextTool ()
+		{
+			cursor_hand = new Gdk.Cursor (PintaCore.Chrome.DrawingArea.Display, PintaCore.Resources.GetIcon ("Tools.Pan.png"), 0, 0);
+			engine = new TextEngine ();
+		}
+		#endregion
+
+		#region ToolBar
+		private ToolBarLabel font_label;
+		private ToolBarComboBox font_combo;
+		private ToolBarComboBox size_combo;
+		private ToolBarToggleButton bold_btn;
+		private ToolBarToggleButton italic_btn;
+		private ToolBarToggleButton underscore_btn;
+		private ToolBarToggleButton left_alignment_btn;
+		private ToolBarToggleButton center_alignment_btn;
+		private ToolBarToggleButton Right_alignment_btn;
+		private ToolBarLabel spacer_label;
+
+		protected void RenderFont (Gtk.CellLayout layout, Gtk.CellRenderer renderer, Gtk.TreeModel model, Gtk.TreeIter iter)
+		{
+			string fontName = (string)model.GetValue (iter, 0);
+			Gtk.CellRendererText cell = renderer as Gtk.CellRendererText;
+			cell.Text = fontName;
+			cell.Font = string.Format ("{0} 10", fontName);
+			cell.Family = fontName;
+		}
+
+		protected override void OnBuildToolBar (Gtk.Toolbar tb)
+		{
+			base.OnBuildToolBar (tb);
+			
+			if (font_label == null)
+				font_label = new ToolBarLabel (string.Format (" {0}: ", Catalog.GetString ("Font")));
+			
+			tb.AppendItem (font_label);
+
+			if (font_combo == null) {
+				var fonts = PintaCore.System.Fonts.GetInstalledFonts ();
+				fonts.Sort ();
+
+				// Default to Arial or first in list
+				int index = Math.Max (fonts.IndexOf ("Arial"), 0);
+
+				font_combo = new ToolBarComboBox (150, index, false, fonts.ToArray ());
+				font_combo.ComboBox.Changed += HandleFontChanged;
+				font_combo.ComboBox.SetCellDataFunc (font_combo.CellRendererText, new CellLayoutDataFunc (RenderFont));
+			}
+
+			tb.AppendItem (font_combo);
+
+			if (spacer_label == null)
+				spacer_label = new ToolBarLabel (" ");
+
+			tb.AppendItem (spacer_label);
+
+			if (size_combo == null) {
+				size_combo = new ToolBarComboBox (65, 0, true);
+
+				size_combo.ComboBox.Changed += HandleSizeChanged;
+				(size_combo.ComboBox as Gtk.ComboBoxEntry).Entry.FocusOutEvent += new Gtk.FocusOutEventHandler (HandleFontSizeFocusOut);
+				(size_combo.ComboBox as Gtk.ComboBoxEntry).Entry.FocusInEvent += new Gtk.FocusInEventHandler (HandleFontSizeFocusIn);
+			}
+
+			tb.AppendItem (size_combo);
+
+			tb.AppendItem (new SeparatorToolItem ());
+			
+			if (bold_btn == null) {
+				bold_btn = new ToolBarToggleButton ("Toolbar.Bold.png", Catalog.GetString ("Bold"), Catalog.GetString ("Bold"));
+				bold_btn.Toggled += HandleBoldButtonToggled;
+			}
+			
+			tb.AppendItem (bold_btn);
+			
+			if (italic_btn == null) {
+				italic_btn = new ToolBarToggleButton ("Toolbar.Italic.png", Catalog.GetString ("Italic"), Catalog.GetString ("Italic"));
+				italic_btn.Toggled += HandleItalicButtonToggled;
+			}
+			
+			tb.AppendItem (italic_btn);
+			
+			if (underscore_btn == null) {
+				underscore_btn = new ToolBarToggleButton ("Toolbar.Underline.png", Catalog.GetString ("Underline"), Catalog.GetString ("Underline"));
+				underscore_btn.Toggled += HandleUnderscoreButtonToggled;
+			}
+			
+			tb.AppendItem (underscore_btn);
+			
+			tb.AppendItem (new SeparatorToolItem ());
+			
+			if (left_alignment_btn == null) {
+				left_alignment_btn = new ToolBarToggleButton ("Toolbar.LeftAlignment.png", Catalog.GetString ("Left Align"), Catalog.GetString ("Left Align"));
+				left_alignment_btn.Active = true;
+				left_alignment_btn.Toggled += HandleLeftAlignmentButtonToggled;
+			}
+			
+			tb.AppendItem (left_alignment_btn);
+			
+			if (center_alignment_btn == null) {
+				center_alignment_btn = new ToolBarToggleButton ("Toolbar.CenterAlignment.png", Catalog.GetString ("Center Align"), Catalog.GetString ("Center Align"));
+				center_alignment_btn.Toggled += HandleCenterAlignmentButtonToggled;
+			}
+			
+			tb.AppendItem (center_alignment_btn);
+			
+			if (Right_alignment_btn == null) {
+				Right_alignment_btn = new ToolBarToggleButton ("Toolbar.RightAlignment.png", Catalog.GetString ("Right Align"), Catalog.GetString ("Right Align"));
+				Right_alignment_btn.Toggled += HandleRightAlignmentButtonToggled;
+			}
+			
+			tb.AppendItem (Right_alignment_btn);
+
+			UpdateFontSizes ();
+		}
+
+		string temp_size;
+
+		private void HandleFontSizeFocusIn (object o, FocusInEventArgs args)
+		{
+			size_combo.ComboBox.Changed -= HandleSizeChanged;
+			temp_size = size_combo.ComboBox.ActiveText;
+		}
+
+		private void HandleFontSizeFocusOut (object o, FocusOutEventArgs args)
+		{
+			string text = size_combo.ComboBox.ActiveText;
+			int size;
+
+			if (!int.TryParse (text, out size)) {
+				(size_combo.ComboBox as Gtk.ComboBoxEntry).Entry.Text = temp_size;
+				return;
+			}
+			
+			PintaCore.Chrome.DrawingArea.GrabFocus ();
+
+			UpdateFont ();
+
+			size_combo.ComboBox.Changed += HandleSizeChanged;
+		}
+
+		private void HandleFontChanged (object sender, EventArgs e)
+		{
+			PintaCore.Chrome.DrawingArea.GrabFocus ();
+
+			UpdateFontSizes ();
+			UpdateFont ();
+		}
+
+		private void UpdateFontSizes ()
+		{
+			string oldval = size_combo.ComboBox.ActiveText;
+
+			ListStore model = (ListStore)size_combo.ComboBox.Model;
+			model.Clear ();
+
+			List<int> sizes = PintaCore.System.Fonts.GetSizes (FontFamily);
+
+			foreach (int i in sizes)
+				size_combo.ComboBox.AppendText (i.ToString ());
+			
+			int index;
+			
+			if (string.IsNullOrEmpty (oldval))
+				index = sizes.IndexOf (12);
+			else
+				index = sizes.IndexOf (int.Parse (oldval));
+
+			if (index == -1)
+				index = 0;
+			
+			size_combo.ComboBox.Active = index;
+		}
+
+		private void HandleSizeChanged (object sender, EventArgs e)
+		{
+			PintaCore.Chrome.DrawingArea.GrabFocus ();
+
+			UpdateFont ();
+		}
+
+		private Pango.FontFamily FontFamily {
+			get { return PintaCore.System.Fonts.GetFamily (font_combo.ComboBox.ActiveText); }
+		}
+
+
+		private int FontSize {
+			get { return int.Parse (size_combo.ComboBox.ActiveText); }
+		}
+
+		private TextAlignment Alignment {
+			get {
+				if (Right_alignment_btn.Active)
+					return TextAlignment.Right; 
+				else if (center_alignment_btn.Active)
+					return TextAlignment.Center;
+				else
+					return TextAlignment.Left;
+			}
+		}
+
+		private string Font {
+			get { return font_combo.ComboBox.ActiveText; }
+		}
+
+		private void HandlePintaCorePalettePrimaryColorChanged (object sender, EventArgs e)
+		{
+			if (is_editing)
+				RedrawText (true, true);
+		}
+
+		private void HandleLeftAlignmentButtonToggled (object sender, EventArgs e)
+		{
+			if (left_alignment_btn.Active) {
+				Right_alignment_btn.Active = false;
+				center_alignment_btn.Active = false;
+			} else if (!Right_alignment_btn.Active && !center_alignment_btn.Active) {
+				left_alignment_btn.Active = true;
+			}
+
+			UpdateFont ();
+		}
+
+		private void HandleCenterAlignmentButtonToggled (object sender, EventArgs e)
+		{
+			if (center_alignment_btn.Active) {
+				Right_alignment_btn.Active = false;
+				left_alignment_btn.Active = false;
+			} else if (!Right_alignment_btn.Active && !left_alignment_btn.Active) {
+				center_alignment_btn.Active = true;
+			}
+
+			UpdateFont ();
+		}
+
+		private void HandleRightAlignmentButtonToggled (object sender, EventArgs e)
+		{
+			if (Right_alignment_btn.Active) {
+				center_alignment_btn.Active = false;
+				left_alignment_btn.Active = false;
+			} else if (!center_alignment_btn.Active && !left_alignment_btn.Active) {
+				Right_alignment_btn.Active = true;
+			}
+
+			UpdateFont ();
+		}
+
+		private void HandleUnderscoreButtonToggled (object sender, EventArgs e)
+		{
+			UpdateFont ();
+		}
+
+		private void HandleItalicButtonToggled (object sender, EventArgs e)
+		{
+			UpdateFont ();
+		}
+
+		private void HandleBoldButtonToggled (object sender, EventArgs e)
+		{
+			UpdateFont ();
+		}
+
+		private void UpdateFont ()
+		{
+			engine.SetAlignment (Alignment);
+			engine.SetFont (Font, FontSize, bold_btn.Active, italic_btn.Active, underscore_btn.Active);
+
+			if (is_editing)
+				RedrawText (true, true);
+		}
+		#endregion
+
+		#region Activation/Deactivation
+		protected override void OnActivated ()
+		{
+			base.OnActivated ();
+			
+			// We may need to redraw our text when the color changes
+			PintaCore.Palette.PrimaryColorChanged += HandlePintaCorePalettePrimaryColorChanged;
+			
+			// We always start off not in edit mode
+			is_editing = false;
+		}
+
+		protected override void OnCommit ()
+		{
+			StopEditing ();
+		}
+
+		protected override void OnDeactivated ()
+		{
+			base.OnDeactivated ();
+
+			// Stop listening for color change events
+			PintaCore.Palette.PrimaryColorChanged -= HandlePintaCorePalettePrimaryColorChanged;
+			
+			StopEditing ();
+		}
+		#endregion
+
+		#region Mouse Handlers
+		protected override void OnMouseDown (DrawingArea canvas, ButtonPressEventArgs args, Cairo.PointD point)
+		{
+			Point pt = point.ToGdkPoint ();
+
+			// Grab focus so we can get keystrokes
+			PintaCore.Chrome.DrawingArea.GrabFocus ();
+
+			// If we're in editing mode, a right click
+			// allows you to move the text around
+			if (is_editing && (args.Event.Button == 3)) {
+				tracking = true;
+				startMouseXY = point;
+				startClickPoint = clickPoint;
+
+				SetCursor (cursor_hand);
+				return;
+			} 
+			
+			// The user clicked the left mouse button			
+			if (args.Event.Button == 1) {
+				// If we're editing and the user clicked within the text,
+				// move the cursor to the click location
+				if (is_editing && old_bounds.ContainsCorrect (pt)) {
+					Position p = engine.PointToTextPosition (pt);
+					engine.SetCursorPosition (p);
+					RedrawText (true, true);
+					return;
+				}
+
+				// We're already editing and the user clicked outside the text,
+				// commit the user's work, and start a new edit
+				if (is_editing) {
+					switch (engine.EditMode) {
+						// We were editing, save and stop
+						case EditingMode.Editing:
+							StopEditing ();
+							break;
+
+						// We were editing, but nothing had been
+						// keyed. Stop editing.
+						case EditingMode.EmptyEdit:
+							StopEditing ();
+							break;
+					}
+				}
+
+				// Start editing at the cursor location
+				clickPoint = pt;
+				StartEditing ();
+				engine.Origin = clickPoint;
+				RedrawText (true, true);
+				PintaCore.Workspace.Invalidate ();
+			}
+		}
+
+		protected override void OnMouseMove (object o, MotionNotifyEventArgs args, Cairo.PointD point)
+		{
+			// If we're dragging the text around, do that
+			if (tracking) {
+				Cairo.PointD delta = new Cairo.PointD (point.X - startMouseXY.X, point.Y - startMouseXY.Y);
+
+				clickPoint = new Point ((int)(startClickPoint.X + delta.X), (int)(startClickPoint.Y + delta.Y));
+				engine.Origin = clickPoint;
+
+				RedrawText (true, true);
+			}
+		}
+
+		protected override void OnMouseUp (Gtk.DrawingArea canvas, Gtk.ButtonReleaseEventArgs args, Cairo.PointD point)
+		{
+			// If we were dragging the text around, finish that up
+			if (tracking) {
+				Cairo.PointD delta = new Cairo.PointD (point.X - startMouseXY.X, point.Y - startMouseXY.Y);
+				
+				clickPoint = new Point ((int)(startClickPoint.X + delta.X), (int)(startClickPoint.Y + delta.Y));
+				engine.Origin = clickPoint;
+
+				RedrawText (false, true);
+				tracking = false;
+				SetCursor (null);
+			}
+		}
+		#endregion
+
+		#region Keyboard Handlers
+		protected override void OnKeyDown (DrawingArea canvas, KeyPressEventArgs args)
+		{
+			Gdk.ModifierType modifier = args.Event.State;
+
+			// If we are dragging the text, we
+			// aren't going to handle key presses
+			if (tracking)
+				return;
+
+			// Ignore anything with Alt pressed
+			if ((modifier & Gdk.ModifierType.Mod1Mask) != 0)
+				return;
+
+			// Assume that we are going to handle the key
+			bool keyHandled = true;
+
+			if (is_editing) {
+				switch (args.Event.Key) {
+					case Gdk.Key.BackSpace:
+						engine.PerformBackspace ();
+						break;
+
+					case Gdk.Key.Delete:
+						engine.PerformDelete ();
+						break;
+
+					case Gdk.Key.KP_Enter:
+					case Gdk.Key.Return:
+						engine.PerformEnter ();
+						break;
+
+					case Gdk.Key.Left:
+						engine.PerformLeft ((modifier & Gdk.ModifierType.ControlMask) != 0);
+						break;
+
+					case Gdk.Key.Right:
+						engine.PerformRight ((modifier & Gdk.ModifierType.ControlMask) != 0);
+						break;
+
+					case Gdk.Key.Up:
+						engine.PerformUp ();
+						break;
+
+					case Gdk.Key.Down:
+						engine.PerformDown ();
+						break;
+
+					case Gdk.Key.Home:
+						engine.PerformHome ((modifier & Gdk.ModifierType.ControlMask) != 0);
+						break;
+
+					case Gdk.Key.End:
+						engine.PerformEnd ((modifier & Gdk.ModifierType.ControlMask) != 0);
+						break;
+
+					case Gdk.Key.Next:
+					case Gdk.Key.Prior:
+						break;
+
+					case Gdk.Key.Escape:
+						StopEditing ();
+						break;
+
+					default:
+						// Try to handle it as a character
+						uint ch = Gdk.Keyval.ToUnicode (args.Event.KeyValue);
+
+						if (ch != 0) {
+							engine.InsertCharIntoString (ch);
+							RedrawText (true, true);
+						} else {
+							// We didn't handle the key
+							keyHandled = false;
+						}
+
+						break;
+				}
+
+				// If we processed a key, update the display
+				if (keyHandled)
+					RedrawText (true, true);
+
+			}
+
+			args.RetVal = keyHandled;
+		}
+		#endregion
+
+		#region Start/Stop Editing
+		private void StartEditing ()
+		{
+			is_editing = true;
+			engine.Clear ();
+			PintaCore.Workspace.ActiveDocument.ToolLayer.Hidden = false;
+		}
+
+		private void StopEditing ()
+		{
+			// If we don't have an open document, some of this stuff will crash
+			if (!PintaCore.Workspace.HasOpenDocuments)
+				return;
+
+			if (!is_editing)
+				return;
+
+			Document doc = PintaCore.Workspace.ActiveDocument;
+
+			doc.ToolLayer.Clear ();
+			doc.ToolLayer.Hidden = true;
+
+			if (engine.EditMode == EditingMode.Editing) {
+				SimpleHistoryItem hist = new SimpleHistoryItem (Icon, Name);
+				hist.TakeSnapshotOfLayer (doc.CurrentLayerIndex);
+
+				// Redraw the text without the cursor,
+				// and on to the real layer
+				RedrawText (false, false);
+
+				doc.History.PushNewItem (hist);
+			}
+
+			engine.Clear ();
+			doc.Workspace.Invalidate (old_bounds);
+			old_bounds = Rectangle.Zero;
+			is_editing = false;
+		}
+		#endregion
+
+		#region Text Drawing Methods
+		private void RedrawText (bool showCursor, bool useToolLayer)
+		{
+			Cairo.ImageSurface surf;
+			
+			if (!useToolLayer)
+				surf = PintaCore.Workspace.ActiveDocument.CurrentLayer.Surface;
+			else {
+				surf = PintaCore.Workspace.ActiveDocument.ToolLayer.Surface;
+				surf.Clear ();
+			}
+			
+			using (var g = new Cairo.Context (surf)) {
+				g.Save ();
+
+				g.AppendPath (PintaCore.Workspace.ActiveDocument.SelectionPath);
+				g.FillRule = Cairo.FillRule.EvenOdd;
+				g.Clip ();
+
+				g.MoveTo (new Cairo.PointD (engine.Origin.X, engine.Origin.Y));
+				g.Color = PintaCore.Palette.PrimaryColor;
+
+				// Draw the text
+				Pango.CairoHelper.ShowLayout (g, engine.Layout);
+
+				if (showCursor) {
+					var loc = engine.GetCursorLocation ();
+
+					g.Antialias = Cairo.Antialias.None;
+					g.DrawLine (new Cairo.PointD (loc.X, loc.Y), new Cairo.PointD (loc.X, loc.Y + loc.Height), new Cairo.Color (0, 0, 0, 1), 1);
+				}
+
+				g.Restore ();
+			}
+
+			Rectangle r = engine.GetLayoutBounds ();
+			r.Inflate (10, 10);
+
+			PintaCore.Workspace.Invalidate (old_bounds);
+			PintaCore.Workspace.Invalidate (r);
+
+			old_bounds = r;
+		}
+		#endregion
+	}
+}
diff --git a/Pinta.Tools/ZoomTool.cs b/Pinta.Tools/ZoomTool.cs
index 673fd20..c7e4768 100644
--- a/Pinta.Tools/ZoomTool.cs
+++ b/Pinta.Tools/ZoomTool.cs
@@ -98,6 +98,10 @@ namespace Pinta.Tools
 
 		protected override void OnMouseDown (Gtk.DrawingArea canvas, Gtk.ButtonPressEventArgs args, Cairo.PointD point)
 		{
+			// If we are already tracking, ignore any additional mouse down events
+			if (mouseDown > 0)
+				return;
+
 			shape_origin = point;
 
 			switch (args.Event.Button) {
diff --git a/Pinta/AssemblyInfo.cs b/Pinta/AssemblyInfo.cs
index ec508a4..be72114 100644
--- a/Pinta/AssemblyInfo.cs
+++ b/Pinta/AssemblyInfo.cs
@@ -17,7 +17,7 @@ using System.Runtime.CompilerServices;
 // The form "{Major}.{Minor}.*" will automatically update the build and revision,
 // and "{Major}.{Minor}.{Build}.*" will update just the revision.
 
-[assembly: AssemblyVersion ("0.5.0.0")]
+[assembly: AssemblyVersion ("0.6.0.0")]
 
 // The following attributes are used to specify the signing key for the assembly, 
 // if desired. See the Mono documentation for more information about signing.
diff --git a/Pinta/DialogHandlers.cs b/Pinta/DialogHandlers.cs
index 261c1a8..76fd7a3 100644
--- a/Pinta/DialogHandlers.cs
+++ b/Pinta/DialogHandlers.cs
@@ -83,26 +83,41 @@ namespace Pinta
 		{
 			NewImageDialog dialog = new NewImageDialog ();
 
+			dialog.NewImageWidth = PintaCore.Settings.GetSetting<int> ("new-image-width", 800);
+			dialog.NewImageHeight = PintaCore.Settings.GetSetting<int> ("new-image-height", 600);
+
 			dialog.ParentWindow = main_window.GdkWindow;
 			dialog.WindowPosition = Gtk.WindowPosition.CenterOnParent;
 
 			int response = dialog.Run ();
 
-			if (response == (int)Gtk.ResponseType.Ok)
-				PintaCore.Workspace.NewDocument (new Gdk.Size (dialog.NewImageWidth, dialog.NewImageHeight));
+			if (response == (int)Gtk.ResponseType.Ok) {
+				PintaCore.Workspace.NewDocument (new Gdk.Size (dialog.NewImageWidth, dialog.NewImageHeight), false);
+
+				PintaCore.Settings.PutSetting ("new-image-width", dialog.NewImageWidth);
+				PintaCore.Settings.PutSetting ("new-image-height", dialog.NewImageHeight);
+				PintaCore.Settings.SaveSettings ();
+			}
 
 			dialog.Destroy ();
 		}
 
 		private void HandlePintaCoreActionsFileNewScreenshotActivated (object sender, EventArgs e)
 		{
+			int delay = PintaCore.Settings.GetSetting<int> ("screenshot-delay", 0);
+
 			SpinButtonEntryDialog dialog = new SpinButtonEntryDialog (Catalog.GetString ("Take Screenshot"),
-					PintaCore.Chrome.MainWindow, Catalog.GetString ("Delay before taking a screenshot (seconds):"), 0, 300, 0);
+					PintaCore.Chrome.MainWindow, Catalog.GetString ("Delay before taking a screenshot (seconds):"), 0, 300, delay);
 
 			if (dialog.Run () == (int)Gtk.ResponseType.Ok) {
-				GLib.Timeout.Add ((uint)dialog.GetValue () * 1000, () => {
+				delay = dialog.GetValue ();
+
+				PintaCore.Settings.PutSetting ("screenshot-delay", delay);
+				PintaCore.Settings.SaveSettings ();
+
+				GLib.Timeout.Add ((uint)delay * 1000, () => {
 					Screen screen = Screen.Default;
-					Document doc = PintaCore.Workspace.NewDocument (new Size (screen.Width, screen.Height));
+					Document doc = PintaCore.Workspace.NewDocument (new Size (screen.Width, screen.Height), false);
 
 					using (Pixbuf pb = Pixbuf.FromDrawable (screen.RootWindow, screen.RootWindow.Colormap, 0, 0, 0, 0, screen.Width, screen.Height)) {
 						using (Cairo.Context g = new Cairo.Context (doc.Layers[0].Surface)) {
@@ -113,8 +128,12 @@ namespace Pinta
 
 					doc.IsDirty = true;
 
-					if (!PintaCore.Chrome.MainWindow.IsActive)
+					if (!PintaCore.Chrome.MainWindow.IsActive) {
 						PintaCore.Chrome.MainWindow.UrgencyHint = true;
+
+						// Don't flash forever
+						GLib.Timeout.Add (3 * 1000, () => PintaCore.Chrome.MainWindow.UrgencyHint = false);
+					}
 					
 					return false;
 				});
@@ -141,7 +160,7 @@ namespace Pinta
 				var message = string.Format (markup, primary, secondary);
 
 				var md = new MessageDialog (PintaCore.Chrome.MainWindow, DialogFlags.Modal,
-							    MessageType.Question, ButtonsType.None, true,
+							    MessageType.Warning, ButtonsType.None, true,
 							    message, System.IO.Path.GetFileName (PintaCore.Workspace.ActiveDocument.Filename));
 
 				md.AddButton (Catalog.GetString ("Close without saving"), ResponseType.No);
@@ -187,7 +206,7 @@ namespace Pinta
 			Gtk.Clipboard cb = Gtk.Clipboard.Get (Gdk.Atom.Intern ("CLIPBOARD", false));
 
 			if (cb.WaitIsImageAvailable ()) {
-				PintaCore.Layers.FinishSelection ();
+				PintaCore.Tools.Commit ();
 
 				Gdk.Pixbuf image = cb.WaitForImage ();
 
@@ -215,7 +234,7 @@ namespace Pinta
 				Gdk.Pixbuf image = cb.WaitForImage ();
 				Gdk.Size size = new Gdk.Size (image.Width, image.Height);
 
-				PintaCore.Workspace.NewDocument (size);
+				PintaCore.Workspace.NewDocument (size, true);
 				PintaCore.Actions.Edit.Paste.Activate ();
 			} else {
 				ClipboardEmptyError ();
@@ -523,7 +542,7 @@ namespace Pinta
 			if (hasFile)
 				fcd.Filter = PintaCore.System.ImageFormats.GetFormatByFile (document.Filename).Filter;
 			else
-				fcd.Filter = PintaCore.System.ImageFormats.GetFormatByExtension ("jpeg").Filter;
+				fcd.Filter = PintaCore.System.ImageFormats.GetDefaultFormat ().Filter;
 
 			// Replace GTK's ConfirmOverwrite with our own, for UI consistency
 			fcd.ConfirmOverwrite += (eventSender, eventArgs) => {
@@ -548,9 +567,18 @@ namespace Pinta
 						continue;
 				}
 
+				// Always follow the extension rather than the file type drop down
+				// ie: if the user chooses to save a "jpeg" as "foo.png", we are going
+				// to assume they just didn't update the dropdown and really want png
+				var format_type = PintaCore.System.ImageFormats.GetFormatByFile (file);
+
+				if (format_type != null)
+					format = format_type;
+
 				lastDialogDir = fcd.CurrentFolder;
 				SaveFile (document, file, format);
 				RecentManager.Default.AddFull (fcd.Uri, recentData);
+				PintaCore.System.ImageFormats.SetDefaultFormat (Path.GetExtension (file));
 
 				document.HasFile = true;
 				document.PathAndFileName = file;
@@ -580,7 +608,10 @@ namespace Pinta
 				return false;
 			}
 
-			format.Exporter.Export (PintaCore.Layers, file);
+			// Commit any pending changes
+			PintaCore.Tools.Commit ();
+
+			format.Exporter.Export (document, file);
 
 			document.Filename = Path.GetFileName (file);
 			document.IsDirty = false;
diff --git a/Pinta/Dialogs/AboutDialog.cs b/Pinta/Dialogs/AboutDialog.cs
index f725d45..5b2ffa9 100644
--- a/Pinta/Dialogs/AboutDialog.cs
+++ b/Pinta/Dialogs/AboutDialog.cs
@@ -59,14 +59,13 @@ namespace Pinta
 		internal uint TimerHandle;
 
 		string[] authors = new string[] {
-			"Aaron Bockover",
 			"Jonathan Pobst",
-			"Maia Kozheva",
-			"Olivier Dufour",
-			"Richard Cohn"
+			"Khairuddin Ni'am",
+			"Mathias Fussenegger",
 		};
 
 		string[] oldAuthors = new string[] {
+			"Aaron Bockover",
 			"Anirudh Sanjeev",
 			"Greg Lowe",
 			"Hanh Pham",
@@ -78,7 +77,8 @@ namespace Pinta
 			"Maia Kozheva",
 			"Marco Rolappe",
 			"Obinou Conseil",
-			"Olivier Dufour"
+			"Olivier Dufour",
+			"Richard Cohn"
 		};
 
 		public ScrollBox ()
diff --git a/Pinta/Dialogs/AboutPintaTabPage.cs b/Pinta/Dialogs/AboutPintaTabPage.cs
index 24a7180..cd29d0f 100644
--- a/Pinta/Dialogs/AboutPintaTabPage.cs
+++ b/Pinta/Dialogs/AboutPintaTabPage.cs
@@ -39,7 +39,7 @@ namespace Pinta
 			label.Markup = String.Format (
 			    "<b>{0}</b>\n    {1}",
 			    Catalog.GetString ("Version"),
-			    "0.5");
+			    "0.6");
 			    
 			HBox hBoxVersion = new HBox ();
 			hBoxVersion.PackStart (label, false, false, 5);
@@ -54,7 +54,7 @@ namespace Pinta
 
 			label = null;
 			label = new Label ();
-			label.Markup = string.Format ("<b>{0}</b>\n    (c) 2010 {1}", Catalog.GetString ("Copyright"), Catalog.GetString ("by Pinta contributors"));
+			label.Markup = string.Format ("<b>{0}</b>\n    (c) 2010-2011 {1}", Catalog.GetString ("Copyright"), Catalog.GetString ("by Pinta contributors"));
 			HBox hBoxCopyright = new HBox ();
 			hBoxCopyright.PackStart (label, false, false, 5);
 			this.PackStart (hBoxCopyright, false, true, 5);
diff --git a/Pinta/Dialogs/NewImageDialog.cs b/Pinta/Dialogs/NewImageDialog.cs
index b4331ae..f97ae4f 100644
--- a/Pinta/Dialogs/NewImageDialog.cs
+++ b/Pinta/Dialogs/NewImageDialog.cs
@@ -37,11 +37,19 @@ namespace Pinta
 			this.Build ();
 
 			this.Icon = Gtk.IconTheme.Default.LoadIcon ("gtk-new", 16, IconLookupFlags.UseBuiltin);
+			DefaultResponse = ResponseType.Ok;
 			AlternativeButtonOrder = new int[] { (int) ResponseType.Ok, (int) ResponseType.Cancel };
 		}
 
-		public int NewImageWidth { get { return this.widthSpinner.ValueAsInt; } }
-		public int NewImageHeight { get { return this.heightSpinner.ValueAsInt; } }
+		public int NewImageWidth {
+			get { return widthSpinner.ValueAsInt; }
+			set { widthSpinner.Value = value; }
+		}
+
+		public int NewImageHeight {
+			get { return heightSpinner.ValueAsInt; }
+			set { heightSpinner.Value = value; }
+		}
 	}
 }
 
diff --git a/Pinta/Main.cs b/Pinta/Main.cs
index 93b3035..23adf27 100644
--- a/Pinta/Main.cs
+++ b/Pinta/Main.cs
@@ -43,8 +43,8 @@ namespace Pinta
 			string locale_dir;
 			bool devel_mode = File.Exists (Path.Combine (Path.Combine (app_dir, ".."), "Pinta.sln"));
 			
-			if (Platform.GetOS () != Platform.OS.X11 || devel_mode)
-				locale_dir = Path.Combine (app_dir, "locale");	
+			if (SystemManager.GetOperatingSystem () != OS.X11 || devel_mode)
+				locale_dir = Path.Combine (app_dir, "locale");
 			else {
 				// From MonoDevelop:
 				// Pinta is located at $prefix/lib/pinta
@@ -89,7 +89,7 @@ namespace Pinta
 				
 			if (extra.Count > 0) {
 				// Not sure what this does for Mac, so I'm not touching it
-				if (Platform.GetOS () == Platform.OS.Mac) {
+				if (PintaCore.System.OperatingSystem == OS.Mac) {
 					string arg = args[0];
 
 					if (args[0].StartsWith ("-psn_")) {
@@ -100,16 +100,16 @@ namespace Pinta
 					}
 				
 					if (!string.IsNullOrEmpty (arg)) {
-						PintaCore.Workspace.OpenFile (arg);
-						PintaCore.Workspace.ActiveDocument.HasFile = true;
+						if (PintaCore.Workspace.OpenFile (arg))
+							PintaCore.Workspace.ActiveDocument.HasFile = true;
 					}
 				} else {
-					PintaCore.Workspace.OpenFile (extra[0]);
-					PintaCore.Workspace.ActiveDocument.HasFile = true;
+					if (PintaCore.Workspace.OpenFile (extra[0]))
+						PintaCore.Workspace.ActiveDocument.HasFile = true;
 				}				
 			} else {
 				// Create a blank document
-				PintaCore.Workspace.NewDocument (new Gdk.Size (800, 600));
+				PintaCore.Workspace.NewDocument (new Gdk.Size (800, 600), false);
 			}
 			
 			Application.Run ();
diff --git a/Pinta/MainWindow.cs b/Pinta/MainWindow.cs
index e6a8c25..8ee6f94 100644
--- a/Pinta/MainWindow.cs
+++ b/Pinta/MainWindow.cs
@@ -74,11 +74,14 @@ namespace Pinta
 			LoadEffects ();
 			//CreateStatusBar ();
 
-			this.Icon = PintaCore.Resources.GetIcon ("Pinta.png");
 			canvas.IsFocus = true;
 
 			UpdateRulerRange ();
 
+			PintaCore.Chrome.DrawingArea.SizeAllocated += delegate {
+				UpdateRulerRange ();
+			};
+
 			dialog_handler = new DialogHandlers (this);
 			PintaCore.Actions.View.ZoomToWindow.Activated += new EventHandler (ZoomToWindow_Activated);
 			PintaCore.Actions.View.ZoomToSelection.Activated += new EventHandler (ZoomToSelection_Activated);
@@ -122,7 +125,7 @@ namespace Pinta
 
 			this.DragDataReceived += MainWindow_DragDataReceived;
 
-			if (Platform.GetOS () == Platform.OS.Mac) {
+			if (PintaCore.System.OperatingSystem == OS.Mac) {
 				try {
 					//enable the global key handler for keyboard shortcuts
 					IgeMacMenu.GlobalKeyHandlerEnabled = true;
@@ -333,6 +336,9 @@ namespace Pinta
 			//var container = new CompositionContainer (catalog);
 
 			//container.ComposeParts (extensions);
+
+			//foreach (var extension in extensions.Extensions)
+			//        extension.Initialize ();
 		}
 
 		private void LoadPaintBrushes ()
@@ -359,7 +365,7 @@ namespace Pinta
 				fact.AddDefault ();
 
 				// Create a gtk action for each adjustment
-				Gtk.Action act = new Gtk.Action (effect.GetType ().Name, effect.Text + (effect.IsConfigurable ? "..." : ""), string.Empty, effect.Icon);
+				Gtk.Action act = new Gtk.Action (effect.GetType ().Name, effect.Text + (effect.IsConfigurable ? Catalog.GetString ("...") : ""), string.Empty, effect.Icon);
 				PintaCore.Actions.Adjustments.Actions.Add (act);
 				act.Activated += delegate (object sender, EventArgs e) { PintaCore.LivePreview.Start (extensions.Effects.Where (t => t.GetType ().Name == (sender as Gtk.Action).Name).First ()); };
 
@@ -375,7 +381,7 @@ namespace Pinta
 				fact.AddDefault ();
 
 				// Create a gtk action and menu item for each effect
-				Gtk.Action act = new Gtk.Action (effect.GetType ().Name, effect.Text + (effect.IsConfigurable ? "..." : ""), string.Empty, effect.Icon);
+				Gtk.Action act = new Gtk.Action (effect.GetType ().Name, effect.Text + (effect.IsConfigurable ? Catalog.GetString ("...") : ""), string.Empty, effect.Icon);
 				PintaCore.Actions.Effects.AddEffect (effect.EffectMenuCategory, act);
 				act.Activated += delegate (object sender, EventArgs e) { PintaCore.LivePreview.Start (extensions.Effects.Where (t => t.GetType ().Name == (sender as Gtk.Action).Name).First ()); };
 			}
@@ -431,7 +437,7 @@ namespace Pinta
 
 			// On non-Windows systems, we clip to sufficient size for
 			// "both-horiz" mode.
-			if (Platform.GetOS () == Platform.OS.Windows)
+			if (PintaCore.System.OperatingSystem == OS.Windows)
 				tool_toolbar.HeightRequest = 28;
 			else
 				tool_toolbar.HeightRequest = 42;
@@ -476,8 +482,8 @@ namespace Pinta
 				Name = "main_toolbar",
 				ShowArrow = false,
 			};
-			
-			if (Platform.GetOS () == Platform.OS.Windows) {
+
+			if (PintaCore.System.OperatingSystem == OS.Windows) {
 				main_toolbar.ToolbarStyle = ToolbarStyle.Icons;
 				main_toolbar.IconSize = IconSize.SmallToolbar;
 			}
@@ -550,9 +556,10 @@ namespace Pinta
 			toolbox_item.Icon = PintaCore.Resources.GetIcon ("Tools.Pencil.png");
 			toolbox_item.Behavior |= DockItemBehavior.CantClose;
 			toolbox_item.DefaultWidth = 65;
-			
-			Gtk.Action show_toolbox = show_pad.AppendAction ("Tools", Catalog.GetString ("Tools"), null, "Tools.Pencil.png");
-			show_toolbox.Activated += delegate { toolbox_item.Visible = true; };
+
+			Gtk.ToggleAction show_toolbox = show_pad.AppendToggleAction ("Tools", Catalog.GetString ("Tools"), null, "Tools.Pencil.png");
+			show_toolbox.Activated += delegate { toolbox_item.Visible = show_toolbox.Active; };
+			toolbox_item.VisibleChanged += delegate { show_toolbox.Active = toolbox_item.Visible; };
 		
 			// Palette pad
 			DockItem palette_item = dock.AddItem ("Palette");
@@ -565,8 +572,9 @@ namespace Pinta
 			palette_item.Behavior |= DockItemBehavior.CantClose;
 			palette_item.DefaultWidth = 65;
 
-			Gtk.Action show_palette = show_pad.AppendAction ("Palette", Catalog.GetString ("Palette"), null, "Pinta.png");
-			show_palette.Activated += delegate { palette_item.Visible = true; };
+			Gtk.ToggleAction show_palette = show_pad.AppendToggleAction ("Palette", Catalog.GetString ("Palette"), null, "Pinta.png");
+			show_palette.Activated += delegate { palette_item.Visible = show_palette.Active; };
+			palette_item.VisibleChanged += delegate { show_palette.Active = palette_item.Visible; };
 		
 			// Canvas pad
 			DockItem documentDockItem = dock.AddItem ("Canvas");
@@ -635,8 +643,9 @@ namespace Pinta
 			layers_tb.Add (PintaCore.Actions.Layers.MoveLayerUp.CreateDockToolBarItem ());
 			layers_tb.Add (PintaCore.Actions.Layers.MoveLayerDown.CreateDockToolBarItem ());
 
-			Gtk.Action show_layers = show_pad.AppendAction ("Layers", Catalog.GetString ("Layers"), null, "Menu.Layers.MergeLayerDown.png");
-			show_layers.Activated += delegate { layers_item.Visible = true; };
+			Gtk.ToggleAction show_layers = show_pad.AppendToggleAction ("Layers", Catalog.GetString ("Layers"), null, "Menu.Layers.MergeLayerDown.png");
+			show_layers.Activated += delegate { layers_item.Visible = show_layers.Active; };
+			layers_item.VisibleChanged += delegate { show_layers.Active = layers_item.Visible; };
 
 			// History pad
 			HistoryTreeView history = new HistoryTreeView ();
@@ -650,9 +659,9 @@ namespace Pinta
 
 			history_tb.Add (PintaCore.Actions.Edit.Undo.CreateDockToolBarItem ());
 			history_tb.Add (PintaCore.Actions.Edit.Redo.CreateDockToolBarItem ());
-
-			Gtk.Action show_history = show_pad.AppendAction ("History", Catalog.GetString ("History"), null, "Menu.Layers.DuplicateLayer.png");
-			show_history.Activated += delegate { history_item.Visible = true; };
+			Gtk.ToggleAction show_history = show_pad.AppendToggleAction ("History", Catalog.GetString ("History"), null, "Menu.Layers.DuplicateLayer.png");
+			show_history.Activated += delegate { history_item.Visible = show_history.Active; };
+			history_item.VisibleChanged += delegate { show_history.Active = history_item.Visible; };
 
 			container.PackStart (dock, true, true, 0);
 			
@@ -665,6 +674,11 @@ namespace Pinta
 				dock.CreateLayout ("Default", false);
 				
 			dock.CurrentLayout = "Default";
+
+			show_toolbox.Active = toolbox_item.Visible;
+			show_palette.Active = palette_item.Visible;
+			show_layers.Active = layers_item.Visible;
+			show_history.Active = history_item.Visible;
 		}
 		#endregion
 
diff --git a/Pinta/Pinta.csproj b/Pinta/Pinta.csproj
index 2894dd5..46b4144 100644
--- a/Pinta/Pinta.csproj
+++ b/Pinta/Pinta.csproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -79,6 +79,9 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
     <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
   </PropertyGroup>
+  <PropertyGroup>
+    <ApplicationIcon>Pinta.ico</ApplicationIcon>
+  </PropertyGroup>
   <ItemGroup>
     <Reference Include="atk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
     <Reference Include="System" />
@@ -140,7 +143,6 @@
     <Compile Include="gtk-gui\Pinta.ResizeImageDialog.cs" />
     <Compile Include="Dialogs\ResizeCanvasDialog.cs" />
     <Compile Include="gtk-gui\Pinta.ResizeCanvasDialog.cs" />
-    <Compile Include="Platform.cs" />
     <Compile Include="IgeMacMenu.cs" />
     <Compile Include="gtk-gui\Pinta.ProgressDialog.cs" />
     <Compile Include="Dialogs\ProgressDialog.cs" />
@@ -182,4 +184,7 @@
       <Name>Pinta.Tools</Name>
     </ProjectReference>
   </ItemGroup>
+  <ItemGroup>
+    <Content Include="Pinta.ico" />
+  </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/Pinta/Platform.cs b/Pinta/Platform.cs
deleted file mode 100644
index 9d96901..0000000
--- a/Pinta/Platform.cs
+++ /dev/null
@@ -1,89 +0,0 @@
-// 
-// Platform.cs
-//  
-// Author:
-//       jurgenobernolte <${AuthorEmail}>
-// 
-// Copyright (c) 2010 jurgenobernolte
-// 
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-// 
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-using System;
-using System.Runtime.InteropServices; 
-
-namespace Pinta
-{
-
-
-	public static class Platform
-	{
-		[DllImport("libc")]
-		static extern int uname (IntPtr buf);
-		private static bool isWindows;
-		private static bool isMac;
-		private static bool isX11;
-		
-		public enum OS
-		{
-			Windows,
-			Mac,
-			X11,
-			Unknown
-		}
-		
-		static Platform() 
-		{
-			isWindows = System.IO.Path.DirectorySeparatorChar == '\\';
-			isMac = !isWindows && IsRunningOnMac ();
-			isX11 = !isMac && System.Environment.OSVersion.Platform == PlatformID.Unix;
-		}
-		
-		public static OS GetOS ()
-		{
-			if (isWindows)
-				return OS.Windows;
-			if (isMac)
-				return OS.Mac;
-			if (isX11)
-				return OS.X11;
-			return OS.Unknown;
-		}
-		
-		//From Managed.Windows.Forms/XplatUI
-		static bool IsRunningOnMac ()
-		{
-			IntPtr buf = IntPtr.Zero;
-			try {
-				buf = Marshal.AllocHGlobal (8192);
-				// This is a hacktastic way of getting sysname from uname ()
-				if (uname (buf) == 0) {
-					string os = Marshal.PtrToStringAnsi (buf);
-					if (os == "Darwin")
-						return true;
-				}
-			} catch {
-			} finally {
-				if (buf != IntPtr.Zero)
-					Marshal.FreeHGlobal (buf);
-			}
-			return false;
-		}
-		
-	}
-}
diff --git a/System.ComponentModel.Composition/AssemblyInfo.cs b/System.ComponentModel.Composition/AssemblyInfo.cs
deleted file mode 100644
index 6bb2f4a..0000000
--- a/System.ComponentModel.Composition/AssemblyInfo.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-//------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-//------------------------------------------------------------
-[assembly: System.CLSCompliant(true)]
-[assembly: System.Reflection.AssemblyTitle("System.ComponentModel.Composition")]
-[assembly: System.Reflection.AssemblyCopyright("(c) Microsoft Corporation. All rights reserved.")]
-[assembly: System.Reflection.AssemblyVersion("2010.02.11")]
-[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("System.ComponentModel.Composition.UnitTests")]
-[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("System.ComponentModel.Composition.UnitTestFramework")]
diff --git a/System.ComponentModel.Composition/ComponentModel.csproj b/System.ComponentModel.Composition/ComponentModel.csproj
deleted file mode 100644
index eaecf91..0000000
--- a/System.ComponentModel.Composition/ComponentModel.csproj
+++ /dev/null
@@ -1,237 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
-    <CodeAnalysisRuleSet>Migrated rules for ComponentModel.ruleset</CodeAnalysisRuleSet>
-    <CodeAnalysisRules />
-  </PropertyGroup>
-    <PropertyGroup>
-    <OutputPath>..\..\bin</OutputPath>
-    <DefineConstants>$(DefineConstants);TRACE</DefineConstants>
-    <NoWarn>1570;1572;1573;1591;1699</NoWarn>
-  </PropertyGroup>
-  <PropertyGroup>
-    <ProductVersion>10.0.20729</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{1BBA5101-D4F0-48B8-A5D6-7B23A099DCE3}</ProjectGuid>
-    <ProjectClrTypes>FULLCLR;SILVERLIGHT</ProjectClrTypes>
-    <OutputType>Library</OutputType>
-    <RootNamespace>Microsoft.Internal</RootNamespace>
-    <AssemblyName>System.ComponentModel.Composition</AssemblyName>
-    <DocumentationFile>$(OutputPath)\System.ComponentModel.Composition.xml</DocumentationFile>
-    <PublishUrl>publish\</PublishUrl>
-    <Install>true</Install>
-    <InstallFrom>Disk</InstallFrom>
-    <UpdateEnabled>false</UpdateEnabled>
-    <UpdateMode>Foreground</UpdateMode>
-    <UpdateInterval>7</UpdateInterval>
-    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
-    <UpdatePeriodically>false</UpdatePeriodically>
-    <UpdateRequired>false</UpdateRequired>
-    <MapFileExtensions>true</MapFileExtensions>
-    <ApplicationRevision>0</ApplicationRevision>
-    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
-    <IsWebBootstrapper>false</IsWebBootstrapper>
-    <UseApplicationTrust>false</UseApplicationTrust>
-    <BootstrapperEnabled>true</BootstrapperEnabled>
-  </PropertyGroup>
-  <PropertyGroup>
-    <SignAssembly>true</SignAssembly>
-    <NoStdLib>true</NoStdLib>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(USE_CUSTOM_KEY)' != 'true'">
-    <CreateMetaAssembly>true</CreateMetaAssembly>
-    <CreateRefAssembly>true</CreateRefAssembly>
-    <PublishMetaAssemblyToSDK>true</PublishMetaAssemblyToSDK>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="mscorlib" />
-    <Reference Include="System" />
-    <Reference Include="System.Core" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="AssemblyInfo.cs" />
-    <Compile Include="Microsoft\Internal\Assumes.cs" />
-    <Compile Include="Microsoft\Internal\AttributeServices.cs" />
-    <Compile Include="Microsoft\Internal\Collections\CollectionServices.cs" />
-    <Compile Include="Microsoft\Internal\Collections\ConditionalWeakTable.cs" />
-    <Compile Include="Microsoft\Internal\Collections\CollectionServices.CollectionOfObject.cs" />
-    <Compile Include="Microsoft\Internal\Collections\EnumerableCardinality.cs" />
-    <Compile Include="Microsoft\Internal\Collections\ReadOnlyDictionary.cs" />
-    <Compile Include="Microsoft\Internal\Collections\ReadOnlyDictionaryDebuggerProxy.cs" />
-    <Compile Include="Microsoft\Internal\Collections\WeakReferenceCollection.cs" />
-    <Compile Include="Microsoft\Internal\ContractServices.cs" />
-    <Compile Include="Microsoft\Internal\Assumes.InternalErrorException.cs" />
-    <Compile Include="Microsoft\Internal\SilverlightReflectionInvoke.cs" />
-    <Compile Include="Microsoft\Internal\GenerationServices.cs" />
-    <Compile Include="Microsoft\Internal\LazyServices.cs" />
-    <Compile Include="Microsoft\Internal\Lock.cs" />
-    <Compile Include="Microsoft\Internal\Lock.Reader.cs" />
-    <Compile Include="Microsoft\Internal\Lock.Writer.cs" />
-    <Compile Include="Microsoft\Internal\Requires.cs" />
-    <Compile Include="Microsoft\Internal\Runtime\Serialization\SerializationServices.cs" />
-    <Compile Include="Microsoft\Internal\StringComparers.cs" />
-    <Compile Include="Microsoft\Internal\ReflectionServices.cs" />
-    <Compile Include="Strings.Designer.cs">
-      <AutoGen>True</AutoGen>
-      <DesignTime>True</DesignTime>
-      <DependentUpon>Strings.resx</DependentUpon>
-      <CustomToolNamespace>Microsoft.Internal</CustomToolNamespace>
-    </Compile>
-    <Compile Include="SuppressMessages.cs" />
-    <Compile Include="SuppressMessagesBaselined.cs" />
-    <Compile Include="System\ComponentModel\Composition\AttributedModelServices.cs" />
-    <Compile Include="System\ComponentModel\Composition\AttributedModel\AttributedModelDiscovery.cs" />
-    <Compile Include="System\ComponentModel\Composition\AttributedModel\AttributedPartCreationInfo.cs" />
-    <Compile Include="System\ComponentModel\Composition\AttributedModel\AttributedExportDefinition.cs" />
-    <Compile Include="System\ComponentModel\Composition\Diagnostics\CompositionTrace.cs" />
-    <Compile Include="System\ComponentModel\Composition\Diagnostics\CompositionTraceId.cs" />
-    <Compile Include="System\ComponentModel\Composition\ConstraintServices.cs" />
-    <Compile Include="System\ComponentModel\Composition\CompositionContractMismatchException.cs" />
-    <Compile Include="System\ComponentModel\Composition\CompositionError.cs" />
-    <Compile Include="System\ComponentModel\Composition\CompositionResultOfT.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\CatalogExportProvider.PartCreatorExport.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\CompositionLock.cs" />
-    <Compile Include="System\ComponentModel\Composition\Diagnostics\CompositionTraceSource.cs" />
-    <Compile Include="System\ComponentModel\Composition\Diagnostics\TraceWriter.cs" />
-    <Compile Include="System\ComponentModel\Composition\Diagnostics\TraceSourceTraceWriter.cs" />
-    <Compile Include="System\ComponentModel\Composition\Diagnostics\SilverlightTraceWriter.cs" />
-    <Compile Include="System\ComponentModel\Composition\InheritedExportAttribute.cs" />
-    <Compile Include="System\ComponentModel\Composition\ExportServices.DisposableLazy.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\AtomicComposition.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\AtomicCompositionExtensions.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\CompositionConstants.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\CatalogExportProvider.CatalogChangeProxy.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\IPartCreatorImportDefinition.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\PartCreatorExportDefinition.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\PartCreatorParameterImportDefinition.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\PartCreatorMemberImportDefinition.cs" />
-    <Compile Include="System\ComponentModel\Composition\IAttributedImport.cs" />
-    <Compile Include="System\ComponentModel\Composition\ImportCardinalityMismatchException.cs" />
-    <Compile Include="System\ComponentModel\Composition\ImportManyAttribute.cs" />
-    <Compile Include="System\ComponentModel\Composition\ErrorBuilder.cs" />
-    <Compile Include="System\ComponentModel\Composition\CompositionErrorDebuggerProxy.cs" />
-    <Compile Include="System\ComponentModel\Composition\ExceptionBuilder.cs" />
-    <Compile Include="System\ComponentModel\Composition\ExportCardinalityCheckResult.cs" />
-    <Compile Include="System\ComponentModel\Composition\ExportServices.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\AggregateCatalog.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\AggregateExportProvider.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\AssemblyCatalog.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\AssemblyCatalogDebuggerProxy.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\CatalogExportProvider.CatalogExport.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\CatalogExportProvider.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\ComposablePartCatalogChangeEventArgs.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\ComposablePartCatalogCollection.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\ComposablePartExportProvider.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\CompositionBatch.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\CompositionBatch.SingleExportComposablePart.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\CompositionContainer.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\CompositionServices.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\ExportProvider.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\ExportProvider.GetExportOverrides.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\ExportsChangeEventArgs.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\ImportEngine.RecompositionManager.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\ImportEngine.EngineContext.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\ImportEngine.PartManager.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\ImportEngine.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\INotifyComposablePartCatalogChanged.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\TypeCatalog.cs" />
-    <Compile Include="System\ComponentModel\Composition\ICompositionError.cs" />
-    <Compile Include="System\ComponentModel\Composition\ImportingConstructorAttribute.cs" />
-    <Compile Include="System\ComponentModel\Composition\IPartImportsSatisfiedNotification.cs" />
-    <Compile Include="System\ComponentModel\Composition\MetadataServices.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\ComposablePart.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\ComposablePartCatalog.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\ComposablePartCatalogDebuggerProxy.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\ComposablePartDefinition.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\ComposablePartException.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\CompositionElement.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\CompositionElementDebuggerProxy.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\CompositionElementExtensions.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\ContractBasedImportDefinition.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\Export.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\ExportDefinition.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\ExportedDelegate.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\ICompositionElement.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\ImportCardinality.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\ImportDefinition.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\SerializableCompositionElement.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\DisposableReflectionComposablePart.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\IReflectionPartCreationInfo.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\LazyMemberInfo.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionImportDefinition.cs" />
-    <Compile Include="Microsoft\Internal\ReflectionInvoke.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionItemType.cs" />
-    <Compile Include="System\ComponentModel\Composition\MetadataViewProvider.cs" />
-    <Compile Include="System\ComponentModel\Composition\PartCreationPolicyAttribute.cs" />
-    <Compile Include="System\ComponentModel\Composition\PartMetadataAttribute.cs" />
-    <Compile Include="System\ComponentModel\Composition\PartNotDiscoverableAttribute.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionExtensions.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ImportingParameter.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ImportingItem.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ExportingMember.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ImportingMember.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ImportType.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionComposablePart.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionComposablePartDefinition.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionMemberExportDefinition.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionMemberImportDefinition.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionModelServices.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionParameterImportDefinition.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionWritableMember.cs" />
-    <Compile Include="System\ComponentModel\Composition\MetadataViewGenerator.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionField.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionMember.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionParameter.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionProperty.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionType.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionItem.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionMethod.cs" />
-    <Compile Include="System\ComponentModel\Composition\ChangeRejectedException.cs" />
-    <Compile Include="System\ComponentModel\Composition\CompositionException.cs" />
-    <Compile Include="System\ComponentModel\Composition\CompositionErrorId.cs" />
-    <Compile Include="System\ComponentModel\Composition\CompositionResult.cs" />
-    <Compile Include="System\ComponentModel\Composition\ContractNameServices.cs" />
-    <Compile Include="System\ComponentModel\Composition\CreationPolicy.cs" />
-    <Compile Include="System\ComponentModel\Composition\ExportAttribute.cs" />
-    <Compile Include="System\ComponentModel\Composition\ExportMetadataAttribute.cs" />
-    <Compile Include="System\ComponentModel\Composition\ICompositionService.cs" />
-    <Compile Include="System\ComponentModel\Composition\ImportAttribute.cs" />
-    <Compile Include="System\ComponentModel\Composition\MetadataAttributeAttribute.cs" />
-    <Compile Include="System\Lazy.cs" />
-    <Compile Include="System\LazyOfTTMetadata.cs" />
-    <Compile Include="System\Tuple.cs" />
-  </ItemGroup>
-  <ItemGroup Condition="'$(IsSilverLight)' != 'true'">
-    <Compile Include="System\ComponentModel\Composition\Hosting\DirectoryCatalog.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\DirectoryCatalog.DirectoryCatalogDebuggerProxy.cs" />
-  </ItemGroup>
-  <ItemGroup Condition="'$(IsSilverLight)' == 'true'">
-    <Compile Include="SilverlightAdditions.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="Strings.resx">
-      <SubType>Designer</SubType>
-      <Generator>ResXFileCodeGenerator</Generator>
-      <LastGenOutput>Strings.Designer.cs</LastGenOutput>
-      <CustomToolNamespace>Microsoft.Internal</CustomToolNamespace>
-    </EmbeddedResource>
-  </ItemGroup>
-  <ItemGroup>
-    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
-      <Install>false</Install>
-    </BootstrapperPackage>
-    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework 3.5 SP1</ProductName>
-      <Install>true</Install>
-    </BootstrapperPackage>
-    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
-      <Visible>False</Visible>
-      <ProductName>Windows Installer 3.1</ProductName>
-      <Install>true</Install>
-    </BootstrapperPackage>
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
-</Project>
diff --git a/System.ComponentModel.Composition/Makefile.am b/System.ComponentModel.Composition/Makefile.am
deleted file mode 100644
index ef55508..0000000
--- a/System.ComponentModel.Composition/Makefile.am
+++ /dev/null
@@ -1,165 +0,0 @@
-include $(top_srcdir)/Makefile.include
-
-ASSEMBLY = System.Composition.ComponentModel
-TARGET = library
-
-REFERENCES = \
-	-r:mscorlib \
-	-r:System \
-	-r:System.Core
-
-SOURCES =  \
-	AssemblyInfo.cs \
-	Microsoft/Internal/Assumes.cs \
-	Microsoft/Internal/AttributeServices.cs \
-	Microsoft/Internal/Collections/CollectionServices.cs \
-	Microsoft/Internal/Collections/ConditionalWeakTable.cs \
-	Microsoft/Internal/Collections/CollectionServices.CollectionOfObject.cs \
-	Microsoft/Internal/Collections/EnumerableCardinality.cs \
-	Microsoft/Internal/Collections/ReadOnlyDictionary.cs \
-	Microsoft/Internal/Collections/ReadOnlyDictionaryDebuggerProxy.cs \
-	Microsoft/Internal/Collections/WeakReferenceCollection.cs \
-	Microsoft/Internal/ContractServices.cs \
-	Microsoft/Internal/Assumes.InternalErrorException.cs \
-	Microsoft/Internal/SilverlightReflectionInvoke.cs \
-	Microsoft/Internal/GenerationServices.cs \
-	Microsoft/Internal/LazyServices.cs \
-	Microsoft/Internal/Lock.cs \
-	Microsoft/Internal/Lock.Reader.cs \
-	Microsoft/Internal/Lock.Writer.cs \
-	Microsoft/Internal/Requires.cs \
-	Microsoft/Internal/Runtime/Serialization/SerializationServices.cs \
-	Microsoft/Internal/StringComparers.cs \
-	Microsoft/Internal/ReflectionServices.cs \
-	Strings.Designer.cs \
-	SuppressMessages.cs \
-	SuppressMessagesBaselined.cs \
-	System/ComponentModel/Composition/AttributedModelServices.cs \
-	System/ComponentModel/Composition/AttributedModel/AttributedModelDiscovery.cs \
-	System/ComponentModel/Composition/AttributedModel/AttributedPartCreationInfo.cs \
-	System/ComponentModel/Composition/AttributedModel/AttributedExportDefinition.cs \
-	System/ComponentModel/Composition/Diagnostics/CompositionTrace.cs \
-	System/ComponentModel/Composition/Diagnostics/CompositionTraceId.cs \
-	System/ComponentModel/Composition/ConstraintServices.cs \
-	System/ComponentModel/Composition/CompositionContractMismatchException.cs \
-	System/ComponentModel/Composition/CompositionError.cs \
-	System/ComponentModel/Composition/CompositionResultOfT.cs \
-	System/ComponentModel/Composition/Hosting/CatalogExportProvider.PartCreatorExport.cs \
-	System/ComponentModel/Composition/Hosting/CompositionLock.cs \
-	System/ComponentModel/Composition/Diagnostics/CompositionTraceSource.cs \
-	System/ComponentModel/Composition/Diagnostics/TraceWriter.cs \
-	System/ComponentModel/Composition/Diagnostics/TraceSourceTraceWriter.cs \
-	System/ComponentModel/Composition/Diagnostics/SilverlightTraceWriter.cs \
-	System/ComponentModel/Composition/InheritedExportAttribute.cs \
-	System/ComponentModel/Composition/ExportServices.DisposableLazy.cs \
-	System/ComponentModel/Composition/Hosting/AtomicComposition.cs \
-	System/ComponentModel/Composition/Hosting/AtomicCompositionExtensions.cs \
-	System/ComponentModel/Composition/Hosting/CompositionConstants.cs \
-	System/ComponentModel/Composition/Hosting/CatalogExportProvider.CatalogChangeProxy.cs \
-	System/ComponentModel/Composition/Primitives/IPartCreatorImportDefinition.cs \
-	System/ComponentModel/Composition/ReflectionModel/PartCreatorExportDefinition.cs \
-	System/ComponentModel/Composition/ReflectionModel/PartCreatorParameterImportDefinition.cs \
-	System/ComponentModel/Composition/ReflectionModel/PartCreatorMemberImportDefinition.cs \
-	System/ComponentModel/Composition/IAttributedImport.cs \
-	System/ComponentModel/Composition/ImportCardinalityMismatchException.cs \
-	System/ComponentModel/Composition/ImportManyAttribute.cs \
-	System/ComponentModel/Composition/ErrorBuilder.cs \
-	System/ComponentModel/Composition/CompositionErrorDebuggerProxy.cs \
-	System/ComponentModel/Composition/ExceptionBuilder.cs \
-	System/ComponentModel/Composition/ExportCardinalityCheckResult.cs \
-	System/ComponentModel/Composition/ExportServices.cs \
-	System/ComponentModel/Composition/Hosting/AggregateCatalog.cs \
-	System/ComponentModel/Composition/Hosting/AggregateExportProvider.cs \
-	System/ComponentModel/Composition/Hosting/AssemblyCatalog.cs \
-	System/ComponentModel/Composition/Hosting/AssemblyCatalogDebuggerProxy.cs \
-	System/ComponentModel/Composition/Hosting/CatalogExportProvider.CatalogExport.cs \
-	System/ComponentModel/Composition/Hosting/CatalogExportProvider.cs \
-	System/ComponentModel/Composition/Hosting/ComposablePartCatalogChangeEventArgs.cs \
-	System/ComponentModel/Composition/Hosting/ComposablePartCatalogCollection.cs \
-	System/ComponentModel/Composition/Hosting/ComposablePartExportProvider.cs \
-	System/ComponentModel/Composition/Hosting/CompositionBatch.cs \
-	System/ComponentModel/Composition/Hosting/CompositionBatch.SingleExportComposablePart.cs \
-	System/ComponentModel/Composition/Hosting/CompositionContainer.cs \
-	System/ComponentModel/Composition/Hosting/CompositionServices.cs \
-	System/ComponentModel/Composition/Hosting/ExportProvider.cs \
-	System/ComponentModel/Composition/Hosting/ExportProvider.GetExportOverrides.cs \
-	System/ComponentModel/Composition/Hosting/ExportsChangeEventArgs.cs \
-	System/ComponentModel/Composition/Hosting/ImportEngine.RecompositionManager.cs \
-	System/ComponentModel/Composition/Hosting/ImportEngine.EngineContext.cs \
-	System/ComponentModel/Composition/Hosting/ImportEngine.PartManager.cs \
-	System/ComponentModel/Composition/Hosting/ImportEngine.cs \
-	System/ComponentModel/Composition/Hosting/INotifyComposablePartCatalogChanged.cs \
-	System/ComponentModel/Composition/Hosting/TypeCatalog.cs \
-	System/ComponentModel/Composition/ICompositionError.cs \
-	System/ComponentModel/Composition/ImportingConstructorAttribute.cs \
-	System/ComponentModel/Composition/IPartImportsSatisfiedNotification.cs \
-	System/ComponentModel/Composition/MetadataServices.cs \
-	System/ComponentModel/Composition/Primitives/ComposablePart.cs \
-	System/ComponentModel/Composition/Primitives/ComposablePartCatalog.cs \
-	System/ComponentModel/Composition/Primitives/ComposablePartCatalogDebuggerProxy.cs \
-	System/ComponentModel/Composition/Primitives/ComposablePartDefinition.cs \
-	System/ComponentModel/Composition/Primitives/ComposablePartException.cs \
-	System/ComponentModel/Composition/Primitives/CompositionElement.cs \
-	System/ComponentModel/Composition/Primitives/CompositionElementDebuggerProxy.cs \
-	System/ComponentModel/Composition/Primitives/CompositionElementExtensions.cs \
-	System/ComponentModel/Composition/Primitives/ContractBasedImportDefinition.cs \
-	System/ComponentModel/Composition/Primitives/Export.cs \
-	System/ComponentModel/Composition/Primitives/ExportDefinition.cs \
-	System/ComponentModel/Composition/Primitives/ExportedDelegate.cs \
-	System/ComponentModel/Composition/Primitives/ICompositionElement.cs \
-	System/ComponentModel/Composition/Primitives/ImportCardinality.cs \
-	System/ComponentModel/Composition/Primitives/ImportDefinition.cs \
-	System/ComponentModel/Composition/Primitives/SerializableCompositionElement.cs \
-	System/ComponentModel/Composition/ReflectionModel/DisposableReflectionComposablePart.cs \
-	System/ComponentModel/Composition/ReflectionModel/IReflectionPartCreationInfo.cs \
-	System/ComponentModel/Composition/ReflectionModel/LazyMemberInfo.cs \
-	System/ComponentModel/Composition/ReflectionModel/ReflectionImportDefinition.cs \
-	Microsoft/Internal/ReflectionInvoke.cs \
-	System/ComponentModel/Composition/ReflectionModel/ReflectionItemType.cs \
-	System/ComponentModel/Composition/MetadataViewProvider.cs \
-	System/ComponentModel/Composition/PartCreationPolicyAttribute.cs \
-	System/ComponentModel/Composition/PartMetadataAttribute.cs \
-	System/ComponentModel/Composition/PartNotDiscoverableAttribute.cs \
-	System/ComponentModel/Composition/ReflectionModel/ReflectionExtensions.cs \
-	System/ComponentModel/Composition/ReflectionModel/ImportingParameter.cs \
-	System/ComponentModel/Composition/ReflectionModel/ImportingItem.cs \
-	System/ComponentModel/Composition/ReflectionModel/ExportingMember.cs \
-	System/ComponentModel/Composition/ReflectionModel/ImportingMember.cs \
-	System/ComponentModel/Composition/ReflectionModel/ImportType.cs \
-	System/ComponentModel/Composition/ReflectionModel/ReflectionComposablePart.cs \
-	System/ComponentModel/Composition/ReflectionModel/ReflectionComposablePartDefinition.cs \
-	System/ComponentModel/Composition/ReflectionModel/ReflectionMemberExportDefinition.cs \
-	System/ComponentModel/Composition/ReflectionModel/ReflectionMemberImportDefinition.cs \
-	System/ComponentModel/Composition/ReflectionModel/ReflectionModelServices.cs \
-	System/ComponentModel/Composition/ReflectionModel/ReflectionParameterImportDefinition.cs \
-	System/ComponentModel/Composition/ReflectionModel/ReflectionWritableMember.cs \
-	System/ComponentModel/Composition/MetadataViewGenerator.cs \
-	System/ComponentModel/Composition/ReflectionModel/ReflectionField.cs \
-	System/ComponentModel/Composition/ReflectionModel/ReflectionMember.cs \
-	System/ComponentModel/Composition/ReflectionModel/ReflectionParameter.cs \
-	System/ComponentModel/Composition/ReflectionModel/ReflectionProperty.cs \
-	System/ComponentModel/Composition/ReflectionModel/ReflectionType.cs \
-	System/ComponentModel/Composition/ReflectionModel/ReflectionItem.cs \
-	System/ComponentModel/Composition/ReflectionModel/ReflectionMethod.cs \
-	System/ComponentModel/Composition/ChangeRejectedException.cs \
-	System/ComponentModel/Composition/CompositionException.cs \
-	System/ComponentModel/Composition/CompositionErrorId.cs \
-	System/ComponentModel/Composition/CompositionResult.cs \
-	System/ComponentModel/Composition/ContractNameServices.cs \
-	System/ComponentModel/Composition/CreationPolicy.cs \
-	System/ComponentModel/Composition/ExportAttribute.cs \
-	System/ComponentModel/Composition/ExportMetadataAttribute.cs \
-	System/ComponentModel/Composition/ICompositionService.cs \
-	System/ComponentModel/Composition/ImportAttribute.cs \
-	System/ComponentModel/Composition/MetadataAttributeAttribute.cs \
-	System/Lazy.cs \
-	System/LazyOfTTMetadata.cs \
-	System/Tuple.cs \
-	System/ComponentModel/Composition/Hosting/DirectoryCatalog.cs \
-	System/ComponentModel/Composition/Hosting/DirectoryCatalog.DirectoryCatalogDebuggerProxy.cs 
-
-RESOURCES = \
-	Strings.resx
-
-# ,System.ComponentModel.Composition.Strings.resources 
-
diff --git a/System.ComponentModel.Composition/Microsoft/Internal/Assumes.InternalErrorException.cs b/System.ComponentModel.Composition/Microsoft/Internal/Assumes.InternalErrorException.cs
deleted file mode 100644
index 3059b63..0000000
--- a/System.ComponentModel.Composition/Microsoft/Internal/Assumes.InternalErrorException.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Diagnostics.CodeAnalysis;
-using System.Globalization;
-using System.Runtime.Serialization;
-
-namespace Microsoft.Internal
-{
-    partial class Assumes
-    {
-        // The exception that is thrown when an internal assumption failed.
-        [Serializable]
-        [SuppressMessage("Microsoft.Design", "CA1064:ExceptionsShouldBePublic")]
-        private class InternalErrorException : Exception
-        {
-            public InternalErrorException(string message)
-                : base(string.Format(CultureInfo.CurrentCulture, Strings.InternalExceptionMessage, message))
-            {
-            }
-
-#if !SILVERLIGHT
-            [System.Security.SecuritySafeCritical]
-            protected InternalErrorException(SerializationInfo info, StreamingContext context)
-                : base(info, context)
-            {
-            }
-#endif
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/Microsoft/Internal/Assumes.cs b/System.ComponentModel.Composition/Microsoft/Internal/Assumes.cs
deleted file mode 100644
index 2aa03cd..0000000
--- a/System.ComponentModel.Composition/Microsoft/Internal/Assumes.cs
+++ /dev/null
@@ -1,102 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel;
-using System.Diagnostics;
-using System.Diagnostics.CodeAnalysis;
-using System.Globalization;
-using System.Runtime.Serialization;
-
-namespace Microsoft.Internal
-{
-    internal static partial class Assumes
-    {
-        [DebuggerStepThrough]
-        internal static void NotNull<T>(T value)
-            where T : class
-        {
-            IsTrue(value != null);
-        }
-
-        [DebuggerStepThrough]
-        internal static void NotNull<T1, T2>(T1 value1, T2 value2)
-            where T1 : class
-            where T2 : class
-        {
-            NotNull(value1);
-            NotNull(value2);
-        }
-
-        [DebuggerStepThrough]
-        internal static void NotNull<T1, T2, T3>(T1 value1, T2 value2, T3 value3)
-            where T1 : class
-            where T2 : class
-            where T3 : class
-        {
-            NotNull(value1);
-            NotNull(value2);
-            NotNull(value3);
-        }
-
-        [DebuggerStepThrough]
-        internal static void NotNullOrEmpty<T>(T[] values)
-        {
-            Assumes.NotNull(values);
-            Assumes.IsTrue(values.Length > 0);
-        }
-
-        [DebuggerStepThrough]
-        internal static void NotNullOrEmpty(string value)
-        {
-            NotNull(value);
-            IsTrue(value.Length > 0);
-        }
-
-        [DebuggerStepThrough]
-        internal static void Null<T>(T value)
-            where T : class
-        {
-            IsTrue(value == null);
-        }
-
-        [DebuggerStepThrough]
-        internal static void IsFalse(bool condition)
-        {
-            if (condition)
-            {
-                Fail(null);
-            }
-        }
-
-        [DebuggerStepThrough]
-        internal static void IsTrue(bool condition)
-        {
-            if (!condition)
-            {
-                Fail(null);
-            }
-        }
-
-        [DebuggerStepThrough]
-        internal static void IsTrue(bool condition, [Localizable(false)]string message)
-        {
-            if (!condition)
-            {
-                Fail(message);
-            }
-        }
-
-        [DebuggerStepThrough]
-        internal static void Fail([Localizable(false)]string message)
-        {
-            throw new InternalErrorException(message);
-        }
-
-        [DebuggerStepThrough]
-        internal static T NotReachable<T>()
-        {
-            throw new InternalErrorException("Code path should never be reached!");
-        }
-    } 
-}
diff --git a/System.ComponentModel.Composition/Microsoft/Internal/AttributeServices.cs b/System.ComponentModel.Composition/Microsoft/Internal/AttributeServices.cs
deleted file mode 100644
index 6b9f08b..0000000
--- a/System.ComponentModel.Composition/Microsoft/Internal/AttributeServices.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Reflection;
-
-namespace Microsoft.Internal
-{
-    internal static class AttributeServices
-    {
-        public static T[] GetAttributes<T>(this ICustomAttributeProvider attributeProvider) where T : class
-        {
-            return (T[])attributeProvider.GetCustomAttributes(typeof(T), false);
-        }
-
-        public static T[] GetAttributes<T>(this ICustomAttributeProvider attributeProvider, bool inherit) where T : class
-        {
-            return (T[])attributeProvider.GetCustomAttributes(typeof(T), inherit);
-        }
-
-        public static T GetFirstAttribute<T>(this ICustomAttributeProvider attributeProvider) where T : class
-        {
-            return GetAttributes<T>(attributeProvider).FirstOrDefault();
-        }
-
-        public static T GetFirstAttribute<T>(this ICustomAttributeProvider attributeProvider, bool inherit) where T : class
-        {
-            return GetAttributes<T>(attributeProvider, inherit).FirstOrDefault();
-        }
-
-        public static bool IsAttributeDefined<T>(this ICustomAttributeProvider attributeProvider) where T : class
-        {
-            return attributeProvider.IsDefined(typeof(T), false);
-        }
-
-        public static bool IsAttributeDefined<T>(this ICustomAttributeProvider attributeProvider, bool inherit) where T : class
-        {
-            return attributeProvider.IsDefined(typeof(T), inherit);
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/Microsoft/Internal/Collections/CollectionServices.CollectionOfObject.cs b/System.ComponentModel.Composition/Microsoft/Internal/Collections/CollectionServices.CollectionOfObject.cs
deleted file mode 100644
index e0617a5..0000000
--- a/System.ComponentModel.Composition/Microsoft/Internal/Collections/CollectionServices.CollectionOfObject.cs
+++ /dev/null
@@ -1,145 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Reflection;
-
-namespace Microsoft.Internal.Collections
-{
-    internal static partial class CollectionServices
-    {
-        public static ICollection<object> GetCollectionWrapper(Type itemType, object collectionObject)
-        {
-            Assumes.NotNull(itemType, collectionObject);
-
-            if (itemType == typeof(object))
-            {
-                return (ICollection<object>)collectionObject;
-            }
-
-            // Most common .Net collections implement IList as well so for those
-            // cases we can optimize the wrapping instead of using reflection to create
-            // a generic type.
-            if (typeof(IList).IsAssignableFrom(collectionObject.GetType()))
-            {
-                return new CollectionOfObjectList((IList)collectionObject);
-            }
-
-            Type collectionType = typeof(CollectionOfObject<>).MakeGenericType(itemType);
-
-            return (ICollection<object>)Activator.CreateInstance(collectionType, collectionObject);           
-        }
-
-        private class CollectionOfObjectList : ICollection<object>
-        {
-            private readonly IList _list;
-
-            public CollectionOfObjectList(IList list)
-            {
-                this._list = list;
-            }
-
-            public void Add(object item)
-            {
-                this._list.Add(item);
-            }
-
-            public void Clear()
-            {
-                this._list.Clear();
-            }
-
-            public bool Contains(object item)
-            {
-                return Assumes.NotReachable<bool>();
-            }
-
-            public void CopyTo(object[] array, int arrayIndex)
-            {
-                Assumes.NotReachable<object>();
-            }
-
-            public int Count
-            {
-                get { return Assumes.NotReachable<int>(); }
-            }
-
-            public bool IsReadOnly
-            {
-                get { return this._list.IsReadOnly; }
-            }
-
-            public bool Remove(object item)
-            {
-                return Assumes.NotReachable<bool>();
-            }
-
-            public IEnumerator<object> GetEnumerator()
-            {
-                return Assumes.NotReachable<IEnumerator<object>>();
-            }
-
-            IEnumerator IEnumerable.GetEnumerator()
-            {
-                return Assumes.NotReachable<IEnumerator>();
-            }
-        }
-
-        private class CollectionOfObject<T> : ICollection<object>
-        {
-            private readonly ICollection<T> _collectionOfT;
-
-            public CollectionOfObject(object collectionOfT)
-            {
-                this._collectionOfT = (ICollection<T>)collectionOfT;
-            }
-
-            public void Add(object item)
-            {
-                this._collectionOfT.Add((T) item);
-            }
-
-            public void Clear()
-            {
-                this._collectionOfT.Clear();
-            }
-
-            public bool Contains(object item)
-            {
-                return Assumes.NotReachable<bool>();
-            }
-
-            public void CopyTo(object[] array, int arrayIndex)
-            {
-                Assumes.NotReachable<object>();
-            }
-
-            public int Count
-            {
-                get { return Assumes.NotReachable<int>(); }
-            }
-
-            public bool IsReadOnly
-            {
-                get { return this._collectionOfT.IsReadOnly; }
-            }
-
-            public bool Remove(object item)
-            {
-                return Assumes.NotReachable<bool>();
-            }
-
-            public IEnumerator<object> GetEnumerator()
-            {
-                return Assumes.NotReachable<IEnumerator<object>>();
-            }
-
-            IEnumerator IEnumerable.GetEnumerator()
-            {
-                return Assumes.NotReachable<IEnumerator>();
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/Microsoft/Internal/Collections/CollectionServices.cs b/System.ComponentModel.Composition/Microsoft/Internal/Collections/CollectionServices.cs
deleted file mode 100644
index 714c333..0000000
--- a/System.ComponentModel.Composition/Microsoft/Internal/Collections/CollectionServices.cs
+++ /dev/null
@@ -1,181 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.Diagnostics.CodeAnalysis;
-using System.Globalization;
-using System.Linq;
-
-namespace Microsoft.Internal.Collections
-{
-    internal static partial class CollectionServices
-    {
-        private static readonly Type StringType = typeof(string);
-        private static readonly Type IEnumerableType = typeof(IEnumerable);
-        private static readonly Type IEnumerableOfTType = typeof(IEnumerable<>);
-        private static readonly Type ICollectionOfTType = typeof(ICollection<>);
-
-        public static bool IsEnumerableOfT(Type type)
-        {
-            if (type.IsGenericType)
-            {
-                Type genericType = type.GetGenericTypeDefinition();
-
-                if (genericType == IEnumerableOfTType)
-                {
-                    return true;
-                }
-            }
-            return false;
-        }
-
-        public static Type GetEnumerableElementType(Type type)
-        {
-            if (type == StringType || !IEnumerableType.IsAssignableFrom(type))
-            {
-                return null;
-            }
-
-            Type closedType;
-            if (ReflectionServices.TryGetGenericInterfaceType(type, IEnumerableOfTType, out closedType))
-            {
-                return closedType.GetGenericArguments()[0];
-            }
-
-            return null;
-        }
-
-        public static Type GetCollectionElementType(Type type)
-        {
-            Type closedType;
-            if (ReflectionServices.TryGetGenericInterfaceType(type, ICollectionOfTType, out closedType))
-            {
-                return closedType.GetGenericArguments()[0];
-            }
-
-            return null;
-        }
-
-        public static ReadOnlyCollection<T> ToReadOnlyCollection<T>(this IEnumerable<T> source)
-        {
-            Assumes.NotNull(source);
-
-            return new ReadOnlyCollection<T>(source.AsArray());
-        }
-
-        public static IEnumerable<T> WhereNotNull<T>(this IEnumerable<T> source) where T : class
-        {
-            Assumes.NotNull(source);
-            return source.Where(NotNull); // Use non-generic NotNull for performance reasons
-        }
-        
-        private static bool NotNull(object element)
-        {
-          return element != null;
-        }
-
-        public static IEnumerable<T> ConcatAllowingNull<T>(this IEnumerable<T> source, IEnumerable<T> second)
-        {
-            if (second == null || !second.FastAny())
-            {
-                return source;
-            }
-
-            if (source == null || !source.FastAny())
-            {
-                return second;
-            }
-
-            return source.Concat(second);
-        }
- 
-        public static void ForEach<T>(this IEnumerable<T> source, Action<T> action)
-        {
-            foreach(T t in source)
-            {
-                action.Invoke(t);
-            }
-        }
-
-        public static EnumerableCardinality GetCardinality<T>(this IEnumerable<T> source)
-        {
-            Assumes.NotNull(source);
-
-            // Cast to ICollection instead of ICollection<T> for performance reasons.
-            ICollection collection = source as ICollection;
-            if (collection != null)
-            {
-                switch (collection.Count)
-                {
-                    case 0:
-                        return EnumerableCardinality.Zero;
-
-                    case 1:
-                        return EnumerableCardinality.One;
-
-                    default:
-                        return EnumerableCardinality.TwoOrMore;
-                }
-            }
-
-            using (var enumerator = source.GetEnumerator())
-            {
-                if (!enumerator.MoveNext())
-                {
-                    return EnumerableCardinality.Zero;
-                }
-
-                if (!enumerator.MoveNext())
-                {
-                    return EnumerableCardinality.One;
-                }
-
-                return EnumerableCardinality.TwoOrMore;
-            }
-        }
-
-        public static bool FastAny<T>(this IEnumerable<T> source)
-        {
-            // Enumerable.Any<T> underneath doesn't cast to ICollection, 
-            // like it does with many of the other LINQ methods.
-            // Below is significantly (4x) when mainly working with ICollection
-            // sources and a little slower if working with mainly IEnumerable<T> 
-            // sources.
-
-            // Cast to ICollection instead of ICollection<T> for performance reasons.
-            ICollection collection = source as ICollection;
-            if (collection != null)
-            {
-                return collection.Count > 0;
-            }
-
-            return source.Any();
-        }
-
-        public static Stack<T> Copy<T>(this Stack<T> stack)
-        {
-            Assumes.NotNull(stack);
-
-            // Stack<T>.GetEnumerator walks from top to bottom 
-            // of the stack, whereas Stack<T>(IEnumerable<T>) 
-            // pushes to bottom from top, so we need to reverse 
-            // the stack to get them in the right order.
-            return new Stack<T>(stack.Reverse());
-        }
-
-        public static T[] AsArray<T>(this IEnumerable<T> enumerable)
-        {
-            T[] array = enumerable as T[];
-
-            if (array != null)
-            {
-                return array;
-            }
-
-            return enumerable.ToArray();
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/Microsoft/Internal/Collections/ConditionalWeakTable.cs b/System.ComponentModel.Composition/Microsoft/Internal/Collections/ConditionalWeakTable.cs
deleted file mode 100644
index f383014..0000000
--- a/System.ComponentModel.Composition/Microsoft/Internal/Collections/ConditionalWeakTable.cs
+++ /dev/null
@@ -1,116 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-#if !CLR40
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Linq;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-
-namespace Microsoft.Internal.Collections
-{
-    // This is a broken implementation of ConditionalWeakTable that allows us
-    // to compile and work on versions of .Net eariler then 4.0. This class is
-    // broken when there are circular dependencies between keys and values, which
-    // can only be fixed by using some specific CLR 4.0 features.
-    // For code samples of the broken behavior see ConditionalWeakTableTests.cs.
-    internal class ConditionalWeakTable<TKey, TValue> 
-        where TKey : class
-        where TValue : class
-    {
-        private readonly Dictionary<object, TValue> _table;
-        private int _capacity = 4;
-
-        public ConditionalWeakTable()
-        {
-            this._table = new Dictionary<object, TValue>();
-        }
-
-        public void Add(TKey key, TValue value)
-        {
-            CleanupDeadReferences();
-            this._table.Add(CreateWeakKey(key), value);
-        }
-
-        public bool Remove(TKey key)
-        {
-            return this._table.Remove(key);
-        }
-
-        public bool TryGetValue(TKey key, out TValue value)
-        {
-            return this._table.TryGetValue(key, out value);
-        }
-
-        private void CleanupDeadReferences()
-        {
-            if (this._table.Count < _capacity)
-            {
-                return;
-            }
-
-            object[] deadKeys = this._table.Keys
-                .Where(weakRef => !((EquivalentWeakReference)weakRef).IsAlive).ToArray();
-
-            foreach (var deadKey in deadKeys)
-            {
-                this._table.Remove(deadKey);
-            }
-
-            if (this._table.Count >= _capacity)
-            {
-                _capacity *= 2;
-            }
-        }
-
-        private static object CreateWeakKey(TKey key)
-        {
-            return new EquivalentWeakReference(key);
-        }
-
-        private class EquivalentWeakReference
-        {
-            private readonly WeakReference _weakReference;
-            private readonly int _hashCode;
-
-            public EquivalentWeakReference(object obj)
-            {
-                this._hashCode = obj.GetHashCode();
-                this._weakReference = new WeakReference(obj);
-            }
-
-            public bool IsAlive
-            {
-                get
-                {
-                    return this._weakReference.IsAlive;
-                }
-            }
-
-            public override bool Equals(object obj)
-            {
-                EquivalentWeakReference weakRef = obj as EquivalentWeakReference;
-
-                if (weakRef != null)
-                {
-                    obj = weakRef._weakReference.Target;
-                }
-
-                if (obj == null)
-                {
-                    return base.Equals(weakRef);
-                }
-                
-                return object.Equals(this._weakReference.Target, obj);
-            }
-
-            public override int GetHashCode()
-            {
-                return this._hashCode;
-            }
-        }
-    }
-}
-#endif
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/Microsoft/Internal/Collections/EnumerableCardinality.cs b/System.ComponentModel.Composition/Microsoft/Internal/Collections/EnumerableCardinality.cs
deleted file mode 100644
index b3be71c..0000000
--- a/System.ComponentModel.Composition/Microsoft/Internal/Collections/EnumerableCardinality.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-
-namespace Microsoft.Internal.Collections
-{
-    internal enum EnumerableCardinality : int
-    {
-        Zero = 0,
-        One = 1,
-        TwoOrMore = 2,
-    }
-}
diff --git a/System.ComponentModel.Composition/Microsoft/Internal/Collections/ReadOnlyDictionary.cs b/System.ComponentModel.Composition/Microsoft/Internal/Collections/ReadOnlyDictionary.cs
deleted file mode 100644
index 8682565..0000000
--- a/System.ComponentModel.Composition/Microsoft/Internal/Collections/ReadOnlyDictionary.cs
+++ /dev/null
@@ -1,103 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Diagnostics;
-
-namespace Microsoft.Internal.Collections
-{
-    [DebuggerDisplay("Count = {Count}")]
-    [DebuggerTypeProxy(typeof(ReadOnlyDictionaryDebuggerProxy<,>))]
-    internal sealed partial class ReadOnlyDictionary<TKey, TValue> : IDictionary<TKey, TValue>
-    {
-        private readonly IDictionary<TKey, TValue> _innerDictionary;
-
-        public ReadOnlyDictionary(IDictionary<TKey, TValue> dictionary)
-        {
-            this._innerDictionary = dictionary ?? new Dictionary<TKey, TValue>(0);
-        }
-
-        public int Count
-        {
-            get { return this._innerDictionary.Count; }
-        }
-
-        public bool IsReadOnly
-        {
-            get { return true; }
-        }
-
-        public ICollection<TKey> Keys
-        {
-            get { return this._innerDictionary.Keys; }
-        }
-
-        public TValue this[TKey key]
-        {
-            get { return this._innerDictionary[key]; }
-            set { throw new NotSupportedException(Strings.NotSupportedReadOnlyDictionary); }
-        }
-
-        public ICollection<TValue> Values
-        {
-            get { return this._innerDictionary.Values; }
-        }
-
-        public bool Contains(KeyValuePair<TKey, TValue> item)
-        {
-            return this._innerDictionary.Contains(item);
-        }
-
-        public bool ContainsKey(TKey key)
-        {
-            return this._innerDictionary.ContainsKey(key);
-        }
-
-        public void CopyTo(KeyValuePair<TKey, TValue>[] array, int arrayIndex)
-        {
-            this._innerDictionary.CopyTo(array, arrayIndex);
-        }
-
-        public IEnumerator<KeyValuePair<TKey, TValue>> GetEnumerator()
-        {
-            return this._innerDictionary.GetEnumerator();
-        }
-
-        public bool TryGetValue(TKey key, out TValue value)
-        {
-            return this._innerDictionary.TryGetValue(key, out value);
-        }
-
-        IEnumerator IEnumerable.GetEnumerator()
-        {
-            return this._innerDictionary.GetEnumerator();
-        }
-
-        void IDictionary<TKey, TValue>.Add(TKey key, TValue value)
-        {
-            throw new NotSupportedException(Strings.NotSupportedReadOnlyDictionary);
-        }
-
-        void ICollection<KeyValuePair<TKey, TValue>>.Add(KeyValuePair<TKey, TValue> item)
-        {
-            throw new NotSupportedException(Strings.NotSupportedReadOnlyDictionary);
-        }
-
-        void ICollection<KeyValuePair<TKey, TValue>>.Clear()
-        {
-            throw new NotSupportedException(Strings.NotSupportedReadOnlyDictionary);
-        }
-
-        bool IDictionary<TKey, TValue>.Remove(TKey key)
-        {
-            throw new NotSupportedException(Strings.NotSupportedReadOnlyDictionary);
-        }
-
-        bool ICollection<KeyValuePair<TKey, TValue>>.Remove(KeyValuePair<TKey, TValue> item)
-        {
-            throw new NotSupportedException(Strings.NotSupportedReadOnlyDictionary);
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/Microsoft/Internal/Collections/ReadOnlyDictionaryDebuggerProxy.cs b/System.ComponentModel.Composition/Microsoft/Internal/Collections/ReadOnlyDictionaryDebuggerProxy.cs
deleted file mode 100644
index 60eefa1..0000000
--- a/System.ComponentModel.Composition/Microsoft/Internal/Collections/ReadOnlyDictionaryDebuggerProxy.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Linq;
-
-namespace Microsoft.Internal.Collections
-{
-    // NOTE: This type cannot be a nested proxy of ReadOnlyDictionary due to a bug 
-    // in the Visual Studio Debugger which causes it to ignore nested generic proxies.
-    internal class ReadOnlyDictionaryDebuggerProxy<TKey, TValue>
-    {
-        private readonly ReadOnlyDictionary<TKey, TValue> _dictionary;
-        
-        public ReadOnlyDictionaryDebuggerProxy(ReadOnlyDictionary<TKey, TValue> dictionary)
-        {
-            Requires.NotNull(dictionary, "dictionary");
-            
-            _dictionary = dictionary;
-        }
-
-        [DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
-        public KeyValuePair<TKey, TValue>[] Items
-        {
-            // NOTE: This shouldn't be cached, so that on every query of
-            // the current value of the underlying dictionary is respected.
-            get { return this._dictionary.ToArray(); }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/Microsoft/Internal/Collections/WeakReferenceCollection.cs b/System.ComponentModel.Composition/Microsoft/Internal/Collections/WeakReferenceCollection.cs
deleted file mode 100644
index 6895a63..0000000
--- a/System.ComponentModel.Composition/Microsoft/Internal/Collections/WeakReferenceCollection.cs
+++ /dev/null
@@ -1,92 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Linq;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-
-namespace Microsoft.Internal.Collections
-{
-    internal class WeakReferenceCollection<T> where T : class
-    {
-        private readonly List<WeakReference> _items = new List<WeakReference>();
-
-        public void Add(T item)
-        {
-            // Only cleanup right before we need to reallocate space.
-            if (this._items.Capacity == this._items.Count)
-            {
-                this.CleanupDeadReferences();
-            }
-
-            this._items.Add(new WeakReference(item));
-        }
-
-        public void Remove(T item)
-        {
-            int index = IndexOf(item);
-
-            if (index != -1)
-            {
-                this._items.RemoveAt(index);
-            }
-        }
-
-        public bool Contains(T item)
-        {
-            return IndexOf(item) >= 0;
-        }
-
-        public void Clear()
-        {
-            this._items.Clear();
-        }
-
-        // Should be executed under at least a read lock.
-        private int IndexOf(T item)
-        {
-            int count = this._items.Count;
-            for (int i = 0; i < count; i++)
-            {
-                if (this._items[i].Target == item)
-                {
-                    return i;
-                }
-            }
-            return -1;
-        }
-
-        // Should be executed under a write lock
-        private void CleanupDeadReferences()
-        {
-            int count = this._items.Count;
-            for (int i = count - 1; i >= 0; i--)
-            {
-                if (this._items[i].Target == null)
-                {
-                    this._items.RemoveAt(i);
-                }
-            }           
-        }
-
-        public List<T> AliveItemsToList()
-        {
-            List<T> aliveItems = new List<T>();
-
-            foreach (var weakItem in this._items)
-            {
-                T item = weakItem.Target as T;
-
-                if (item != null)
-                {
-                    aliveItems.Add(item);
-                }
-            }
-
-            return aliveItems;
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/Microsoft/Internal/ContractServices.cs b/System.ComponentModel.Composition/Microsoft/Internal/ContractServices.cs
deleted file mode 100644
index 7a731b4..0000000
--- a/System.ComponentModel.Composition/Microsoft/Internal/ContractServices.cs
+++ /dev/null
@@ -1,47 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Hosting;
-using System.Linq;
-using System.Text;
-using System.Threading;
-using System.ComponentModel.Composition.Primitives;
-
-namespace Microsoft.Internal
-{
-    internal class ContractServices
-    {
-        public static T Cast<T>(object o)
-        {
-            return (T)o;
-        }
-
-        public static bool TryCast(Type contractType, object value, out object result)
-        {
-            if (value == null)
-            {
-                result = null;
-                return true;
-            }
-            if (contractType.IsInstanceOfType(value))
-            {
-                result = value;
-                return true;
-            }
-
-            // We couldn't cast see if a delegate works for us.
-            if (typeof(Delegate).IsAssignableFrom(contractType))
-            {
-                ExportedDelegate exportedDelegate = value as ExportedDelegate;
-                if (exportedDelegate != null)
-                {
-                    result = exportedDelegate.CreateDelegate(contractType);
-                    return (result != null);
-                }
-            }
-
-            result = null;
-            return false;
-        }
-    }
-}
-
diff --git a/System.ComponentModel.Composition/Microsoft/Internal/GenerationServices.cs b/System.ComponentModel.Composition/Microsoft/Internal/GenerationServices.cs
deleted file mode 100644
index 455b7ce..0000000
--- a/System.ComponentModel.Composition/Microsoft/Internal/GenerationServices.cs
+++ /dev/null
@@ -1,333 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.ComponentModel.Composition;
-using System.Globalization;
-using System.Linq;
-using System.Text;
-using System.Reflection;
-using System.Reflection.Emit;
-
-namespace Microsoft.Internal
-{
-    internal static class GenerationServices
-    {
-        // Type.GetTypeFromHandle
-        private static readonly MethodInfo _typeGetTypeFromHandleMethod = typeof(Type).GetMethod("GetTypeFromHandle");
-
-
-        // typeofs are pretty expensive, so we cache them statically
-        private static readonly Type TypeType = typeof(System.Type);
-        private static readonly Type StringType = typeof(System.String);
-        private static readonly Type CharType = typeof(System.Char);
-        private static readonly Type BooleanType = typeof(System.Boolean);
-        private static readonly Type ByteType = typeof(System.Byte);
-        private static readonly Type SByteType = typeof(System.SByte);
-        private static readonly Type Int16Type = typeof(System.Int16);
-        private static readonly Type UInt16Type = typeof(System.UInt16);
-        private static readonly Type Int32Type = typeof(System.Int32);
-        private static readonly Type UInt32Type = typeof(System.UInt32);
-        private static readonly Type Int64Type = typeof(System.Int64);
-        private static readonly Type UInt64Type = typeof(System.UInt64);
-        private static readonly Type DoubleType = typeof(System.Double);
-        private static readonly Type SingleType = typeof(System.Single);
-        private static readonly Type IEnumerableTypeofT = typeof(System.Collections.Generic.IEnumerable<>);
-        private static readonly Type IEnumerableType = typeof(System.Collections.IEnumerable);
-
-        private static readonly MethodInfo ExceptionGetData = typeof(Exception).GetProperty("Data").GetGetMethod();
-        private static readonly MethodInfo DictionaryAdd = typeof(IDictionary).GetMethod("Add");
-        private static readonly ConstructorInfo ObjectCtor = typeof(object).GetConstructor(Type.EmptyTypes);
-
-        public static ILGenerator CreateGeneratorForPublicConstructor(this TypeBuilder typeBuilder, Type[] ctrArgumentTypes)
-        {
-            ConstructorBuilder ctorBuilder = typeBuilder.DefineConstructor(
-                MethodAttributes.Public,
-                CallingConventions.Standard,
-                ctrArgumentTypes);
-
-            ILGenerator ctorIL = ctorBuilder.GetILGenerator();
-            ctorIL.Emit(OpCodes.Ldarg_0);
-            ctorIL.Emit(OpCodes.Call, ObjectCtor);
-
-            return ctorIL;
-        }
-        
-        /// Generates the code that loads the supplied value on the stack
-        /// This is not as simple as it seems, as different instructions need to be generated depending
-        /// on its type.
-        /// We support:
-        /// 1. All primitive types
-        /// 2. Strings
-        /// 3. Enums
-        /// 4. typeofs
-        /// 5. nulls
-        /// 6. Enumerables
-        /// 7. Delegates on static functions or any of the above
-        /// Everything else cannot be represented as literals
-        /// <param name="ilGenerator"></param>
-        /// <param name="item"></param>
-        /// <param name="key"></param>
-        /// <param name="value"></param>
-        /// <returns></returns>
-        public static void LoadValue(this ILGenerator ilGenerator, object value)
-        {
-            Assumes.NotNull(ilGenerator);
-
-            //
-            // Get nulls out of the way - they are basically typeless, so we just load null
-            //
-            if (value == null)
-            {
-                ilGenerator.LoadNull();
-                return;
-            }
-
-            //
-            // Prepare for literal loading - decide whether we should box, and handle enums properly
-            //
-            Type valueType = value.GetType();
-            object rawValue = value;
-            if (valueType.IsEnum)
-            {
-                // enums are special - we need to load the underlying constant on the stack
-                rawValue = Convert.ChangeType(value, Enum.GetUnderlyingType(valueType), null);
-                valueType = rawValue.GetType();
-            }
-
-            //
-            // Generate IL depending on the valueType - this is messier than it should ever be, but sadly necessary
-            //
-            if (valueType == GenerationServices.StringType)
-            {
-                // we need to check for strings before enumerables, because strings are IEnumerable<char>
-                ilGenerator.LoadString((string)rawValue);
-            }
-            else if (GenerationServices.TypeType.IsAssignableFrom(valueType))
-            {
-                ilGenerator.LoadTypeOf((Type)rawValue);
-            }
-            else if (GenerationServices.IEnumerableType.IsAssignableFrom(valueType))
-            {
-                // NOTE : strings and dictionaries are also enumerables, but we have already handled those
-                ilGenerator.LoadEnumerable((IEnumerable) rawValue);
-            }
-            else if (
-                (valueType == GenerationServices.CharType) ||
-                (valueType == GenerationServices.BooleanType) ||
-                (valueType == GenerationServices.ByteType) ||
-                (valueType == GenerationServices.SByteType) ||
-                (valueType == GenerationServices.Int16Type) ||
-                (valueType == GenerationServices.UInt16Type) ||
-                (valueType == GenerationServices.Int32Type)
-                )
-            {
-                // NOTE : Everything that is 32 bit or less uses ldc.i4. We need to pass int32, even if the actual types is shorter - this is IL memory model
-                // direct casting to (int) won't work, because the value is boxed, thus we need to use Convert.
-                // Sadly, this will not work for all cases - namely large uint32 - because they can't semantically fit into 32 signed bits
-                // We have a special case for that next
-                ilGenerator.LoadInt((int)Convert.ChangeType(rawValue, typeof(int), CultureInfo.InvariantCulture));
-            }
-            else if (valueType == GenerationServices.UInt32Type)
-            {
-                // NOTE : This one is a bit tricky. Ldc.I4 takes an Int32 as an argument, although it really treats it as a 32bit number
-                // That said, some UInt32 values are larger that Int32.MaxValue, so the Convert call above will fail, which is why 
-                // we need to treat this case individually and cast to uint, and then - unchecked - to int.
-                ilGenerator.LoadInt(unchecked((int)((uint)rawValue)));
-            }
-            else if (valueType == GenerationServices.Int64Type)
-            {
-                ilGenerator.LoadLong((long)rawValue);
-            }
-            else if (valueType == GenerationServices.UInt64Type)
-            {
-                // NOTE : This one is a bit tricky. Ldc.I8 takes an Int64 as an argument, although it really treats it as a 64bit number
-                // That said, some UInt64 values are larger that Int64.MaxValue, so the direct case we use above (or Convert, for that matter)will fail, which is why
-                // we need to treat this case individually and cast to ulong, and then - unchecked - to long.
-                ilGenerator.LoadLong(unchecked((long)((ulong)rawValue)));
-            }
-            else if (valueType == GenerationServices.SingleType)
-            {
-                ilGenerator.LoadFloat((float)rawValue);
-            }
-            else if (valueType == GenerationServices.DoubleType)
-            {
-                ilGenerator.LoadDouble((double)rawValue);
-            }
-            else
-            {
-                throw new InvalidOperationException(
-                    string.Format(CultureInfo.CurrentCulture, Strings.InvalidMetadataValue, value.GetType().FullName));
-            }
-        }
-
-        /// Generates the code that adds an object to a dictionary stored in a local variable
-        /// <param name="ilGenerator"></param>
-        /// <param name="dictionary"></param>
-        /// <param name="key"></param>
-        /// <param name="value"></param>
-        /// <returns></returns>
-        public static void AddItemToLocalDictionary(this ILGenerator ilGenerator, LocalBuilder dictionary, object key, object value)
-        {
-            Assumes.NotNull(ilGenerator);
-            Assumes.NotNull(dictionary);
-            Assumes.NotNull(key);
-            Assumes.NotNull(value);
-
-            ilGenerator.Emit(OpCodes.Ldloc, dictionary);
-            ilGenerator.LoadValue(key);
-            ilGenerator.LoadValue(value);
-            ilGenerator.Emit(OpCodes.Callvirt, DictionaryAdd);
-        }
-
-        /// Generates the code that adds an object from a local variable to a dictionary also stored in a local
-        /// <param name="ilGenerator"></param>
-        /// <param name="dictionary"></param>
-        /// <param name="key"></param>
-        /// <param name="value"></param>
-        /// <returns></returns>
-        public static void AddLocalToLocalDictionary(this ILGenerator ilGenerator, LocalBuilder dictionary, object key, LocalBuilder value)
-        {
-            Assumes.NotNull(ilGenerator);
-            Assumes.NotNull(dictionary);
-            Assumes.NotNull(key);
-            Assumes.NotNull(value);
-
-            ilGenerator.Emit(OpCodes.Ldloc, dictionary);
-            ilGenerator.LoadValue(key);
-            ilGenerator.Emit(OpCodes.Ldloc, value);
-            ilGenerator.Emit(OpCodes.Callvirt, DictionaryAdd);
-        }
-
-        /// Generates the code to get the type of an object and store it in a local
-        /// <param name="ilGenerator"></param>
-        /// <param name="dictionary"></param>
-        /// <param name="key"></param>
-        /// <param name="value"></param>
-        /// <returns></returns>
-        public static void GetExceptionDataAndStoreInLocal(this ILGenerator ilGenerator, LocalBuilder exception, LocalBuilder dataStore)
-        {
-            Assumes.NotNull(ilGenerator);
-            Assumes.NotNull(exception);
-            Assumes.NotNull(dataStore);
-
-            ilGenerator.Emit(OpCodes.Ldloc, exception);
-            ilGenerator.Emit(OpCodes.Callvirt, ExceptionGetData);
-            ilGenerator.Emit(OpCodes.Stloc, dataStore);
-        }
-
-        private static void LoadEnumerable(this ILGenerator ilGenerator, IEnumerable enumerable)
-        {
-            Assumes.NotNull(ilGenerator);
-            Assumes.NotNull(enumerable);
-
-            // We load enumerable as an array - this is the most compact and efficient way of representing it
-            Type elementType = null;
-            Type closedType = null;
-            if (ReflectionServices.TryGetGenericInterfaceType(enumerable.GetType(), GenerationServices.IEnumerableTypeofT, out closedType))
-            {
-                elementType = closedType.GetGenericArguments()[0];
-            }
-            else
-            {
-                elementType = typeof(object);
-            }
-
-            //
-            // elem[] array = new elem[<enumerable.Count()>]
-            //
-            Type generatedArrayType = elementType.MakeArrayType();
-            LocalBuilder generatedArrayLocal = ilGenerator.DeclareLocal(generatedArrayType);
-
-            ilGenerator.LoadInt(enumerable.Cast<object>().Count());
-            ilGenerator.Emit(OpCodes.Newarr, elementType);
-            ilGenerator.Emit(OpCodes.Stloc, generatedArrayLocal);
-            
-            int index = 0;
-            foreach (object value in enumerable)
-            {
-                //
-                //array[<index>] = value;
-                //
-                ilGenerator.Emit(OpCodes.Ldloc, generatedArrayLocal);
-                ilGenerator.LoadInt(index);
-                ilGenerator.LoadValue(value);
-                if (GenerationServices.IsBoxingRequiredForValue(value) && !elementType.IsValueType)
-                {
-                    ilGenerator.Emit(OpCodes.Box, value.GetType());
-                }
-                ilGenerator.Emit(OpCodes.Stelem, elementType);
-                index++;
-            }
-
-            ilGenerator.Emit(OpCodes.Ldloc, generatedArrayLocal);
-        }
-
-        private static bool IsBoxingRequiredForValue(object value)
-        {
-            if (value == null)
-            {
-                return false;
-            }
-            else
-            {
-                return value.GetType().IsValueType;
-            }
-        }
-
-
-        private static void LoadNull(this ILGenerator ilGenerator)
-        {
-            ilGenerator.Emit(OpCodes.Ldnull);
-        }
-
-        private static void LoadString(this ILGenerator ilGenerator, string s)
-        {
-            Assumes.NotNull(ilGenerator);
-            if (s == null)
-            {
-                ilGenerator.LoadNull();
-            }
-            else
-            {
-                ilGenerator.Emit(OpCodes.Ldstr, s);
-            }
-        }
-
-
-        private static void LoadInt(this ILGenerator ilGenerator, int value)
-        {
-            Assumes.NotNull(ilGenerator);
-            ilGenerator.Emit(OpCodes.Ldc_I4, value);
-        }
-
-        private static void LoadLong(this ILGenerator ilGenerator, long value)
-        {
-            Assumes.NotNull(ilGenerator);
-            ilGenerator.Emit(OpCodes.Ldc_I8, value);
-        }
-
-        private static void LoadFloat(this ILGenerator ilGenerator, float value)
-        {
-            Assumes.NotNull(ilGenerator);
-            ilGenerator.Emit(OpCodes.Ldc_R4, value);
-        }
-
-        private static void LoadDouble(this ILGenerator ilGenerator, double value)
-        {
-            Assumes.NotNull(ilGenerator);
-            ilGenerator.Emit(OpCodes.Ldc_R8, value);
-        }
-
-        private static void LoadTypeOf(this ILGenerator ilGenerator, Type type)
-        {
-            Assumes.NotNull(ilGenerator);
-            //typeofs() translate into ldtoken and Type::GetTypeFromHandle call
-            ilGenerator.Emit(OpCodes.Ldtoken, type);
-            ilGenerator.EmitCall(OpCodes.Call, GenerationServices._typeGetTypeFromHandleMethod, null);
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/Microsoft/Internal/LazyServices.cs b/System.ComponentModel.Composition/Microsoft/Internal/LazyServices.cs
deleted file mode 100644
index baff505..0000000
--- a/System.ComponentModel.Composition/Microsoft/Internal/LazyServices.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading;
-using System.Text;
-using System.Globalization;
-
-namespace Microsoft.Internal
-{
-    internal static class LazyServices
-    {
-        public static Lazy<T> AsLazy<T>(this T t)
-            where T : class
-        {
-            return new Lazy<T>(() => t, false);
-        }
-
-        public static T GetNotNullValue<T>(this Lazy<T> lazy, string argument)
-            where T : class
-        {
-            Assumes.NotNull(lazy);
-            T value = lazy.Value;
-            if (value == null)
-            {
-                throw new InvalidOperationException(
-                    string.Format(CultureInfo.CurrentCulture, Strings.LazyServices_LazyResolvesToNull, typeof(T), argument));
-            }
-
-            return value;
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/Microsoft/Internal/Lock.Reader.cs b/System.ComponentModel.Composition/Microsoft/Internal/Lock.Reader.cs
deleted file mode 100644
index 1f62034..0000000
--- a/System.ComponentModel.Composition/Microsoft/Internal/Lock.Reader.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading;
-
-namespace Microsoft.Internal
-{
-    internal struct ReadLock : IDisposable
-    {
-        private readonly Lock _lock;
-        private int _isDisposed;
-
-        public ReadLock(Lock @lock)
-        {
-            this._isDisposed = 0;
-            this._lock = @lock;
-            this._lock.EnterReadLock();
-        }
-
-        public void Dispose()
-        {
-            if (Interlocked.CompareExchange(ref this._isDisposed, 1, 0) == 0)
-            {
-                this._lock.ExitReadLock();
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/Microsoft/Internal/Lock.Writer.cs b/System.ComponentModel.Composition/Microsoft/Internal/Lock.Writer.cs
deleted file mode 100644
index 1e8aef0..0000000
--- a/System.ComponentModel.Composition/Microsoft/Internal/Lock.Writer.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading;
-
-namespace Microsoft.Internal
-{
-    internal struct WriteLock : IDisposable
-    {
-        private readonly Lock _lock;
-        private int _isDisposed;
-
-        public WriteLock(Lock @lock)
-        {
-            this._isDisposed = 0;
-            this._lock = @lock;
-            this._lock.EnterWriteLock();
-        }
-
-        public void Dispose()
-        {
-            if (Interlocked.CompareExchange(ref this._isDisposed, 1, 0) == 0)
-            {
-                this._lock.ExitWriteLock();
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/Microsoft/Internal/Lock.cs b/System.ComponentModel.Composition/Microsoft/Internal/Lock.cs
deleted file mode 100644
index 7d2522d..0000000
--- a/System.ComponentModel.Composition/Microsoft/Internal/Lock.cs
+++ /dev/null
@@ -1,79 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading;
-
-namespace Microsoft.Internal
-{
-    internal sealed class Lock : IDisposable
-    {
-#if (!SILVERLIGHT)
-        private ReaderWriterLockSlim _thisLock = new ReaderWriterLockSlim(LockRecursionPolicy.NoRecursion);
-        private int _isDisposed = 0;
-        public void EnterReadLock()
-        {
-            this._thisLock.EnterReadLock();
-        }
-
-        public void EnterWriteLock()
-        {
-            this._thisLock.EnterWriteLock();
-        }
-
-        public void ExitReadLock()
-        {
-            this._thisLock.ExitReadLock();
-        }
-
-        public void ExitWriteLock()
-        {
-            this._thisLock.ExitWriteLock();
-        }
-
-        public void Dispose()
-        {
-            if (Interlocked.CompareExchange(ref this._isDisposed, 1, 0) == 0)
-            {
-                this._thisLock.Dispose();
-            }
-        }
-
-#else
-        // ReaderWriterLockSlim is not yet implemented on SilverLight
-        // Satisfies our requirements until it is implemented
-        object _thisLock = new object();
-
-        public Lock()
-        {
-        }
-
-        public void EnterReadLock()
-        {
-            Monitor.Enter(this._thisLock);
-        }
-
-        public void EnterWriteLock()
-        {
-            Monitor.Enter(this._thisLock);
-        }
-
-        public void ExitReadLock()
-        {
-            Monitor.Exit(this._thisLock);
-        }
-
-        public void ExitWriteLock()
-        {
-            Monitor.Exit(this._thisLock);
-        }
-
-        public void Dispose()
-        {
-        }
-#endif
-    }
-}
diff --git a/System.ComponentModel.Composition/Microsoft/Internal/ReflectionInvoke.cs b/System.ComponentModel.Composition/Microsoft/Internal/ReflectionInvoke.cs
deleted file mode 100644
index b6846ca..0000000
--- a/System.ComponentModel.Composition/Microsoft/Internal/ReflectionInvoke.cs
+++ /dev/null
@@ -1,114 +0,0 @@
-#if !SILVERLIGHT && CLR40
-
-using System;
-using System.Reflection;
-using System.Security;
-using System.Security.Permissions;
-
-namespace Microsoft.Internal
-{
-    internal static class ReflectionInvoke
-    {
-        private static readonly ReflectionPermission _memberAccess = new ReflectionPermission(ReflectionPermissionFlag.MemberAccess);
-        private static readonly ReflectionPermission _restrictedMemberAccess = new ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess);
-
-        public static object SafeCreateInstance(this Type type, params object[] arguments)
-        {
-            DemandMemberAccessIfNeeded(type);
-
-            return Activator.CreateInstance(type, arguments);
-        }
-
-        public static object SafeInvoke(this ConstructorInfo constructor, params object[] arguments)
-        {
-            DemandMemberAccessIfNeeded(constructor);
-
-            return constructor.Invoke(arguments);
-        }
-
-        public static object SafeInvoke(this MethodInfo method, object instance, params object[] arguments)
-        {
-            DemandMemberAccessIfNeeded(method);
-
-            return method.Invoke(instance, arguments);
-        }
-
-        public static object SafeGetValue(this FieldInfo field, object instance)
-        {
-            DemandMemberAccessIfNeeded(field);
-
-            return field.GetValue(instance);
-        }
-
-        public static void SafeSetValue(this FieldInfo field, object instance, object value)
-        {
-            DemandMemberAccessIfNeeded(field);
-
-            field.SetValue(instance, value);
-        }
-
-        public static void DemandMemberAccessIfNeeded(MethodInfo method)
-        {
-            if (!method.IsVisible())
-            {
-                DemandMemberAccess(method);
-            }
-        }
-
-        private static void DemandMemberAccessIfNeeded(FieldInfo field)
-        {
-            if (!field.IsVisible())
-            {
-                DemandMemberAccess(field);
-            }
-        }
-
-        public static void DemandMemberAccessIfNeeded(Type type)
-        {
-            // Consult UnderlyingSystemType this is the type that Activator.CreateInstance creates            
-            if (!type.UnderlyingSystemType.IsVisible)
-            {
-                DemandMemberAccess(type);
-            }
-        }
-
-        private static void DemandMemberAccessIfNeeded(ConstructorInfo constructor)
-        {
-            if (!constructor.IsVisible())
-            {
-                DemandMemberAccess(constructor);
-            }
-        }
-
-        private static void DemandMemberAccess(MemberInfo target)
-        {
-            try
-            {
-                _memberAccess.Demand();
-            }
-            catch (SecurityException)
-            {   // The caller doesn't have member access, but let's see whether they have access to
-                // members of assemblies with less or equal permissions (this mimics Reflection's behavior)
-
-                DemandRestrictedMemberAccess(target);
-            }
-        }
-
-        private static void DemandRestrictedMemberAccess(MemberInfo target)
-        {
-            Assembly targetAssembly = target.Assembly();
-
-            PermissionSet targetGrantSet = UnsafePermissionSet(targetAssembly);
-            targetGrantSet.AddPermission(_restrictedMemberAccess);
-            targetGrantSet.Demand();
-        }
-
-        [SecuritySafeCritical] // PermissionSet is [SecurityCritical]
-        private static PermissionSet UnsafePermissionSet(Assembly assembly)
-        {
-            return assembly.PermissionSet;
-        }
-    }
-}
-
-#endif
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/Microsoft/Internal/ReflectionServices.cs b/System.ComponentModel.Composition/Microsoft/Internal/ReflectionServices.cs
deleted file mode 100644
index d34d518..0000000
--- a/System.ComponentModel.Composition/Microsoft/Internal/ReflectionServices.cs
+++ /dev/null
@@ -1,122 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.Diagnostics.CodeAnalysis;
-using System.Linq;
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-namespace Microsoft.Internal
-{
-    internal static class ReflectionServices
-    {
-        public static Assembly Assembly(this MemberInfo member)
-        {
-            Type type = member as Type;
-            if (type != null)
-            {
-                return type.Assembly;
-            }
-
-            return member.DeclaringType.Assembly;
-        }
-
-        public static bool IsVisible(this ConstructorInfo constructor)
-        {
-            return constructor.DeclaringType.IsVisible && constructor.IsPublic;
-        }
-
-        public static bool IsVisible(this FieldInfo field)
-        {
-            return field.DeclaringType.IsVisible && field.IsPublic;
-        }
-
-        public static bool IsVisible(this MethodInfo method)
-        {
-            if (!method.DeclaringType.IsVisible)
-                return false;
-
-            if (!method.IsPublic)
-                return false;
-
-            if (method.IsGenericMethod)
-            {
-                // Check type arguments, for example if we're passed 'Activator.CreateInstance<SomeMefInternalType>()'
-                foreach (Type typeArgument in method.GetGenericArguments())
-                {
-                    if (!typeArgument.IsVisible)
-                        return false;
-                }
-            }
-
-            return true;
-        }
-
-        public static string GetDisplayName(Type declaringType, string name)
-        {
-            Assumes.NotNull(declaringType);
-
-            return declaringType.GetDisplayName() + "." + name;
-        }
-
-        public static string GetDisplayName(this MemberInfo member)
-        {
-            Assumes.NotNull(member);
-  
-            switch (member.MemberType)
-            {
-                case MemberTypes.TypeInfo:
-                case MemberTypes.NestedType:
-                    return ((Type)member).FullName;
-            }
-
-            return GetDisplayName(member.DeclaringType, member.Name);            
-        }
-
-        internal static bool TryGetGenericInterfaceType(Type instanceType, Type targetOpenInterfaceType, out Type targetClosedInterfaceType)
-        {
-            // The interface must be open
-            Assumes.IsTrue(targetOpenInterfaceType.IsInterface);
-            Assumes.IsTrue(targetOpenInterfaceType.IsGenericTypeDefinition);
-            Assumes.IsTrue(!instanceType.IsGenericTypeDefinition);
-
-            // if instanceType is an interface, we must first check it directly
-            if (instanceType.IsInterface &&
-                instanceType.IsGenericType &&
-                instanceType.GetGenericTypeDefinition() == targetOpenInterfaceType)
-            {
-                targetClosedInterfaceType = instanceType;
-                return true;
-            }
-
-            try
-            {
-                // Purposefully not using FullName here because it results in a significantly
-                //  more expensive implementation of GetInterface, this does mean that we're
-                //  takign the chance that there aren't too many types which implement multiple
-                //  interfaces by the same name...
-                Type targetInterface = instanceType.GetInterface(targetOpenInterfaceType.Name, false);
-                if (targetInterface != null &&
-                    targetInterface.GetGenericTypeDefinition() == targetOpenInterfaceType)
-                {
-                    targetClosedInterfaceType = targetInterface;
-                    return true;
-                }
-            }
-            catch (AmbiguousMatchException)
-            {
-                // If there are multiple with the same name we should not pick any
-            }
-
-            targetClosedInterfaceType = null;
-            return false;
-        }
-
-        internal static IEnumerable<PropertyInfo> GetAllProperties(this Type type)
-        {
-            return type.GetInterfaces().Concat(new Type[] { type }).SelectMany(itf => itf.GetProperties());
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/Microsoft/Internal/Requires.cs b/System.ComponentModel.Composition/Microsoft/Internal/Requires.cs
deleted file mode 100644
index 1f9f7e6..0000000
--- a/System.ComponentModel.Composition/Microsoft/Internal/Requires.cs
+++ /dev/null
@@ -1,102 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Diagnostics;
-using System.Linq;
-using System.Globalization;
-using System.Reflection;
-using System.ComponentModel.Composition;
-using System.Text;
-
-namespace Microsoft.Internal
-{
-    internal static class Requires
-    {
-        [DebuggerStepThrough]
-        public static void NotNull<T>(T value, string parameterName) 
-            where T : class
-        {
-            if (value == null)
-            {
-                throw new ArgumentNullException(parameterName);
-            }
-        }
-
-        [DebuggerStepThrough]
-        public static void NotNullOrEmpty(string value, string parameterName)
-        {
-            NotNull(value, parameterName);
-
-            if (value.Length == 0)
-            {
-                throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, Strings.ArgumentException_EmptyString, parameterName), parameterName);
-            }
-        }
-
-        [DebuggerStepThrough]
-        public static void NotNullOrNullElements<T>(IEnumerable<T> values, string parameterName)
-            where T : class
-        {
-            NotNull(values, parameterName);
-            NotNullElements(values, parameterName);
-        }
-
-        [DebuggerStepThrough]
-        public static void NullOrNotNullElements<TKey, TValue>(IEnumerable<KeyValuePair<TKey, TValue>> values, string parameterName)
-            where TKey : class
-            where TValue : class
-        {
-            if (values != null)
-            {
-                NotNullElements(values, parameterName);
-            }
-        }
-
-        [DebuggerStepThrough]
-        public static void NullOrNotNullElements<T>(IEnumerable<T> values, string parameterName)
-            where T : class
-        {
-            if (values != null)
-            {
-                NotNullElements(values, parameterName);
-            }
-        }
-
-        private static void NotNullElements<T>(IEnumerable<T> values, string parameterName)
-            where T : class
-        {
-            foreach (T value in values)
-            {
-                if (value == null)
-                {
-                    throw ExceptionBuilder.CreateContainsNullElement(parameterName);
-                }
-            }
-        }
-
-        private static void NotNullElements<TKey, TValue>(IEnumerable<KeyValuePair<TKey, TValue>> values, string parameterName)
-            where TKey : class
-            where TValue : class
-        {
-            foreach (KeyValuePair<TKey, TValue> value in values)
-            {
-                if ((value.Key == null) || (value.Value == null))
-                {
-                    throw ExceptionBuilder.CreateContainsNullElement(parameterName);
-                }
-            }
-        }
-        [DebuggerStepThrough]
-        public static void IsInMembertypeSet(MemberTypes value, string parameterName, MemberTypes enumFlagSet)
-        {
-            if ((value & enumFlagSet) != value || // Ensure the member is in the set
-                (value & (value - 1)) != 0) // Ensure that there is only one flag in the value (i.e. value is a power of 2).
-            {
-                throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, Strings.ArgumentOutOfRange_InvalidEnumInSet, parameterName, value, enumFlagSet.ToString()), parameterName);
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/Microsoft/Internal/Runtime/Serialization/SerializationServices.cs b/System.ComponentModel.Composition/Microsoft/Internal/Runtime/Serialization/SerializationServices.cs
deleted file mode 100644
index f2745f5..0000000
--- a/System.ComponentModel.Composition/Microsoft/Internal/Runtime/Serialization/SerializationServices.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-#if !SILVERLIGHT
-
-using System;
-using System.Runtime.Serialization;
-
-namespace Microsoft.Internal.Runtime.Serialization
-{
-    internal static class SerializationServices
-    {
-        public static T GetValue<T>(this SerializationInfo info, string name)
-        {
-            Assumes.NotNull(info, name);
-
-            return (T)info.GetValue(name, typeof(T));
-        }
-    }
-}
-
-#endif
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/Microsoft/Internal/SilverlightReflectionInvoke.cs b/System.ComponentModel.Composition/Microsoft/Internal/SilverlightReflectionInvoke.cs
deleted file mode 100644
index 0e2f3dc..0000000
--- a/System.ComponentModel.Composition/Microsoft/Internal/SilverlightReflectionInvoke.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-#if SILVERLIGHT || !CLR40
-
-using System;
-using System.Reflection;
-using System.Security;
-using System.Security.Permissions;
-
-namespace Microsoft.Internal
-{
-    internal static class ReflectionInvoke
-    {
-        public static object SafeCreateInstance(this Type type, params object[] arguments)
-        {
-            return Activator.CreateInstance(type, arguments);
-        }
-
-        public static object SafeInvoke(this ConstructorInfo constructor, params object[] arguments)
-        {
-            return constructor.Invoke(arguments);
-        }
-
-        public static object SafeInvoke(this MethodInfo method, object instance, params object[] arguments)
-        {
-            return method.Invoke(instance, arguments);
-        }
-
-        public static object SafeGetValue(this FieldInfo field, object instance)
-        {
-            return field.GetValue(instance);
-        }
-
-        public static void SafeSetValue(this FieldInfo field, object instance, object value)
-        {
-            field.SetValue(instance, value);
-        }
-
-        public static void DemandMemberAccessIfNeeded(MethodInfo method)
-        {
-        }
-    }
-}
-
-#endif
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/Microsoft/Internal/StringComparers.cs b/System.ComponentModel.Composition/Microsoft/Internal/StringComparers.cs
deleted file mode 100644
index 5cb9747..0000000
--- a/System.ComponentModel.Composition/Microsoft/Internal/StringComparers.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-
-namespace Microsoft.Internal
-{
-    internal static class StringComparers
-    {
-        public static StringComparer ContractName
-        {
-            get { return StringComparer.Ordinal; }
-        }
-        
-        public static StringComparer MetadataKeyNames
-        {
-            get { return StringComparer.Ordinal; }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/Strings.Designer.cs b/System.ComponentModel.Composition/Strings.Designer.cs
deleted file mode 100644
index ba48697..0000000
--- a/System.ComponentModel.Composition/Strings.Designer.cs
+++ /dev/null
@@ -1,927 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-//     This code was generated by a tool.
-//     Runtime Version:4.0.30319.1
-//
-//     Changes to this file may cause incorrect behavior and will be lost if
-//     the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace Microsoft.Internal {
-    using System;
-    
-    
-    /// <summary>
-    ///   A strongly-typed resource class, for looking up localized strings, etc.
-    /// </summary>
-    // This class was auto-generated by the StronglyTypedResourceBuilder
-    // class via a tool like ResGen or Visual Studio.
-    // To add or remove a member, edit your .ResX file then rerun ResGen
-    // with the /str option, or rebuild your VS project.
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
-    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    internal class Strings {
-        
-        private static global::System.Resources.ResourceManager resourceMan;
-        
-        private static global::System.Globalization.CultureInfo resourceCulture;
-        
-        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
-        internal Strings() {
-        }
-        
-        /// <summary>
-        ///   Returns the cached ResourceManager instance used by this class.
-        /// </summary>
-        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
-        internal static global::System.Resources.ResourceManager ResourceManager {
-            get {
-                if (object.ReferenceEquals(resourceMan, null)) {
-                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.Internal.Strings", typeof(Strings).Assembly);
-                    resourceMan = temp;
-                }
-                return resourceMan;
-            }
-        }
-        
-        /// <summary>
-        ///   Overrides the current thread's CurrentUICulture property for all
-        ///   resource lookups using this strongly typed resource class.
-        /// </summary>
-        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
-        internal static global::System.Globalization.CultureInfo Culture {
-            get {
-                return resourceCulture;
-            }
-            set {
-                resourceCulture = value;
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to '{0}' is a reflection-only assembly which is not supported..
-        /// </summary>
-        internal static string Argument_AssemblyReflectionOnly {
-            get {
-                return ResourceManager.GetString("Argument_AssemblyReflectionOnly", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to '{0}' contains a reflection-only type which is not supported..
-        /// </summary>
-        internal static string Argument_ElementReflectionOnlyType {
-            get {
-                return ResourceManager.GetString("Argument_ElementReflectionOnlyType", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to 'exports' cannot be empty when ImportDefinition.ImportCardinality is ImportCardinality.ExactlyOne..
-        /// </summary>
-        internal static string Argument_ExportsEmpty {
-            get {
-                return ResourceManager.GetString("Argument_ExportsEmpty", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to 'exports' cannot contain more than one element when ImportDefinition.ImportCardinality is ImportCardinality.ZeroOrOne or ImportCardinality.ExactlyOne..
-        /// </summary>
-        internal static string Argument_ExportsTooMany {
-            get {
-                return ResourceManager.GetString("Argument_ExportsTooMany", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to '{0}' cannot contain a null (Nothing in Visual Basic) element..
-        /// </summary>
-        internal static string Argument_NullElement {
-            get {
-                return ResourceManager.GetString("Argument_NullElement", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to '{0}' cannot be an empty string ("")..
-        /// </summary>
-        internal static string ArgumentException_EmptyString {
-            get {
-                return ResourceManager.GetString("ArgumentException_EmptyString", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to The value of argument '{0}' ({1}) is invalid for Enum type '{2}'..
-        /// </summary>
-        internal static string ArgumentOutOfRange_InvalidEnum {
-            get {
-                return ResourceManager.GetString("ArgumentOutOfRange_InvalidEnum", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to The value of argument '{0}' ({1}) is not supported. Allowed values are : '{2}'..
-        /// </summary>
-        internal static string ArgumentOutOfRange_InvalidEnumInSet {
-            get {
-                return ResourceManager.GetString("ArgumentOutOfRange_InvalidEnumInSet", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to The argument was a value type which is not supported..
-        /// </summary>
-        internal static string ArgumentValueType {
-            get {
-                return ResourceManager.GetString("ArgumentValueType", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Assembly file {0} is either not found or not a dll or exe file..
-        /// </summary>
-        internal static string AssemblyFileNotFoundOrWrongType {
-            get {
-                return ResourceManager.GetString("AssemblyFileNotFoundOrWrongType", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to The atomicComposition can no longer be changed because the atomicComposition has already been completed..
-        /// </summary>
-        internal static string AtomicComposition_AlreadyCompleted {
-            get {
-                return ResourceManager.GetString("AtomicComposition_AlreadyCompleted", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to The atomicComposition is already contains an inner atomicComposition and cannot contain more than one atomicComposition at a time..
-        /// </summary>
-        internal static string AtomicComposition_AlreadyNested {
-            get {
-                return ResourceManager.GetString("AtomicComposition_AlreadyNested", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to The atomicComposition contains another inner atomicComposition and cannot be changed until the that inner atomicComposition has been completed..
-        /// </summary>
-        internal static string AtomicComposition_PartOfAnotherAtomicComposition {
-            get {
-                return ResourceManager.GetString("AtomicComposition_PartOfAnotherAtomicComposition", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to No valid exports were found that match the constraint '{0}', invalid exports may have been rejected..
-        /// </summary>
-        internal static string CardinalityMismatch_NoExports {
-            get {
-                return ResourceManager.GetString("CardinalityMismatch_NoExports", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to More than one export was found that matches the constraint '{0}'..
-        /// </summary>
-        internal static string CardinalityMismatch_TooManyExports {
-            get {
-                return ResourceManager.GetString("CardinalityMismatch_TooManyExports", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Unknown Origin.
-        /// </summary>
-        internal static string CompositionElement_UnknownOrigin {
-            get {
-                return ResourceManager.GetString("CompositionElement_UnknownOrigin", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to The composition remains unchanged. The changes were rejected because of the following error(s): {0}.
-        /// </summary>
-        internal static string CompositionException_ChangesRejected {
-            get {
-                return ResourceManager.GetString("CompositionException_ChangesRejected", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Element: {0}.
-        /// </summary>
-        internal static string CompositionException_ElementPrefix {
-            get {
-                return ResourceManager.GetString("CompositionException_ElementPrefix", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Resulting in:.
-        /// </summary>
-        internal static string CompositionException_ErrorPrefix {
-            get {
-                return ResourceManager.GetString("CompositionException_ErrorPrefix", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Unable to create an instance of the Metadata view '{0}' because a constructor could not be selected.  Ensure that the type implements a constructor which takes an argument of type IDictionary<string, object>..
-        /// </summary>
-        internal static string CompositionException_MetadataViewInvalidConstructor {
-            get {
-                return ResourceManager.GetString("CompositionException_MetadataViewInvalidConstructor", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to The composition produced multiple composition errors, with {0:N0} root causes. The root causes are provided below..
-        /// </summary>
-        internal static string CompositionException_MultipleErrorsWithMultiplePaths {
-            get {
-                return ResourceManager.GetString("CompositionException_MultipleErrorsWithMultiplePaths", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to  {0} {1}.
-        /// </summary>
-        internal static string CompositionException_OriginFormat {
-            get {
-                return ResourceManager.GetString("CompositionException_OriginFormat", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to --> .
-        /// </summary>
-        internal static string CompositionException_OriginSeparator {
-            get {
-                return ResourceManager.GetString("CompositionException_OriginSeparator", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to ).
-        /// </summary>
-        internal static string CompositionException_PathsCountSeparator {
-            get {
-                return ResourceManager.GetString("CompositionException_PathsCountSeparator", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Review the CompositionException.Errors property for more detailed information..
-        /// </summary>
-        internal static string CompositionException_ReviewErrorProperty {
-            get {
-                return ResourceManager.GetString("CompositionException_ReviewErrorProperty", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to The composition produced a single composition error, with {0:N0} root causes. The root causes are provided below..
-        /// </summary>
-        internal static string CompositionException_SingleErrorWithMultiplePaths {
-            get {
-                return ResourceManager.GetString("CompositionException_SingleErrorWithMultiplePaths", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to The composition produced a single composition error. The root cause is provided below..
-        /// </summary>
-        internal static string CompositionException_SingleErrorWithSinglePath {
-            get {
-                return ResourceManager.GetString("CompositionException_SingleErrorWithSinglePath", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to The catalog '{0}' could not load assembly '{1}'. {2}.
-        /// </summary>
-        internal static string CompositionTrace_Discovery_AssemblyLoadFailed {
-            get {
-                return ResourceManager.GetString("CompositionTrace_Discovery_AssemblyLoadFailed", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to The ComposablePartDefinition '{0}' was ignored because it is an open generic type..
-        /// </summary>
-        internal static string CompositionTrace_Discovery_DefinitionContainsGenericParameters {
-            get {
-                return ResourceManager.GetString("CompositionTrace_Discovery_DefinitionContainsGenericParameters", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to The ComposablePartDefinition '{0}' was ignored because it contains no exports..
-        /// </summary>
-        internal static string CompositionTrace_Discovery_DefinitionContainsNoExports {
-            get {
-                return ResourceManager.GetString("CompositionTrace_Discovery_DefinitionContainsNoExports", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to The ComposablePartDefinition '{0}' was ignored because it was marked with PartNotDiscoverableAttribute..
-        /// </summary>
-        internal static string CompositionTrace_Discovery_DefinitionMarkedWithPartNotDiscoverableAttribute {
-            get {
-                return ResourceManager.GetString("CompositionTrace_Discovery_DefinitionMarkedWithPartNotDiscoverableAttribute", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to The member or parameter '{0}' is marked with multiple Import and ImportMany attributes. Only the first attribute encountered will be respected..
-        /// </summary>
-        internal static string CompositionTrace_Discovery_MemberMarkedWithMultipleImportAndImportMany {
-            get {
-                return ResourceManager.GetString("CompositionTrace_Discovery_MemberMarkedWithMultipleImportAndImportMany", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to The ComposablePartDefinition '{0}' has been rejected. {1}.
-        /// </summary>
-        internal static string CompositionTrace_Rejection_DefinitionRejected {
-            get {
-                return ResourceManager.GetString("CompositionTrace_Rejection_DefinitionRejected", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to The ComposablePartDefinition '{0}' that was previously rejected has been resurrected..
-        /// </summary>
-        internal static string CompositionTrace_Rejection_DefinitionResurrected {
-            get {
-                return ResourceManager.GetString("CompositionTrace_Rejection_DefinitionResurrected", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Cannot cast the underlying exported value of type '{0}' to type '{1}'..
-        /// </summary>
-        internal static string ContractMismatch_ExportedValueCannotBeCastToT {
-            get {
-                return ResourceManager.GetString("ContractMismatch_ExportedValueCannotBeCastToT", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Unable to create an Instance of the Metadata view '{0}' because the exporter exported the metadata  for the item '{1}' with the value '{2}' as type '{3}' but the view imports it as type '{4}'..
-        /// </summary>
-        internal static string ContractMismatch_InvalidCastOnMetadataField {
-            get {
-                return ResourceManager.GetString("ContractMismatch_InvalidCastOnMetadataField", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Unable to create an Instance of the Metadata view '{0}' because the exporter exported the metadata for the item '{1}' with a null value and null is not a valid value for type '{2}'..
-        /// </summary>
-        internal static string ContractMismatch_NullReferenceOnMetadataField {
-            get {
-                return ResourceManager.GetString("ContractMismatch_NullReferenceOnMetadataField", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Directory '{0}' could not be found..
-        /// </summary>
-        internal static string DirectoryNotFound {
-            get {
-                return ResourceManager.GetString("DirectoryNotFound", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Member or Type '{0}' contains multiple metadata entries with the name '{1}'. The metadata entries could be coming from the ExportMetadataAttribute or from a property of a custom metadata attribute. Either remove the duplicate entries or enable the metadata entry with name '{1}' to allow multiple entries via the IsMultiple property on ExportMetadataAttribute or AttributeUsage.AllowMultiple on custom metadata attributes..
-        /// </summary>
-        internal static string Discovery_DuplicateMetadataNameValues {
-            get {
-                return ResourceManager.GetString("Discovery_DuplicateMetadataNameValues", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Property '{0}' has type '{1}' which is an invalid metadata type. Metadata can only contain values with a type that is available to be embedded at compile-time into attributes. For more details of what types are valid reference section 17.1.3 in the C# specification..
-        /// </summary>
-        internal static string Discovery_MetadataContainsValueWithInvalidType {
-            get {
-                return ResourceManager.GetString("Discovery_MetadataContainsValueWithInvalidType", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Member or Type '{0}' contains a metadata entry with the name '{1}', which is a reserved metadata key name. Either remove this metadata entry or change the name associated with the entry..
-        /// </summary>
-        internal static string Discovery_ReservedMetadataNameUsed {
-            get {
-                return ResourceManager.GetString("Discovery_ReservedMetadataNameUsed", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to {0} did not originate from the ExportDefinitions property on this ComposablePart or its ComposablePartDefinition..
-        /// </summary>
-        internal static string ExportDefinitionNotOnThisComposablePart {
-            get {
-                return ResourceManager.GetString("ExportDefinitionNotOnThisComposablePart", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to {0} did not originate from the ImportDefinitions property on this ComposablePart or its ComposablePartDefinition..
-        /// </summary>
-        internal static string ImportDefinitionNotOnThisComposablePart {
-            get {
-                return ResourceManager.GetString("ImportDefinitionNotOnThisComposablePart", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to The composition failed because it did not complete within '{0:N0}' iterations. This is most likely caused by a cycle in the dependency graph of a part which is marked with a non-shared creation policy..
-        /// </summary>
-        internal static string ImportEngine_ComposeTookTooManyIterations {
-            get {
-                return ResourceManager.GetString("ImportEngine_ComposeTookTooManyIterations", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to The ComposablePart of type '{0}' cannot be recomposed because it is in an invalid state. It can only be recomposed if it has already been fully previewed or composed..
-        /// </summary>
-        internal static string ImportEngine_InvalidStateForRecomposition {
-            get {
-                return ResourceManager.GetString("ImportEngine_InvalidStateForRecomposition", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Cannot activate part '{0}'..
-        /// </summary>
-        internal static string ImportEngine_PartCannotActivate {
-            get {
-                return ResourceManager.GetString("ImportEngine_PartCannotActivate", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Cannot get export '{0}' from part '{1}'..
-        /// </summary>
-        internal static string ImportEngine_PartCannotGetExportedValue {
-            get {
-                return ResourceManager.GetString("ImportEngine_PartCannotGetExportedValue", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Cannot set import '{0}' on part '{1}'..
-        /// </summary>
-        internal static string ImportEngine_PartCannotSetImport {
-            get {
-                return ResourceManager.GetString("ImportEngine_PartCannotSetImport", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Cannot compose part '{0}' because a cycle exists in the dependencies between the exports being composed. To break this cycle, consider changing some imports from constructor to property injection..
-        /// </summary>
-        internal static string ImportEngine_PartCycle {
-            get {
-                return ResourceManager.GetString("ImportEngine_PartCycle", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Change in exports prevented by non-recomposable import '{0}' on part '{1}'..
-        /// </summary>
-        internal static string ImportEngine_PreventedByExistingImport {
-            get {
-                return ResourceManager.GetString("ImportEngine_PreventedByExistingImport", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Could not finishing composing object of type '{0}'. The import '{1}' was not satisfied..
-        /// </summary>
-        internal static string ImportNotSetOnPart {
-            get {
-                return ResourceManager.GetString("ImportNotSetOnPart", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Internal error occurred. Additional information: '{0}'..
-        /// </summary>
-        internal static string InternalExceptionMessage {
-            get {
-                return ResourceManager.GetString("InternalExceptionMessage", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Metadata can only contain values with a type that is available to be embedded at compile-time into attributes. For more details of what types are valid reference section 17.1.3 in the C# specification..
-        /// </summary>
-        internal static string InvalidMetadataValue {
-            get {
-                return ResourceManager.GetString("InvalidMetadataValue", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to The Type '{0}' supplied is not a valid Metadata View..
-        /// </summary>
-        internal static string InvalidMetadataView {
-            get {
-                return ResourceManager.GetString("InvalidMetadataView", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to 'definition' cannot be set after Activate has been called because ImportDefinition.IsRecomposable is false..
-        /// </summary>
-        internal static string InvalidOperation_DefinitionCannotBeRecomposed {
-            get {
-                return ResourceManager.GetString("InvalidOperation_DefinitionCannotBeRecomposed", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to GetExportedValue cannot be called before prerequisite import '{0}' has been set..
-        /// </summary>
-        internal static string InvalidOperation_GetExportedValueBeforePrereqImportSet {
-            get {
-                return ResourceManager.GetString("InvalidOperation_GetExportedValueBeforePrereqImportSet", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to A call to Compose occurred during a call to Compose on the same CompositionContainer object. Use the IsComposing property on CompositionContainer to ensure a composition is not already in progress before calling Compose..
-        /// </summary>
-        internal static string InvalidOperationReentrantCompose {
-            get {
-                return ResourceManager.GetString("InvalidOperationReentrantCompose", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to The MetadataView '{0}' is invalid because property '{1}' has a property set method..
-        /// </summary>
-        internal static string InvalidSetterOnMetadataField {
-            get {
-                return ResourceManager.GetString("InvalidSetterOnMetadataField", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Accessors must not be null (Nothing in Visual Basic)..
-        /// </summary>
-        internal static string LazyMemberInfo_AccessorsNull {
-            get {
-                return ResourceManager.GetString("LazyMemberInfo_AccessorsNull", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to A member of type '{0}' must have exactly a single accessor of type '{0}'.
-        /// </summary>
-        internal static string LazyMemberInfo_InvalidAccessorOnSimpleMember {
-            get {
-                return ResourceManager.GetString("LazyMemberInfo_InvalidAccessorOnSimpleMember", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to All event accessors must be methods..
-        /// </summary>
-        internal static string LazyMemberinfo_InvalidEventAccessors_AccessorType {
-            get {
-                return ResourceManager.GetString("LazyMemberinfo_InvalidEventAccessors_AccessorType", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to An event must have exactly three accessors..
-        /// </summary>
-        internal static string LazyMemberInfo_InvalidEventAccessors_Cardinality {
-            get {
-                return ResourceManager.GetString("LazyMemberInfo_InvalidEventAccessors_Cardinality", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to All property accessors must be methods..
-        /// </summary>
-        internal static string LazyMemberinfo_InvalidPropertyAccessors_AccessorType {
-            get {
-                return ResourceManager.GetString("LazyMemberinfo_InvalidPropertyAccessors_AccessorType", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to A property must have exactly two accessors..
-        /// </summary>
-        internal static string LazyMemberInfo_InvalidPropertyAccessors_Cardinality {
-            get {
-                return ResourceManager.GetString("LazyMemberInfo_InvalidPropertyAccessors_Cardinality", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to A member must have at least one accessor..
-        /// </summary>
-        internal static string LazyMemberInfo_NoAccessors {
-            get {
-                return ResourceManager.GetString("LazyMemberInfo_NoAccessors", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to The lazily evaluated value of type '{0}' passed to the ReflectionModelServices API as part of the argument '{1}' must not return null (Nothing in Visual Basic)..
-        /// </summary>
-        internal static string LazyServices_LazyResolvesToNull {
-            get {
-                return ResourceManager.GetString("LazyServices_LazyResolvesToNull", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to This export does not support the metadata item '{0}'..
-        /// </summary>
-        internal static string MetadataItemNotSupported {
-            get {
-                return ResourceManager.GetString("MetadataItemNotSupported", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to The {0} member must be overridden by a derived class..
-        /// </summary>
-        internal static string NotImplemented_NotOverriddenByDerived {
-            get {
-                return ResourceManager.GetString("NotImplemented_NotOverriddenByDerived", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Interface '{0}' is not a valid MetadataView; MetadataViews do not support non-public interfaces, and interfaces that contain members that are not properties..
-        /// </summary>
-        internal static string NotSupportedInterfaceMetadataView {
-            get {
-                return ResourceManager.GetString("NotSupportedInterfaceMetadataView", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to The underlying dictionary is read-only..
-        /// </summary>
-        internal static string NotSupportedReadOnlyDictionary {
-            get {
-                return ResourceManager.GetString("NotSupportedReadOnlyDictionary", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to This property cannot be set after the object's public surface has been accessed..
-        /// </summary>
-        internal static string ObjectAlreadyInitialized {
-            get {
-                return ResourceManager.GetString("ObjectAlreadyInitialized", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to This object has not been initialized - the property '{0}' must be set..
-        /// </summary>
-        internal static string ObjectMustBeInitialized {
-            get {
-                return ResourceManager.GetString("ObjectMustBeInitialized", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Currently composing another batch in this ComposablePartExportProvider. Only one batch can be composed at a time..
-        /// </summary>
-        internal static string ReentrantCompose {
-            get {
-                return ResourceManager.GetString("ReentrantCompose", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Cannot get the value of property '{0}', because the member is not readable. The property must have an accessible getter..
-        /// </summary>
-        internal static string ReflectionModel_ExportNotReadable {
-            get {
-                return ResourceManager.GetString("ReflectionModel_ExportNotReadable", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to An exception occurred while trying to get the value of property '{0}'..
-        /// </summary>
-        internal static string ReflectionModel_ExportThrewException {
-            get {
-                return ResourceManager.GetString("ReflectionModel_ExportThrewException", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Cannot populate the collection '{0}' because an exception occurred while calling the Add method on the type '{1}'..
-        /// </summary>
-        internal static string ReflectionModel_ImportCollectionAddThrewException {
-            get {
-                return ResourceManager.GetString("ReflectionModel_ImportCollectionAddThrewException", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Cannot populate the collection '{0}' because an exception occurred while calling the Clear method on the type '{1}'..
-        /// </summary>
-        internal static string ReflectionModel_ImportCollectionClearThrewException {
-            get {
-                return ResourceManager.GetString("ReflectionModel_ImportCollectionClearThrewException", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Cannot populate the collection '{0}' because an exception occurred while calling the default constructor on the type '{1}'..
-        /// </summary>
-        internal static string ReflectionModel_ImportCollectionConstructionThrewException {
-            get {
-                return ResourceManager.GetString("ReflectionModel_ImportCollectionConstructionThrewException", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Cannot populate the collection '{0}' because an exception occurred while trying to access the collection value. If the collection is not IEnumerable<T> or T[] it must implement ICollection<T> and be either pre-initialized or be writable with a default constructor..
-        /// </summary>
-        internal static string ReflectionModel_ImportCollectionGetThrewException {
-            get {
-                return ResourceManager.GetString("ReflectionModel_ImportCollectionGetThrewException", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Cannot populate the collection '{0}' because an exception occurred while reading the IsReadOnly property on the type '{1}'..
-        /// </summary>
-        internal static string ReflectionModel_ImportCollectionIsReadOnlyThrewException {
-            get {
-                return ResourceManager.GetString("ReflectionModel_ImportCollectionIsReadOnlyThrewException", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Cannot populate the collection '{0}' because it does not implement ICollection<T> or is read-only. If the collection is not IEnumerable<T> or T[] it must implement ICollection<T> and be either pre-initialized or be writable with a default constructor..
-        /// </summary>
-        internal static string ReflectionModel_ImportCollectionNotWritable {
-            get {
-                return ResourceManager.GetString("ReflectionModel_ImportCollectionNotWritable", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Cannot populate the value of enumerable member '{0}' because it is null (Nothing in Visual Basic). If the collection is not IEnumerable<T> or T[] it must implement ICollection<T> and be either pre-initialized or be writable with a default constructor..
-        /// </summary>
-        internal static string ReflectionModel_ImportCollectionNull {
-            get {
-                return ResourceManager.GetString("ReflectionModel_ImportCollectionNull", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to The importing constructor on type '{0}' is using ImportManyAttribute on parameter '{1}' with a non-assignable type. On constructor parameters the ImportManyAttribute only supports importing into types T[] or IEnumerable<T>..
-        /// </summary>
-        internal static string ReflectionModel_ImportManyOnParameterCanOnlyBeAssigned {
-            get {
-                return ResourceManager.GetString("ReflectionModel_ImportManyOnParameterCanOnlyBeAssigned", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to The export '{0}' is not assignable to type '{1}'..
-        /// </summary>
-        internal static string ReflectionModel_ImportNotAssignableFromExport {
-            get {
-                return ResourceManager.GetString("ReflectionModel_ImportNotAssignableFromExport", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Cannot set the value of '{0}' because the member is not writable. If the member is a property, it must have an accessible setter; otherwise, if it is a field, it must not be read-only..
-        /// </summary>
-        internal static string ReflectionModel_ImportNotWritable {
-            get {
-                return ResourceManager.GetString("ReflectionModel_ImportNotWritable", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to An exception occurred while trying to set the value of property '{0}'..
-        /// </summary>
-        internal static string ReflectionModel_ImportThrewException {
-            get {
-                return ResourceManager.GetString("ReflectionModel_ImportThrewException", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to ExportDefinition of type '{0}' cannot be used in this context. Only export definitions produced by the ReflectionModelServices.CreateExportDefinition are supported..
-        /// </summary>
-        internal static string ReflectionModel_InvalidExportDefinition {
-            get {
-                return ResourceManager.GetString("ReflectionModel_InvalidExportDefinition", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to ImportDefinition of type '{0}' cannot be used in this context. Only import definitions produced by the ReflectionModelServices.CreateImportDefinition are supported..
-        /// </summary>
-        internal static string ReflectionModel_InvalidImportDefinition {
-            get {
-                return ResourceManager.GetString("ReflectionModel_InvalidImportDefinition", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to ImportDefinition of type '{0}' cannot be used in this context. Only import definitions produced by the ReflectionModelServices.CreateImportDefinition based on members are supported. Use ReflectionModelServices.IsImportingParameter to determine whether a given import definition is based on a member or a parameter..
-        /// </summary>
-        internal static string ReflectionModel_InvalidMemberImportDefinition {
-            get {
-                return ResourceManager.GetString("ReflectionModel_InvalidMemberImportDefinition", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to ImportDefinition of type '{0}' cannot be used in this context. Only import definitions produced by the ReflectionModelServices.CreateImportDefinition based on parameters are supported. Use ReflectionModelServices.IsImportingParameter to determine whether a given import definition is based on a member or a parameter..
-        /// </summary>
-        internal static string ReflectionModel_InvalidParameterImportDefinition {
-            get {
-                return ResourceManager.GetString("ReflectionModel_InvalidParameterImportDefinition", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to ComposablePartDefinition of type '{0}' cannot be used in this context. Only part definitions produced by the ReflectionModelServices.CreatePartDefinition are supported..
-        /// </summary>
-        internal static string ReflectionModel_InvalidPartDefinition {
-            get {
-                return ResourceManager.GetString("ReflectionModel_InvalidPartDefinition", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to Cannot create an instance of type '{0}' because a constructor could not be selected for construction. Ensure that the type either has a default constructor, or a single constructor marked with the 'System.ComponentModel.Composition.ImportingConstructorAttribute'..
-        /// </summary>
-        internal static string ReflectionModel_PartConstructorMissing {
-            get {
-                return ResourceManager.GetString("ReflectionModel_PartConstructorMissing", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to An exception occurred while trying to create an instance of type '{0}'..
-        /// </summary>
-        internal static string ReflectionModel_PartConstructorThrewException {
-            get {
-                return ResourceManager.GetString("ReflectionModel_PartConstructorThrewException", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to An exception occurred while calling the 'OnImportsSatisfied' method on type '{0}'..
-        /// </summary>
-        internal static string ReflectionModel_PartOnImportsSatisfiedThrewException {
-            get {
-                return ResourceManager.GetString("ReflectionModel_PartOnImportsSatisfiedThrewException", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to {0} (Types='{1}')..
-        /// </summary>
-        internal static string TypeCatalog_DisplayNameFormat {
-            get {
-                return ResourceManager.GetString("TypeCatalog_DisplayNameFormat", resourceCulture);
-            }
-        }
-        
-        /// <summary>
-        ///   Looks up a localized string similar to <Empty>.
-        /// </summary>
-        internal static string TypeCatalog_Empty {
-            get {
-                return ResourceManager.GetString("TypeCatalog_Empty", resourceCulture);
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/Strings.resources b/System.ComponentModel.Composition/Strings.resources
deleted file mode 100644
index a4fb52e..0000000
Binary files a/System.ComponentModel.Composition/Strings.resources and /dev/null differ
diff --git a/System.ComponentModel.Composition/Strings.resx b/System.ComponentModel.Composition/Strings.resx
deleted file mode 100644
index 4031dfb..0000000
--- a/System.ComponentModel.Composition/Strings.resx
+++ /dev/null
@@ -1,408 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <data name="ArgumentException_EmptyString" xml:space="preserve">
-    <value>'{0}' cannot be an empty string ("").</value>
-  </data>
-  <data name="ArgumentOutOfRange_InvalidEnum" xml:space="preserve">
-    <value>The value of argument '{0}' ({1}) is invalid for Enum type '{2}'.</value>
-  </data>
-  <data name="ArgumentValueType" xml:space="preserve">
-    <value>The argument was a value type which is not supported.</value>
-  </data>
-  <data name="Argument_AssemblyReflectionOnly" xml:space="preserve">
-    <value>'{0}' is a reflection-only assembly which is not supported.</value>
-  </data>
-  <data name="Argument_NullElement" xml:space="preserve">
-    <value>'{0}' cannot contain a null (Nothing in Visual Basic) element.</value>
-  </data>
-  <data name="AssemblyFileNotFoundOrWrongType" xml:space="preserve">
-    <value>Assembly file {0} is either not found or not a dll or exe file.</value>
-  </data>
-  <data name="CardinalityMismatch_NoExports" xml:space="preserve">
-    <value>No valid exports were found that match the constraint '{0}', invalid exports may have been rejected.</value>
-  </data>
-  <data name="CardinalityMismatch_TooManyExports" xml:space="preserve">
-    <value>More than one export was found that matches the constraint '{0}'.</value>
-  </data>
-  <data name="ImportEngine_ComposeTookTooManyIterations" xml:space="preserve">
-    <value>The composition failed because it did not complete within '{0:N0}' iterations. This is most likely caused by a cycle in the dependency graph of a part which is marked with a non-shared creation policy.</value>
-  </data>
-  <data name="ContractMismatch_ExportedValueCannotBeCastToT" xml:space="preserve">
-    <value>Cannot cast the underlying exported value of type '{0}' to type '{1}'.</value>
-  </data>
-  <data name="DirectoryNotFound" xml:space="preserve">
-    <value>Directory '{0}' could not be found.</value>
-  </data>
-  <data name="ReflectionModel_PartConstructorThrewException" xml:space="preserve">
-    <value>An exception occurred while trying to create an instance of type '{0}'.</value>
-  </data>
-  <data name="ReflectionModel_ExportThrewException" xml:space="preserve">
-    <value>An exception occurred while trying to get the value of property '{0}'.</value>
-  </data>
-  <data name="ReflectionModel_PartOnImportsSatisfiedThrewException" xml:space="preserve">
-    <value>An exception occurred while calling the 'OnImportsSatisfied' method on type '{0}'.</value>
-  </data>
-  <data name="ReflectionModel_ImportThrewException" xml:space="preserve">
-    <value>An exception occurred while trying to set the value of property '{0}'.</value>
-  </data>
-  <data name="ExportDefinitionNotOnThisComposablePart" xml:space="preserve">
-    <value>{0} did not originate from the ExportDefinitions property on this ComposablePart or its ComposablePartDefinition.</value>
-  </data>
-  <data name="ReflectionModel_ImportCollectionNotWritable" xml:space="preserve">
-    <value>Cannot populate the collection '{0}' because it does not implement ICollection<T> or is read-only. If the collection is not IEnumerable<T> or T[] it must implement ICollection<T> and be either pre-initialized or be writable with a default constructor.</value>
-  </data>
-  <data name="ReflectionModel_ImportCollectionNull" xml:space="preserve">
-    <value>Cannot populate the value of enumerable member '{0}' because it is null (Nothing in Visual Basic). If the collection is not IEnumerable<T> or T[] it must implement ICollection<T> and be either pre-initialized or be writable with a default constructor.</value>
-  </data>
-  <data name="ImportEngine_PartCycle" xml:space="preserve">
-    <value>Cannot compose part '{0}' because a cycle exists in the dependencies between the exports being composed. To break this cycle, consider changing some imports from constructor to property injection.</value>
-  </data>
-  <data name="ImportDefinitionNotOnThisComposablePart" xml:space="preserve">
-    <value>{0} did not originate from the ImportDefinitions property on this ComposablePart or its ComposablePartDefinition.</value>
-  </data>
-  <data name="ImportNotSetOnPart" xml:space="preserve">
-    <value>Could not finishing composing object of type '{0}'. The import '{1}' was not satisfied.</value>
-  </data>
-  <data name="ReflectionModel_ImportNotWritable" xml:space="preserve">
-    <value>Cannot set the value of '{0}' because the member is not writable. If the member is a property, it must have an accessible setter; otherwise, if it is a field, it must not be read-only.</value>
-  </data>
-  <data name="InternalExceptionMessage" xml:space="preserve">
-    <value>Internal error occurred. Additional information: '{0}'.</value>
-  </data>
-  <data name="InvalidMetadataView" xml:space="preserve">
-    <value>The Type '{0}' supplied is not a valid Metadata View.</value>
-  </data>
-  <data name="InvalidOperationReentrantCompose" xml:space="preserve">
-    <value>A call to Compose occurred during a call to Compose on the same CompositionContainer object. Use the IsComposing property on CompositionContainer to ensure a composition is not already in progress before calling Compose.</value>
-  </data>
-  <data name="MetadataItemNotSupported" xml:space="preserve">
-    <value>This export does not support the metadata item '{0}'.</value>
-  </data>
-  <data name="NotSupportedInterfaceMetadataView" xml:space="preserve">
-    <value>Interface '{0}' is not a valid MetadataView; MetadataViews do not support non-public interfaces, and interfaces that contain members that are not properties.</value>
-  </data>
-  <data name="ReflectionModel_PartConstructorMissing" xml:space="preserve">
-    <value>Cannot create an instance of type '{0}' because a constructor could not be selected for construction. Ensure that the type either has a default constructor, or a single constructor marked with the 'System.ComponentModel.Composition.ImportingConstructorAttribute'.</value>
-  </data>
-  <data name="NotImplemented_NotOverriddenByDerived" xml:space="preserve">
-    <value>The {0} member must be overridden by a derived class.</value>
-  </data>
-  <data name="NotSupportedReadOnlyDictionary" xml:space="preserve">
-    <value>The underlying dictionary is read-only.</value>
-  </data>
-  <data name="ObjectAlreadyInitialized" xml:space="preserve">
-    <value>This property cannot be set after the object's public surface has been accessed.</value>
-  </data>
-  <data name="ObjectMustBeInitialized" xml:space="preserve">
-    <value>This object has not been initialized - the property '{0}' must be set.</value>
-  </data>
-  <data name="ReflectionModel_ImportNotAssignableFromExport" xml:space="preserve">
-    <value>The export '{0}' is not assignable to type '{1}'.</value>
-  </data>
-  <data name="ReflectionModel_ExportNotReadable" xml:space="preserve">
-    <value>Cannot get the value of property '{0}', because the member is not readable. The property must have an accessible getter.</value>
-  </data>
-  <data name="Argument_ElementReflectionOnlyType" xml:space="preserve">
-    <value>'{0}' contains a reflection-only type which is not supported.</value>
-  </data>
-  <data name="InvalidOperation_DefinitionCannotBeRecomposed" xml:space="preserve">
-    <value>'definition' cannot be set after Activate has been called because ImportDefinition.IsRecomposable is false.</value>
-  </data>
-  <data name="Argument_ExportsEmpty" xml:space="preserve">
-    <value>'exports' cannot be empty when ImportDefinition.ImportCardinality is ImportCardinality.ExactlyOne.</value>
-  </data>
-  <data name="Argument_ExportsTooMany" xml:space="preserve">
-    <value>'exports' cannot contain more than one element when ImportDefinition.ImportCardinality is ImportCardinality.ZeroOrOne or ImportCardinality.ExactlyOne.</value>
-  </data>
-  <data name="CompositionElement_UnknownOrigin" xml:space="preserve">
-    <value>Unknown Origin</value>
-  </data>
-  <data name="ImportEngine_PartCannotActivate" xml:space="preserve">
-    <value>Cannot activate part '{0}'.</value>
-  </data>
-  <data name="ImportEngine_PartCannotSetImport" xml:space="preserve">
-    <value>Cannot set import '{0}' on part '{1}'.</value>
-  </data>
-  <data name="ImportEngine_PartCannotGetExportedValue" xml:space="preserve">
-    <value>Cannot get export '{0}' from part '{1}'.</value>
-  </data>
-  <data name="TypeCatalog_Empty" xml:space="preserve">
-    <value><Empty></value>
-  </data>
-  <data name="InvalidOperation_GetExportedValueBeforePrereqImportSet" xml:space="preserve">
-    <value>GetExportedValue cannot be called before prerequisite import '{0}' has been set.</value>
-  </data>
-  <data name="CompositionException_ErrorPrefix" xml:space="preserve">
-    <value>Resulting in:</value>
-  </data>
-  <data name="CompositionException_MultipleErrorsWithMultiplePaths" xml:space="preserve">
-    <value>The composition produced multiple composition errors, with {0:N0} root causes. The root causes are provided below.</value>
-  </data>
-  <data name="CompositionException_ReviewErrorProperty" xml:space="preserve">
-    <value>Review the CompositionException.Errors property for more detailed information.</value>
-  </data>
-  <data name="CompositionException_SingleErrorWithMultiplePaths" xml:space="preserve">
-    <value>The composition produced a single composition error, with {0:N0} root causes. The root causes are provided below.</value>
-  </data>
-  <data name="CompositionException_SingleErrorWithSinglePath" xml:space="preserve">
-    <value>The composition produced a single composition error. The root cause is provided below.</value>
-  </data>
-  <data name="ReflectionModel_ImportCollectionGetThrewException" xml:space="preserve">
-    <value>Cannot populate the collection '{0}' because an exception occurred while trying to access the collection value. If the collection is not IEnumerable<T> or T[] it must implement ICollection<T> and be either pre-initialized or be writable with a default constructor.</value>
-  </data>
-  <data name="ReflectionModel_ImportCollectionAddThrewException" xml:space="preserve">
-    <value>Cannot populate the collection '{0}' because an exception occurred while calling the Add method on the type '{1}'.</value>
-  </data>
-  <data name="ReflectionModel_ImportCollectionClearThrewException" xml:space="preserve">
-    <value>Cannot populate the collection '{0}' because an exception occurred while calling the Clear method on the type '{1}'.</value>
-  </data>
-  <data name="ReflectionModel_ImportCollectionIsReadOnlyThrewException" xml:space="preserve">
-    <value>Cannot populate the collection '{0}' because an exception occurred while reading the IsReadOnly property on the type '{1}'.</value>
-  </data>
-  <data name="ReflectionModel_ImportCollectionConstructionThrewException" xml:space="preserve">
-    <value>Cannot populate the collection '{0}' because an exception occurred while calling the default constructor on the type '{1}'.</value>
-  </data>
-  <data name="CompositionTrace_Discovery_MemberMarkedWithMultipleImportAndImportMany" xml:space="preserve">
-    <value>The member or parameter '{0}' is marked with multiple Import and ImportMany attributes. Only the first attribute encountered will be respected.</value>
-  </data>
-  <data name="Discovery_MetadataContainsValueWithInvalidType" xml:space="preserve">
-    <value>Property '{0}' has type '{1}' which is an invalid metadata type. Metadata can only contain values with a type that is available to be embedded at compile-time into attributes. For more details of what types are valid reference section 17.1.3 in the C# specification.</value>
-  </data>
-  <data name="Discovery_DuplicateMetadataNameValues" xml:space="preserve">
-    <value>Member or Type '{0}' contains multiple metadata entries with the name '{1}'. The metadata entries could be coming from the ExportMetadataAttribute or from a property of a custom metadata attribute. Either remove the duplicate entries or enable the metadata entry with name '{1}' to allow multiple entries via the IsMultiple property on ExportMetadataAttribute or AttributeUsage.AllowMultiple on custom metadata attributes.</value>
-  </data>
-  <data name="Discovery_ReservedMetadataNameUsed" xml:space="preserve">
-    <value>Member or Type '{0}' contains a metadata entry with the name '{1}', which is a reserved metadata key name. Either remove this metadata entry or change the name associated with the entry.</value>
-  </data>
-  <data name="ReflectionModel_InvalidExportDefinition" xml:space="preserve">
-    <value>ExportDefinition of type '{0}' cannot be used in this context. Only export definitions produced by the ReflectionModelServices.CreateExportDefinition are supported.</value>
-  </data>
-  <data name="ImportEngine_PreventedByExistingImport" xml:space="preserve">
-    <value>Change in exports prevented by non-recomposable import '{0}' on part '{1}'.</value>
-  </data>
-  <data name="ReflectionModel_InvalidImportDefinition" xml:space="preserve">
-    <value>ImportDefinition of type '{0}' cannot be used in this context. Only import definitions produced by the ReflectionModelServices.CreateImportDefinition are supported.</value>
-  </data>
-  <data name="ReflectionModel_InvalidPartDefinition" xml:space="preserve">
-    <value>ComposablePartDefinition of type '{0}' cannot be used in this context. Only part definitions produced by the ReflectionModelServices.CreatePartDefinition are supported.</value>
-  </data>
-  <data name="ArgumentOutOfRange_InvalidEnumInSet" xml:space="preserve">
-    <value>The value of argument '{0}' ({1}) is not supported. Allowed values are : '{2}'.</value>
-  </data>
-  <data name="ReflectionModel_InvalidMemberImportDefinition" xml:space="preserve">
-    <value>ImportDefinition of type '{0}' cannot be used in this context. Only import definitions produced by the ReflectionModelServices.CreateImportDefinition based on members are supported. Use ReflectionModelServices.IsImportingParameter to determine whether a given import definition is based on a member or a parameter.</value>
-  </data>
-  <data name="ReflectionModel_InvalidParameterImportDefinition" xml:space="preserve">
-    <value>ImportDefinition of type '{0}' cannot be used in this context. Only import definitions produced by the ReflectionModelServices.CreateImportDefinition based on parameters are supported. Use ReflectionModelServices.IsImportingParameter to determine whether a given import definition is based on a member or a parameter.</value>
-  </data>
-  <data name="LazyMemberInfo_AccessorsNull" xml:space="preserve">
-    <value>Accessors must not be null (Nothing in Visual Basic).</value>
-  </data>
-  <data name="LazyMemberInfo_InvalidAccessorOnSimpleMember" xml:space="preserve">
-    <value>A member of type '{0}' must have exactly a single accessor of type '{0}'</value>
-  </data>
-  <data name="LazyMemberinfo_InvalidEventAccessors_AccessorType" xml:space="preserve">
-    <value>All event accessors must be methods.</value>
-  </data>
-  <data name="LazyMemberInfo_InvalidEventAccessors_Cardinality" xml:space="preserve">
-    <value>An event must have exactly three accessors.</value>
-  </data>
-  <data name="LazyMemberinfo_InvalidPropertyAccessors_AccessorType" xml:space="preserve">
-    <value>All property accessors must be methods.</value>
-  </data>
-  <data name="LazyMemberInfo_InvalidPropertyAccessors_Cardinality" xml:space="preserve">
-    <value>A property must have exactly two accessors.</value>
-  </data>
-  <data name="LazyMemberInfo_NoAccessors" xml:space="preserve">
-    <value>A member must have at least one accessor.</value>
-  </data>
-  <data name="LazyServices_LazyResolvesToNull" xml:space="preserve">
-    <value>The lazily evaluated value of type '{0}' passed to the ReflectionModelServices API as part of the argument '{1}' must not return null (Nothing in Visual Basic).</value>
-  </data>
-  <data name="InvalidMetadataValue" xml:space="preserve">
-    <value>Metadata can only contain values with a type that is available to be embedded at compile-time into attributes. For more details of what types are valid reference section 17.1.3 in the C# specification.</value>
-  </data>
-  <data name="ContractMismatch_InvalidCastOnMetadataField" xml:space="preserve">
-    <value>Unable to create an Instance of the Metadata view '{0}' because the exporter exported the metadata  for the item '{1}' with the value '{2}' as type '{3}' but the view imports it as type '{4}'.</value>
-  </data>
-  <data name="ContractMismatch_NullReferenceOnMetadataField" xml:space="preserve">
-    <value>Unable to create an Instance of the Metadata view '{0}' because the exporter exported the metadata for the item '{1}' with a null value and null is not a valid value for type '{2}'.</value>
-  </data>
-  <data name="InvalidSetterOnMetadataField" xml:space="preserve">
-    <value>The MetadataView '{0}' is invalid because property '{1}' has a property set method.</value>
-  </data>
-  <data name="CompositionException_ChangesRejected" xml:space="preserve">
-    <value>The composition remains unchanged. The changes were rejected because of the following error(s): {0}</value>
-  </data>
-  <data name="ImportEngine_InvalidStateForRecomposition" xml:space="preserve">
-    <value>The ComposablePart of type '{0}' cannot be recomposed because it is in an invalid state. It can only be recomposed if it has already been fully previewed or composed.</value>
-  </data>
-  <data name="AtomicComposition_AlreadyCompleted" xml:space="preserve">
-    <value>The atomicComposition can no longer be changed because the atomicComposition has already been completed.</value>
-  </data>
-  <data name="AtomicComposition_PartOfAnotherAtomicComposition" xml:space="preserve">
-    <value>The atomicComposition contains another inner atomicComposition and cannot be changed until the that inner atomicComposition has been completed.</value>
-  </data>
-  <data name="AtomicComposition_AlreadyNested" xml:space="preserve">
-    <value>The atomicComposition is already contains an inner atomicComposition and cannot contain more than one atomicComposition at a time.</value>
-  </data>
-  <data name="ReentrantCompose" xml:space="preserve">
-    <value>Currently composing another batch in this ComposablePartExportProvider. Only one batch can be composed at a time.</value>
-  </data>
-  <data name="ReflectionModel_ImportManyOnParameterCanOnlyBeAssigned" xml:space="preserve">
-    <value>The importing constructor on type '{0}' is using ImportManyAttribute on parameter '{1}' with a non-assignable type. On constructor parameters the ImportManyAttribute only supports importing into types T[] or IEnumerable<T>.</value>
-  </data>
-  <data name="CompositionException_ElementPrefix" xml:space="preserve">
-    <value>Element: {0}</value>
-  </data>
-  <data name="CompositionException_OriginSeparator" xml:space="preserve">
-    <value>--> </value>
-  </data>
-  <data name="CompositionTrace_Rejection_DefinitionRejected" xml:space="preserve">
-    <value>The ComposablePartDefinition '{0}' has been rejected. {1}</value>
-  </data>
-  <data name="CompositionTrace_Rejection_DefinitionResurrected" xml:space="preserve">
-    <value>The ComposablePartDefinition '{0}' that was previously rejected has been resurrected.</value>
-  </data>
-  <data name="CompositionTrace_Discovery_AssemblyLoadFailed" xml:space="preserve">
-    <value>The catalog '{0}' could not load assembly '{1}'. {2}</value>
-  </data>
-  <data name="CompositionTrace_Discovery_DefinitionContainsGenericParameters" xml:space="preserve">
-    <value>The ComposablePartDefinition '{0}' was ignored because it is an open generic type.</value>
-  </data>
-  <data name="CompositionTrace_Discovery_DefinitionContainsNoExports" xml:space="preserve">
-    <value>The ComposablePartDefinition '{0}' was ignored because it contains no exports.</value>
-  </data>
-  <data name="CompositionTrace_Discovery_DefinitionMarkedWithPartNotDiscoverableAttribute" xml:space="preserve">
-    <value>The ComposablePartDefinition '{0}' was ignored because it was marked with PartNotDiscoverableAttribute.</value>
-  </data>
-  <data name="CompositionException_MetadataViewInvalidConstructor" xml:space="preserve">
-    <value>Unable to create an instance of the Metadata view '{0}' because a constructor could not be selected.  Ensure that the type implements a constructor which takes an argument of type IDictionary<string, object>.</value>
-  </data>
-  <data name="CompositionException_PathsCountSeparator" xml:space="preserve">
-    <value>)</value>
-  </data>
-  <data name="CompositionException_OriginFormat" xml:space="preserve">
-    <value> {0} {1}</value>
-  </data>
-  <data name="TypeCatalog_DisplayNameFormat" xml:space="preserve">
-    <value>{0} (Types='{1}').</value>
-  </data>
-</root>
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/SuppressMessages.cs b/System.ComponentModel.Composition/SuppressMessages.cs
deleted file mode 100644
index 4c57e17..0000000
--- a/System.ComponentModel.Composition/SuppressMessages.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Diagnostics.CodeAnalysis;
-
-[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "System.ComponentModel.Composition.ReflectionModel")]
-[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "System")]
-[assembly: SuppressMessage("Microsoft.MSInternal", "CA905:SystemNamespacesRequireApproval", Scope = "namespace", Target = "System.ComponentModel.Composition.ReflectionModel", Justification = "Approved by Framework")]
-
diff --git a/System.ComponentModel.Composition/SuppressMessagesBaselined.cs b/System.ComponentModel.Composition/SuppressMessagesBaselined.cs
deleted file mode 100644
index 3976948..0000000
--- a/System.ComponentModel.Composition/SuppressMessagesBaselined.cs
+++ /dev/null
@@ -1,659 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Diagnostics.CodeAnalysis;
-
-// The following are untriaged violations, do not add to this list unless you hit a bug in Code Analysis. Any explicitly 
-// suppressed violations should either be applied against the member or type itself, or if raised against a namespace, 
-// resource or assembly, placed in SuppressMessages.cs.
-
-// Code Analysis Bug: ValidateArgumentsOfPublicMethods should not fire on protected members
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.#GetExportsCore(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AggregateExportProvider.#GetExportsCore(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition)")]
-
-// Code Analysis Bug: ValidateArgumentsOfPublicMethods should not fire on usage of Requires.NotNull
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.AttributedModelServices.#AddExportedValue`1(System.ComponentModel.Composition.Hosting.CompositionBatch,System.String,!!0)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.AttributedModelServices.#AddPart(System.ComponentModel.Composition.Hosting.CompositionBatch,System.Object)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.AttributedModelServices.#ComposeExportedValue`1(System.ComponentModel.Composition.Hosting.CompositionContainer,System.String,!!0)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.AttributedModelServices.#ComposeExportedValue`1(System.ComponentModel.Composition.Hosting.CompositionContainer,!!0)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.AttributedModelServices.#ComposeParts(System.ComponentModel.Composition.Hosting.CompositionContainer,System.Object[])")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.AttributedModelServices.#SatisfyImportsOnce(System.ComponentModel.Composition.ICompositionService,System.Object)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CatalogExportProvider+CatalogChangeProxy.#GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CatalogExportProvider.#SourceProvider")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ComposablePartCatalog.#GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ComposablePartException.#GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.#Compose(System.ComponentModel.Composition.Hosting.CompositionBatch)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionContainer.#ReleaseExports(System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.Export>)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionContainer.#ReleaseExports`2(System.Collections.Generic.IEnumerable`1<System.Lazy`2<!!0,!!1>>)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionContainer.#ReleaseExports`1(System.Collections.Generic.IEnumerable`1<System.Lazy`1<!!0>>)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.CompositionError.#.ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.CompositionError.#GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.CompositionException.#GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.#IsConstraintSatisfiedBy(System.ComponentModel.Composition.Primitives.ExportDefinition)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ExportProvider.#GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ExportProvider.#OnExportsChanged(System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ExportProvider.#OnExportsChanging(System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine.#.ctor(System.ComponentModel.Composition.Hosting.ExportProvider,System.Boolean)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo.#.ctor(System.Reflection.MemberInfo)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionModelServices.#GetExportingMember(System.ComponentModel.Composition.Primitives.ExportDefinition)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionModelServices.#GetImportingMember(System.ComponentModel.Composition.Primitives.ImportDefinition)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionModelServices.#GetImportingParameter(System.ComponentModel.Composition.Primitives.ImportDefinition)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionModelServices.#GetPartType(System.ComponentModel.Composition.Primitives.ComposablePartDefinition)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionModelServices.#IsDisposalRequired(System.ComponentModel.Composition.Primitives.ComposablePartDefinition)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionModelServices.#IsImportingParameter(System.ComponentModel.Composition.Primitives.ImportDefinition)")]
-[module: SuppressMessage("Microsoft.Design", "CA1062:Validate arguments of public methods", MessageId = "0", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.TypeCatalog.#GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition)")]
-
-// DevDiv 10: 583413 AsmMeta: No longer finds APTCA bit on assemblies 
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.Lazy`2", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.AttributedModelServices", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.ChangeRejectedException", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.CompositionContractMismatchException", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.CompositionError", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.CompositionException", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.CreationPolicy", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.ExportAttribute", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.ExportMetadataAttribute", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.ImportAttribute", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.ImportCardinalityMismatchException", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.ImportingConstructorAttribute", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.ImportManyAttribute", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.InheritedExportAttribute", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.MetadataAttributeAttribute", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.PartCreationPolicyAttribute", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.PartMetadataAttribute", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.PartNotDiscoverableAttribute", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.Hosting.AdaptingExportProvider", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.Hosting.AggregateCatalog", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.Hosting.AggregateExportProvider", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.Hosting.AssemblyCatalog", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.Hosting.CatalogExportProvider", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.Hosting.ComposablePartExportProvider",                        Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.Hosting.CompositionBatch", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.Hosting.CompositionConstants", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.Hosting.CompositionContainer", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.Hosting.AtomicComposition", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.Hosting.DirectoryCatalog", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.Primitives.ExportedDelegate", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.Hosting.ExportProvider", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.Hosting.ImportEngine", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.Hosting.TypeCatalog", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.Primitives.Export", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.Primitives.ExportDefinition", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.Primitives.ComposablePart", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.Primitives.ComposablePartCatalog", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.Primitives.ComposablePartDefinition", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.Primitives.ComposablePartException", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.Primitives.ImportCardinality", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.Primitives.ImportDefinition", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2117:AptcaTypesShouldOnlyExtendAptcaBaseTypes", Scope = "type", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionModelServices", Justification = "Razzle mscorlib is not APTCA")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AggregateCatalog.#.ctor(System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.ComposablePartCatalog>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AggregateCatalog.#Dispose(System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AggregateCatalog.#GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AggregateExportProvider.#.ctor(System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Hosting.ExportProvider>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AggregateExportProvider.#.ctor(System.ComponentModel.Composition.Hosting.ExportProvider[])")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AggregateExportProvider.#Dispose()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AggregateExportProvider.#Dispose(System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AggregateExportProvider.#GetExportsCore(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AssemblyCatalog.#.ctor(System.Reflection.Assembly,System.ComponentModel.Composition.Primitives.ICompositionElement)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AssemblyCatalog.#Dispose(System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AssemblyCatalog.#GetDisplayName()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AssemblyCatalog.#InnerCatalog")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AssemblyCatalog.#LoadAssembly(System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AssemblyCatalogDebuggerProxy.#.ctor(System.ComponentModel.Composition.Hosting.AssemblyCatalog)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Assumes+InternalErrorException.#.ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Assumes+InternalErrorException.#.ctor(System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Assumes.#NotNullOrEmpty(System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AtomicComposition.#AddCompleteAction(System.Action)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AtomicComposition.#AddRevertAction(System.Action)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AtomicComposition.#.ctor(System.ComponentModel.Composition.Hosting.AtomicComposition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AtomicComposition.#ContainsInnerAtomicComposition")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AtomicComposition.#CopyComplete()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AtomicComposition.#Dispose()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AtomicComposition.#Dispose(System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AtomicComposition.#FinalComplete()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AtomicComposition.#SetValueInternal(System.Object,System.Object)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AtomicComposition.#ThrowIfCompleteed()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AtomicComposition.#ThrowIfContainsInnerAtomicComposition()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AtomicComposition.#TryGetValueInternal`1(System.Object,System.Boolean,!!0&)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AtomicCompositionExtensions.#AddCompleteActionAllowNull(System.ComponentModel.Composition.Hosting.AtomicComposition,System.Action)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.AtomicCompositionExtensions.#AddRevertActionAllowNull(System.ComponentModel.Composition.Hosting.AtomicComposition,System.Action)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.AttributedModel.AttributedExportDefinition.#Metadata")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.AttributedModel.AttributedModelDiscovery.#CreatePart(System.Object)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.AttributedModel.AttributedModelDiscovery.#GetImportDefinitionCreationInfo(System.ComponentModel.Composition.ReflectionModel.ReflectionItem,System.Reflection.ICustomAttributeProvider)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.AttributedModelServices.#AddExportedValue`1(System.ComponentModel.Composition.Hosting.CompositionBatch,System.String,!!0)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.AttributedModelServices.#AddExportedValue`1(System.ComponentModel.Composition.Hosting.CompositionBatch,!!0)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.AttributedModelServices.#ComposeParts(System.ComponentModel.Composition.Hosting.CompositionContainer,System.Object[])")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.AttributedModel.AttributedPartCreationInfo.#.ctor(System.Type,System.ComponentModel.Composition.PartCreationPolicyAttribute,System.Boolean,System.ComponentModel.Composition.Primitives.ICompositionElement)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.AttributedModel.AttributedPartCreationInfo.#GetConstructor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.AttributedModel.AttributedPartCreationInfo.#GetExportDefinitions()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.AttributedModel.AttributedPartCreationInfo.#GetImportDefinitions()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.AttributedModel.AttributedPartCreationInfo.#GetLazyPartType()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.AttributedModel.AttributedPartCreationInfo.#HasExports()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.AttributedModel.AttributedPartCreationInfo.#IsDisposalRequired")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.AttributedModel.AttributedPartCreationInfo.#IsPartDiscoverable()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.AttributedModel.AttributedPartCreationInfo.#SelectPartConstructor(System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.AttributeServices.#GetAttributes`1(System.Reflection.ICustomAttributeProvider)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.AttributeServices.#GetAttributes`1(System.Reflection.ICustomAttributeProvider,System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.AttributeServices.#GetFirstAttribute`1(System.Reflection.ICustomAttributeProvider)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.AttributeServices.#GetFirstAttribute`1(System.Reflection.ICustomAttributeProvider,System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.AttributeServices.#IsAttributeDefined`1(System.Reflection.ICustomAttributeProvider)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.AttributeServices.#IsAttributeDefined`1(System.Reflection.ICustomAttributeProvider,System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CatalogExportProvider+CatalogChangeProxy.#.ctor(System.ComponentModel.Composition.Primitives.ComposablePartCatalog,System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.ComposablePartDefinition>,System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.ComposablePartDefinition>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CatalogExportProvider+CatalogChangeProxy.#GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CatalogExportProvider+CatalogChangeProxy.#Parts")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CatalogExportProvider.#.ctor(System.ComponentModel.Composition.Primitives.ComposablePartCatalog,System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CatalogExportProvider.#DetermineRejection(System.ComponentModel.Composition.Primitives.ComposablePartDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CatalogExportProvider.#Dispose()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CatalogExportProvider.#Dispose(System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CatalogExportProvider.#EnsureCanRun()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CatalogExportProvider.#EnsureCanSet`1(!!0)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CatalogExportProvider.#EnsureRunning()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CatalogExportProvider.#GetAtomicCompositionQuery(System.ComponentModel.Composition.Hosting.AtomicComposition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CatalogExportProvider.#GetComposablePart(System.ComponentModel.Composition.Primitives.ComposablePartDefinition,System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CatalogExportProvider.#GetExportsCore(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CatalogExportProvider.#GetSharedPart(System.ComponentModel.Composition.Primitives.ComposablePartDefinition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CatalogExportProvider.#IsRejected(System.ComponentModel.Composition.Primitives.ComposablePartDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CatalogExportProvider.#OnCatalogChanging(System.Object,System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CatalogExportProvider.#OnExportsChangingInternal(System.Object,System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CatalogExportProvider.#ReleasePart(System.Object,System.ComponentModel.Composition.Primitives.ComposablePart,System.ComponentModel.Composition.Hosting.AtomicComposition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CatalogExportProvider.#SetConditionalReferenceForRecomposablePart(System.Object,System.ComponentModel.Composition.Primitives.ComposablePart)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CatalogExportProvider.#SourceProvider")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CatalogExportProvider.#UpdateAtomicCompositionQuery(System.ComponentModel.Composition.Hosting.AtomicComposition,System.Func`2<System.ComponentModel.Composition.Primitives.ComposablePartDefinition,System.Boolean>,System.ComponentModel.Composition.Hosting.CatalogExportProvider+AtomicCompositionQueryState)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CatalogExportProvider.#UpdateRejections(System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.ExportDefinition>,System.ComponentModel.Composition.Hosting.AtomicComposition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ChangeRejectedException.#Message")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.CollectionServices.#AsArray`1(System.Collections.Generic.IEnumerable`1<!!0>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.CollectionServices+CollectionOfObject`1.#Add(System.Object)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.CollectionServices+CollectionOfObject`1.#Clear()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.CollectionServices+CollectionOfObject`1.#.ctor(System.Object)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.CollectionServices+CollectionOfObject`1.#IsReadOnly")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.CollectionServices+CollectionOfObjectList.#Add(System.Object)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.CollectionServices+CollectionOfObjectList.#Clear()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.CollectionServices+CollectionOfObjectList.#.ctor(System.Collections.IList)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.CollectionServices+CollectionOfObjectList.#IsReadOnly")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.CollectionServices.#ConcatAllowingNull`1(System.Collections.Generic.IEnumerable`1<!!0>,System.Collections.Generic.IEnumerable`1<!!0>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.CollectionServices.#Copy`1(System.Collections.Generic.Stack`1<!!0>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.CollectionServices.#FastAny`1(System.Collections.Generic.IEnumerable`1<!!0>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.CollectionServices.#ForEach`1(System.Collections.Generic.IEnumerable`1<!!0>,System.Action`1<!!0>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.CollectionServices.#GetCardinality`1(System.Collections.Generic.IEnumerable`1<!!0>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.CollectionServices.#GetCollectionElementType(System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.CollectionServices.#GetCollectionWrapper(System.Type,System.Object)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.CollectionServices.#GetEnumerableElementType(System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.CollectionServices.#ToReadOnlyCollection`1(System.Collections.Generic.IEnumerable`1<!!0>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.CollectionServices.#WhereNotNull`1(System.Collections.Generic.IEnumerable`1<!!0>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ComposablePart.#.ctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ComposablePartCatalog.#.ctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ComposablePartCatalog.#Dispose()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ComposablePartCatalog.#GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs.#.ctor(System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.ComposablePartDefinition>,System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.ComposablePartDefinition>,System.ComponentModel.Composition.Hosting.AtomicComposition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.#Add(System.ComponentModel.Composition.Primitives.ComposablePartCatalog)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.#Changed")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.#Changing")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.#Clear()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.#.ctor(System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.ComposablePartCatalog>,System.Action`1<System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs>,System.Action`1<System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.#Contains(System.ComponentModel.Composition.Primitives.ComposablePartCatalog)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.#CopyTo(System.ComponentModel.Composition.Primitives.ComposablePartCatalog[],System.Int32)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.#Count")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.#Dispose()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.#Dispose(System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.#GetEnumerator()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.#HasChanged")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.#OnChanged(System.Object,System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.#OnChanging(System.Object,System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.#OnContainedCatalogChanged(System.Object,System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.#OnContainedCatalogChanging(System.Object,System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.#RaiseChangedEvent(System.Lazy`1<System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.ComposablePartDefinition>>,System.Lazy`1<System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.ComposablePartDefinition>>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.#RaiseChangingEvent(System.Lazy`1<System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.ComposablePartDefinition>>,System.Lazy`1<System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.ComposablePartDefinition>>,System.ComponentModel.Composition.Hosting.AtomicComposition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.#Remove(System.ComponentModel.Composition.Primitives.ComposablePartCatalog)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.#SubscribeToCatalogNotifications(System.ComponentModel.Composition.Primitives.ComposablePartCatalog)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.#SubscribeToCatalogNotifications(System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.ComposablePartCatalog>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.#UnsubscribeFromCatalogNotifications(System.ComponentModel.Composition.Primitives.ComposablePartCatalog)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartCatalogCollection.#UnsubscribeFromCatalogNotifications(System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.ComposablePartCatalog>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ComposablePartCatalogDebuggerProxy.#.ctor(System.ComponentModel.Composition.Primitives.ComposablePartCatalog)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ComposablePartDefinition.#.ctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ComposablePartException.#.ctor(System.ComponentModel.Composition.CompositionErrorId,System.String,System.ComponentModel.Composition.Primitives.ICompositionElement,System.Exception)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ComposablePartException.#.ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ComposablePartException.#GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.#.ctor(System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.#Compose(System.ComponentModel.Composition.Hosting.CompositionBatch)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.#CreateExport(System.ComponentModel.Composition.Primitives.ComposablePart,System.ComponentModel.Composition.Primitives.ExportDefinition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.#Dispose()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.#Dispose(System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.#EnsureCanRun()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.#EnsureCanSet`1(!!0)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.#EnsureRunning()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.#GetExportsCore(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.#GetUpdatedPartsList(System.ComponentModel.Composition.Hosting.CompositionBatch)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.#Recompose(System.ComponentModel.Composition.Hosting.CompositionBatch,System.ComponentModel.Composition.Hosting.AtomicComposition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.#SourceProvider")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.#ThrowIfDisposed()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionBatch.#AddPart(System.ComponentModel.Composition.Primitives.ComposablePart)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionBatch.#.ctor(System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.ComposablePart>,System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.ComposablePart>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionBatch.#PartsToAdd")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionBatch.#PartsToRemove")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionBatch.#RemovePart(System.ComponentModel.Composition.Primitives.ComposablePart)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionBatch+SingleExportComposablePart.#ImportDefinitions")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionContainer.#.ctor(System.ComponentModel.Composition.Primitives.ComposablePartCatalog,System.Boolean,System.ComponentModel.Composition.Hosting.ExportProvider[])")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionContainer.#Dispose()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionContainer.#Dispose(System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionContainer.#ReleaseExport(System.ComponentModel.Composition.Primitives.Export)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionContainer.#ReleaseExport`1(System.Lazy`1<!!0>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionContainer.#ReleaseExports(System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.Export>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionContainer.#ReleaseExports`2(System.Collections.Generic.IEnumerable`1<System.Lazy`2<!!0,!!1>>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionContainer.#ReleaseExports`1(System.Collections.Generic.IEnumerable`1<System.Lazy`1<!!0>>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.CompositionContractMismatchException.#.ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.CompositionContractMismatchException.#.ctor(System.String,System.Exception)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.CompositionElement.#.ctor(System.Object)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.CompositionElementDebuggerProxy.#.ctor(System.ComponentModel.Composition.Primitives.CompositionElement)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.CompositionElementExtensions.#GetDisplayNameCore(System.Object)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.CompositionError.#.ctor(System.ComponentModel.Composition.CompositionErrorId,System.String,System.ComponentModel.Composition.Primitives.ICompositionElement,System.Exception)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.CompositionError.#.ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.CompositionError.#Create(System.ComponentModel.Composition.CompositionErrorId,System.ComponentModel.Composition.Primitives.ICompositionElement,System.Exception,System.String,System.Object[])")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.CompositionError.#GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.CompositionErrorDebuggerProxy.#.ctor(System.ComponentModel.Composition.CompositionError)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.CompositionException.#BuildDefaultMessage()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.CompositionException.#CalculatePaths(System.ComponentModel.Composition.CompositionException)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.CompositionException.#.ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.CompositionException.#.ctor(System.String,System.Exception,System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.CompositionError>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.CompositionException.#GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.CompositionException.#Message")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.CompositionException.#VisitCompositionException(System.ComponentModel.Composition.CompositionException,System.ComponentModel.Composition.CompositionException+VisitContext)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.CompositionException.#VisitError(System.ComponentModel.Composition.CompositionError,System.ComponentModel.Composition.CompositionException+VisitContext)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.CompositionException.#VisitException(System.Exception,System.ComponentModel.Composition.CompositionException+VisitContext)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.CompositionException.#WriteElementGraph(System.Text.StringBuilder,System.ComponentModel.Composition.Primitives.ICompositionElement)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.CompositionException.#WriteError(System.Text.StringBuilder,System.ComponentModel.Composition.CompositionError)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.CompositionException.#WriteHeader(System.Text.StringBuilder,System.Int32,System.Int32)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.CompositionException.#WritePath(System.Text.StringBuilder,System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.CompositionError>,System.Int32)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.CompositionException.#WritePaths(System.Text.StringBuilder,System.Collections.Generic.IEnumerable`1<System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.CompositionError>>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionLock.#.cctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionLock.#.ctor(System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionLock+CompositionLockHolder.#.ctor(System.ComponentModel.Composition.Hosting.CompositionLock)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionLock+CompositionLockHolder.#Dispose()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionLock.#Dispose()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionLock+EmptyLockHolder.#.ctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionLock.#EnterCompositionLock()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionLock.#ExitCompositionLock()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.CompositionResult.#Errors")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.CompositionResult`1.#Errors")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionServices.#.cctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionServices.#GetContractNameFromExport(System.Reflection.MemberInfo,System.ComponentModel.Composition.ExportAttribute)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionServices.#GetContractNameFromImport(System.ComponentModel.Composition.IAttributedImport,System.ComponentModel.Composition.ReflectionModel.ImportType)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionServices.#GetContractTypeFromImport(System.ComponentModel.Composition.IAttributedImport,System.ComponentModel.Composition.ReflectionModel.ImportType)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionServices.#GetDefaultTypeFromMember(System.Reflection.MemberInfo)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionServices.#GetPartMetadataForType(System.Type,System.ComponentModel.Composition.CreationPolicy)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionServices.#GetRequiredMetadata(System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionServices.#GetTypeIdentityFromExport(System.Reflection.MemberInfo,System.ComponentModel.Composition.ExportAttribute)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionServices.#GetTypeIdentityFromImport(System.ComponentModel.Composition.IAttributedImport,System.ComponentModel.Composition.ReflectionModel.ImportType)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionServices.#IsRecomposable(System.ComponentModel.Composition.Primitives.ComposablePart)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionServices.#IsValidAttributeType(System.Type,System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionServices+MetadataList.#Add(System.Object,System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionServices+MetadataList.#InferArrayType(System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionServices+MetadataList.#.ctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionServices+MetadataList.#.cctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionServices+MetadataList.#ToArray()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionServices.#TryContributeMetadataValue(System.Collections.Generic.IDictionary`2<System.String,System.Object>,System.String,System.Object,System.Type,System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionServices.#TryExportMetadataForMember(System.Reflection.MemberInfo,System.Collections.Generic.IDictionary`2<System.String,System.Object>&)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionServices.#TryFire`1(System.EventHandler`1<!!0>,System.Object,!!0)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionServices.#TryInvoke(System.Action)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.CompositionServices.#TryInvoke`1(System.Func`1<!!0>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Diagnostics.CompositionTrace.#AssemblyLoadFailed(System.ComponentModel.Composition.Hosting.DirectoryCatalog,System.String,System.Exception)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Diagnostics.CompositionTrace.#PartDefinitionRejected(System.ComponentModel.Composition.Primitives.ComposablePartDefinition,System.ComponentModel.Composition.ChangeRejectedException)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ConstraintServices.#AndAlso`1(System.Linq.Expressions.Expression`1<System.Func`2<!!0,System.Boolean>>,System.Linq.Expressions.Expression`1<System.Func`2<!!0,System.Boolean>>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ConstraintServices.#.cctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ConstraintServices.#CreateConstraint(System.Collections.Generic.IEnumerable`1<System.Collections.Generic.KeyValuePair`2<System.String,System.Type>>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ConstraintServices.#CreateConstraint(System.String,System.String,System.Collections.Generic.IEnumerable`1<System.Collections.Generic.KeyValuePair`2<System.String,System.Type>>,System.ComponentModel.Composition.CreationPolicy)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ConstraintServices.#CreateContractConstraintBody(System.String,System.Linq.Expressions.ParameterExpression)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ConstraintServices.#CreateCreationPolicyContraint(System.ComponentModel.Composition.CreationPolicy,System.Linq.Expressions.ParameterExpression)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ConstraintServices.#CreateMetadataConstraintBody(System.Collections.Generic.IEnumerable`1<System.Collections.Generic.KeyValuePair`2<System.String,System.Type>>,System.Linq.Expressions.ParameterExpression)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ConstraintServices.#CreateMetadataContainsKeyExpression(System.Linq.Expressions.ParameterExpression,System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ConstraintServices.#CreateMetadataOfTypeExpression(System.Linq.Expressions.ParameterExpression,System.String,System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ConstraintServices.#CreateMetadataValueEqualsExpression(System.Linq.Expressions.ParameterExpression,System.Object,System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ConstraintServices.#CreateTypeIdentityContraint(System.String,System.Linq.Expressions.ParameterExpression)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.#.ctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.#.ctor(System.String,System.String,System.Collections.Generic.IEnumerable`1<System.Collections.Generic.KeyValuePair`2<System.String,System.Type>>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.Boolean,System.ComponentModel.Composition.CreationPolicy)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.#IsConstraintSatisfiedBy(System.ComponentModel.Composition.Primitives.ExportDefinition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.#MatchRequiredMatadata(System.ComponentModel.Composition.Primitives.ExportDefinition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ContractNameServices.#FindArrayElementType(System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ContractNameServices.#FindGenericTypeName(System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ContractNameServices.#GetGenericArity(System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ContractNameServices.#GetTypeIdentity(System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ContractNameServices.#GetTypeIdentityFromMethod(System.Reflection.MethodInfo)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ContractNameServices.#TypeIdentityCache")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ContractNameServices.#WriteArrayType(System.Text.StringBuilder,System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ContractNameServices.#WriteArrayTypeDimensions(System.Text.StringBuilder,System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ContractNameServices.#WriteByRefType(System.Text.StringBuilder,System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ContractNameServices.#WriteCustomModifiers(System.Text.StringBuilder,System.String,System.Type[])")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ContractNameServices.#WriteGenericType(System.Text.StringBuilder,System.Type,System.Boolean,System.Collections.Generic.Queue`1<System.Type>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ContractNameServices.#WriteGenericTypeName(System.Text.StringBuilder,System.Type,System.Boolean,System.Collections.Generic.Queue`1<System.Type>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ContractNameServices.#WriteNonGenericType(System.Text.StringBuilder,System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ContractNameServices.#WritePointerType(System.Text.StringBuilder,System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ContractNameServices.#WriteType(System.Text.StringBuilder,System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ContractNameServices.#WriteTypeArgumentsString(System.Text.StringBuilder,System.Int32,System.Boolean,System.Collections.Generic.Queue`1<System.Type>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ContractNameServices.#WriteTypeWithNamespace(System.Text.StringBuilder,System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.ContractServices.#.ctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.ContractServices.#TryCast(System.Type,System.Object,System.Object&)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.DirectoryCatalog.#Changed")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.DirectoryCatalog.#Changing")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.DirectoryCatalog.#DiffChanges(System.String[],System.String[],System.Collections.Generic.List`1<System.Tuple`2<System.String,System.ComponentModel.Composition.Hosting.AssemblyCatalog>>&,System.Collections.Generic.List`1<System.Tuple`2<System.String,System.ComponentModel.Composition.Hosting.AssemblyCatalog>>&)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.DirectoryCatalog+DirectoryCatalogDebuggerProxy.#Assemblies")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.DirectoryCatalog+DirectoryCatalogDebuggerProxy.#.ctor(System.ComponentModel.Composition.Hosting.DirectoryCatalog)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.DirectoryCatalog.#Dispose(System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.DirectoryCatalog.#GetDisplayName()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.DirectoryCatalog.#GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.DirectoryCatalog.#GetFiles()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.DirectoryCatalog.#GetFullPath(System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.DirectoryCatalog.#Initialize(System.String,System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.DirectoryCatalog.#LoadedFiles")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.DirectoryCatalog.#OnChanged(System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.DirectoryCatalog.#OnChanging(System.ComponentModel.Composition.Hosting.ComposablePartCatalogChangeEventArgs)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.DirectoryCatalog.#Refresh()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.DisposableReflectionComposablePart.#System.IDisposable.Dispose()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.DisposableReflectionComposablePart.#ReleaseInstanceIfNecessary(System.Object)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ErrorBuilder.#CreateImportCardinalityMismatch(System.ComponentModel.Composition.ImportCardinalityMismatchException,System.ComponentModel.Composition.Primitives.ImportDefinition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ExceptionBuilder.#CreateContainsNullElement(System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ExceptionBuilder.#CreateDiscoveryException(System.String,System.String[])")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ExceptionBuilder.#CreateExportDefinitionNotOnThisComposablePart(System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ExceptionBuilder.#CreateImportDefinitionNotOnThisComposablePart(System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ExceptionBuilder.#CreateNotOverriddenByDerived(System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ExceptionBuilder.#CreateObjectDisposed(System.Object)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ExceptionBuilder.#Format(System.String,System.String[])")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.Export.#.cctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.Export.#.ctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.Export.#.ctor(System.ComponentModel.Composition.Primitives.ExportDefinition,System.Func`1<System.Object>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.Export.#GetExportedValueCore()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.Export.#Value")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ExportAttribute.#.ctor(System.String,System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ExportDefinition.#.ctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ExportDefinition.#.ctor(System.String,System.Collections.Generic.IDictionary`2<System.String,System.Object>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ExportedDelegate.#ConvertMethodInfoToFuncOrActionType(System.Reflection.MethodInfo)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ExportedDelegate.#CreateDelegate(System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ExportedDelegate.#.ctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ExportedDelegate.#.cctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ExportedDelegate.#.ctor(System.Object,System.Reflection.MethodInfo)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ExportingMember.#EnsureReadable()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ExportingMember.#.ctor(System.ComponentModel.Composition.Primitives.ExportDefinition,System.ComponentModel.Composition.ReflectionModel.ReflectionMember)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ExportingMember.#GetExportedValue(System.Object,System.Object)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ExportMetadataAttribute.#.ctor(System.String,System.Object)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ExportProvider.#BuildImportDefinition(System.Type,System.Type,System.String,System.ComponentModel.Composition.Primitives.ImportCardinality)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ExportProvider.#.ctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ExportProvider.#ExportsChanged")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ExportProvider.#ExportsChanging")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ExportProvider.#GetExportCore`2(System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ExportProvider.#GetExportCore`1(System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ExportProvider.#GetExportedValueCore`1(System.String,System.ComponentModel.Composition.Primitives.ImportCardinality)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ExportProvider.#GetExportedValuesCore`1(System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ExportProvider.#GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ExportProvider.#GetExports(System.Type,System.Type,System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ExportProvider.#GetExportsCore(System.Type,System.Type,System.String,System.ComponentModel.Composition.Primitives.ImportCardinality)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ExportProvider.#GetExportsCore`2(System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ExportProvider.#GetExportsCore`1(System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ExportProvider.#TryGetExportsCore(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition,System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.Export>&)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs.#ChangedContractNames")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs.#.ctor(System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.ExportDefinition>,System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.ExportDefinition>,System.ComponentModel.Composition.Hosting.AtomicComposition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ExportServices.#CreateSemiStronglyTypedExport`2(System.ComponentModel.Composition.Primitives.Export)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ExportServices.#CreateSemiStronglyTypedExportFactory(System.Type,System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ExportServices.#CreateStronglyTypedExportFactory(System.Type,System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ExportServices.#CreateStronglyTypedExportOfT`1(System.ComponentModel.Composition.Primitives.Export)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ExportServices.#CreateStronglyTypedExportOfTM`2(System.ComponentModel.Composition.Primitives.Export)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ExportServices+DisposableLazy`2.#System.IDisposable.Dispose()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ExportServices+DisposableLazy`1.#.ctor(System.Func`1<!0>,System.IDisposable)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ExportServices+DisposableLazy`1.#System.IDisposable.Dispose()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ExportServices.#.cctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ExportServices.#GetExportedValueFromLazy`1(System.ComponentModel.Composition.Primitives.Export)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ExportServices.#IsDefaultMetadataViewType(System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ExportServices.#IsDictionaryConstructorViewType(System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.GenerationServices.#AddItemToLocalDictionary(System.Reflection.Emit.ILGenerator,System.Reflection.Emit.LocalBuilder,System.Object,System.Object)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.GenerationServices.#AddLocalToLocalDictionary(System.Reflection.Emit.ILGenerator,System.Reflection.Emit.LocalBuilder,System.Object,System.Reflection.Emit.LocalBuilder)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.GenerationServices.#CreateGeneratorForPublicConstructor(System.Reflection.Emit.TypeBuilder,System.Type[])")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.GenerationServices.#.cctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.GenerationServices.#GetExceptionDataAndStoreInLocal(System.Reflection.Emit.ILGenerator,System.Reflection.Emit.LocalBuilder,System.Reflection.Emit.LocalBuilder)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.GenerationServices.#IsBoxingRequiredForValue(System.Object)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.GenerationServices.#LoadDouble(System.Reflection.Emit.ILGenerator,System.Double)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.GenerationServices.#LoadEnumerable(System.Reflection.Emit.ILGenerator,System.Collections.IEnumerable)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.GenerationServices.#LoadFloat(System.Reflection.Emit.ILGenerator,System.Single)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.GenerationServices.#LoadInt(System.Reflection.Emit.ILGenerator,System.Int32)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.GenerationServices.#LoadLong(System.Reflection.Emit.ILGenerator,System.Int64)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.GenerationServices.#LoadNull(System.Reflection.Emit.ILGenerator)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.GenerationServices.#LoadString(System.Reflection.Emit.ILGenerator,System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.GenerationServices.#LoadTypeOf(System.Reflection.Emit.ILGenerator,System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.GenerationServices.#LoadValue(System.Reflection.Emit.ILGenerator,System.Object)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ImportAttribute.#.ctor(System.String,System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ImportCardinalityMismatchException.#.ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ImportCardinalityMismatchException.#.ctor(System.String,System.Exception)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ImportDefinition.#.ctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ImportDefinition.#.ctor(System.String,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ImportDefinition.#IsConstraintSatisfiedBy(System.ComponentModel.Composition.Primitives.ExportDefinition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ImportDefinition.#ToString()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine.#Dispose()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine.#Dispose(System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine+EngineContext.#AddPartManager(System.ComponentModel.Composition.Hosting.ImportEngine+PartManager)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine+EngineContext.#Complete()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine+EngineContext.#.ctor(System.ComponentModel.Composition.Hosting.ImportEngine,System.ComponentModel.Composition.Hosting.ImportEngine+EngineContext)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine+EngineContext.#RemovePartManager(System.ComponentModel.Composition.Hosting.ImportEngine+PartManager)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine.#GetEngineContext(System.ComponentModel.Composition.Hosting.AtomicComposition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine.#GetPartManager(System.ComponentModel.Composition.Primitives.ComposablePart,System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine.#.ctor(System.ComponentModel.Composition.Hosting.ExportProvider,System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine.#InPrerequisiteLoop()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine.#OnExportsChanging(System.Object,System.ComponentModel.Composition.Hosting.ExportsChangeEventArgs)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine+PartManager.#DisposeAllDependencies()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine+PartManager.#GetImportedContractNames()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine+PartManager.#GetSavedImport(System.ComponentModel.Composition.Primitives.ImportDefinition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine+PartManager.#.ctor(System.ComponentModel.Composition.Hosting.ImportEngine,System.ComponentModel.Composition.Primitives.ComposablePart)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine+PartManager.#SetSavedImport(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Primitives.Export[],System.ComponentModel.Composition.Hosting.AtomicComposition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine+PartManager.#State")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine+PartManager.#UpdateDisposableDependencies(System.ComponentModel.Composition.Primitives.ImportDefinition,System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.Export>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine.#PreviewImports(System.ComponentModel.Composition.Primitives.ComposablePart,System.ComponentModel.Composition.Hosting.AtomicComposition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine+RecompositionManager.#AddIndexEntries(System.ComponentModel.Composition.Hosting.ImportEngine+PartManager)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine+RecompositionManager.#GetAffectedImports(System.ComponentModel.Composition.Primitives.ComposablePart,System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.ExportDefinition>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine+RecompositionManager.#GetAffectedParts(System.Collections.Generic.IEnumerable`1<System.String>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine+RecompositionManager.#GetPartsImporting(System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine+RecompositionManager.#IsAffectedImport(System.ComponentModel.Composition.Primitives.ImportDefinition,System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.ExportDefinition>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine+RecompositionManager.#.ctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine+RecompositionManager.#RemoveIndexEntries(System.ComponentModel.Composition.Hosting.ImportEngine+PartManager)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine+RecompositionManager.#UpdateImportIndex()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine.#ReleaseImports(System.ComponentModel.Composition.Primitives.ComposablePart,System.ComponentModel.Composition.Hosting.AtomicComposition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine.#SatisfyImports(System.ComponentModel.Composition.Primitives.ComposablePart)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine.#SatisfyImportsOnce(System.ComponentModel.Composition.Primitives.ComposablePart)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine.#StopSatisfyingImports(System.ComponentModel.Composition.Hosting.ImportEngine+PartManager,System.ComponentModel.Composition.Hosting.AtomicComposition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine.#TryPreviewImportsStateMachine(System.ComponentModel.Composition.Hosting.ImportEngine+PartManager,System.ComponentModel.Composition.Primitives.ComposablePart,System.ComponentModel.Composition.Hosting.AtomicComposition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine.#TryRecomposeImport(System.ComponentModel.Composition.Hosting.ImportEngine+PartManager,System.Boolean,System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine.#TryRecomposeImports(System.ComponentModel.Composition.Hosting.ImportEngine+PartManager,System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.ExportDefinition>,System.ComponentModel.Composition.Hosting.AtomicComposition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine.#TrySatisfyImports(System.ComponentModel.Composition.Hosting.ImportEngine+PartManager,System.ComponentModel.Composition.Primitives.ComposablePart,System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine.#TrySatisfyImportsStateMachine(System.ComponentModel.Composition.Hosting.ImportEngine+PartManager,System.ComponentModel.Composition.Primitives.ComposablePart)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.ImportEngine.#TrySatisfyImportSubset(System.ComponentModel.Composition.Hosting.ImportEngine+PartManager,System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.ImportDefinition>,System.ComponentModel.Composition.Hosting.AtomicComposition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ImportingConstructorAttribute.#.ctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ImportingItem.#Cast(System.Type,System.ComponentModel.Composition.Primitives.Export)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ImportingItem.#CastExportsToCollectionImportType(System.ComponentModel.Composition.Primitives.Export[])")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ImportingItem.#.ctor(System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition,System.ComponentModel.Composition.ReflectionModel.ImportType)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ImportingMember.#EnsureCollectionIsWritable(System.Collections.Generic.ICollection`1<System.Object>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ImportingMember.#EnsureWritable()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ImportingMember.#GetNormalizedCollection(System.Type,System.Object)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ImportingMember.#PopulateCollection(System.Collections.Generic.ICollection`1<System.Object>,System.Collections.IEnumerable)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ImportingMember.#SetCollectionMemberValue(System.Object,System.Collections.IEnumerable)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ImportingMember.#SetSingleMemberValue(System.Object,System.Object)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ImportManyAttribute.#.ctor(System.String,System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ImportType.#CreateLazyType(System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ImportType.#GetStronglyTypedExport(System.ComponentModel.Composition.Primitives.Export)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ImportType.#.ctor(System.Type,System.ComponentModel.Composition.Primitives.ImportCardinality)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ImportType.#IsTypeAssignableCollectionType(System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ImportType+SpecificLazyType.#.ctor(System.Type,System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.Lazy`2.#.ctor(System.Func`1<!0>,!1)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.Lazy`2.#.ctor(System.Func`1<!0>,!1,System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.Lazy`2.#.ctor(!1)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.Lazy`2.#.ctor(!1,System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo.#AreAccessorsValid(System.Reflection.MemberTypes,System.Reflection.MemberInfo[],System.String&)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo.#Equals(System.Object)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo.#GetAccessors()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo.#GetHashCode()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo.#.ctor(System.Reflection.MemberInfo)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo.#.ctor(System.Reflection.MemberTypes,System.Reflection.MemberInfo[])")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo.#op_Inequality(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo.#op_Equality(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.LazyServices.#AsLazy`1(!!0)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.LazyServices.#GetNotNullValue`1(System.Lazy`1<!!0>,System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Lock.#Dispose()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Lock.#EnterReadLock()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Lock.#EnterWriteLock()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Lock.#ExitReadLock()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Lock.#ExitWriteLock()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Lock.#.ctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.MetadataAttributeAttribute.#.ctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.MetadataServices.#GetValue`1(System.Collections.Generic.IDictionary`2<System.String,System.Object>,System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.MetadataViewGenerator.#GenerateFieldAssignmentFromLocalValue(System.Reflection.Emit.ILGenerator,System.Reflection.Emit.LocalBuilder,System.Reflection.Emit.FieldBuilder)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.MetadataViewGenerator.#GenerateInterfaceViewProxyType(System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.MetadataViewGenerator.#GenerateLocalAssignmentFromDefaultAttribute(System.Reflection.Emit.ILGenerator,System.ComponentModel.DefaultValueAttribute[],System.Reflection.Emit.LocalBuilder)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.MetadataViewGenerator.#GenerateLocalAssignmentFromFlag(System.Reflection.Emit.ILGenerator,System.Reflection.Emit.LocalBuilder,System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.MetadataViewGenerator.#GenerateView(System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.MetadataViewGenerator.#.cctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.MetadataViewProvider.#GetMetadataView`1(System.Collections.Generic.IDictionary`2<System.String,System.Object>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.MetadataViewProvider.#IsViewTypeValid(System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.PartCreationPolicyAttribute.#.ctor(System.ComponentModel.Composition.CreationPolicy)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.PartMetadataAttribute.#.ctor(System.String,System.Object)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.PartNotDiscoverableAttribute.#.ctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.ReadLock.#Dispose()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.ReadOnlyDictionary`2.#Contains(System.Collections.Generic.KeyValuePair`2<!0,!1>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.ReadOnlyDictionary`2.#ContainsKey(!0)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.ReadOnlyDictionary`2.#CopyTo(System.Collections.Generic.KeyValuePair`2<!0,!1>[],System.Int32)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.ReadOnlyDictionary`2.#Count")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.ReadOnlyDictionary`2.#GetEnumerator()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.ReadOnlyDictionary`2.#System.Collections.Generic.ICollection`1<System.Collections.Generic.KeyValuePair`2<!0,!1>>.Add(System.Collections.Generic.KeyValuePair`2<!0,!1>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.ReadOnlyDictionary`2.#System.Collections.Generic.ICollection`1<System.Collections.Generic.KeyValuePair`2<!0,!1>>.Clear()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.ReadOnlyDictionary`2.#System.Collections.Generic.ICollection`1<System.Collections.Generic.KeyValuePair`2<!0,!1>>.Remove(System.Collections.Generic.KeyValuePair`2<!0,!1>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.ReadOnlyDictionary`2.#System.Collections.Generic.IDictionary`2<!0,!1>.Add(!0,!1)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.ReadOnlyDictionary`2.#System.Collections.Generic.IDictionary`2<!0,!1>.Remove(!0)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.ReadOnlyDictionary`2.#System.Collections.IEnumerable.GetEnumerator()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.ReadOnlyDictionary`2.#Keys")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.ReadOnlyDictionary`2.#.ctor(System.Collections.Generic.IDictionary`2<!0,!1>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.ReadOnlyDictionary`2.#Item[!0]")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.ReadOnlyDictionary`2.#TryGetValue(!0,!1&)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.ReadOnlyDictionary`2.#Values")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.ReadOnlyDictionaryDebuggerProxy`2.#Items")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.ReadOnlyDictionaryDebuggerProxy`2.#.ctor(Microsoft.Internal.Collections.ReadOnlyDictionary`2<!0,!1>)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.#Activate()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.#CachedInstance")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.#CreateInstance(System.Reflection.ConstructorInfo,System.Object[])")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.#EnsureCardinality(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Primitives.Export[])")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.#EnsureGettable()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.#EnsureSettable(System.ComponentModel.Composition.Primitives.ImportDefinition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.#GetConstructorArguments()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.#GetExportedValue(System.ComponentModel.Composition.Primitives.ExportDefinition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.#GetExportingMemberFromDefinition(System.ComponentModel.Composition.Primitives.ExportDefinition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.#GetImportingItemFromDefinition(System.ComponentModel.Composition.Primitives.ImportDefinition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.#GetInstanceActivatingIfNeeded()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.#NotifyImportSatisfied()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.#.ctor(System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePartDefinition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.#.ctor(System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePartDefinition,System.Object)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.#RequiresActivation()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.#SetImport(System.ComponentModel.Composition.ReflectionModel.ImportingItem,System.ComponentModel.Composition.Primitives.Export[])")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.#SetNonPrerequisiteImports()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.#TryGetImportValue(System.ComponentModel.Composition.Primitives.ImportDefinition,System.Object&)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePart.#UseImportedValues`1(System.Collections.Generic.IEnumerable`1<!!0>,System.Action`3<System.ComponentModel.Composition.ReflectionModel.ImportingItem,!!0,System.Object>,System.Boolean)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePartDefinition.#ExportDefinitions")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePartDefinition.#GetConstructor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePartDefinition.#ImportDefinitions")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePartDefinition.#Metadata")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionComposablePartDefinition.#.ctor(System.ComponentModel.Composition.ReflectionModel.IReflectionPartCreationInfo)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionExtensions.#CreateReflectionProperty(System.Reflection.MethodInfo,System.Reflection.MethodInfo)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionExtensions.#ToLazyMember(System.Reflection.MemberInfo)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionExtensions.#ToLazyMember(System.ComponentModel.Composition.ReflectionModel.ReflectionMember)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionExtensions.#ToReflectionProperty(System.Reflection.PropertyInfo)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionExtensions.#ToReflectionWritableMember(System.Reflection.MemberInfo)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionField.#CanWrite")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionField.#GetValue(System.Object)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionField.#RequiresInstance")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionField.#ReturnType")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionField.#SetValue(System.Object,System.Object)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionItem.#.ctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionMember.#DeclaringType")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionMember.#Name")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionMemberExportDefinition.#GetDisplayName()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionMemberImportDefinition.#GetDisplayName()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionMethod.#RequiresInstance")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionMethod.#ReturnType")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionModelServices.#GetExportingMember(System.ComponentModel.Composition.Primitives.ExportDefinition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionModelServices.#GetImportingMember(System.ComponentModel.Composition.Primitives.ImportDefinition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionModelServices.#GetImportingParameter(System.ComponentModel.Composition.Primitives.ImportDefinition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionModelServices.#GetPartType(System.ComponentModel.Composition.Primitives.ComposablePartDefinition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionModelServices.#IsDisposalRequired(System.ComponentModel.Composition.Primitives.ComposablePartDefinition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionModelServices.#IsImportingParameter(System.ComponentModel.Composition.Primitives.ImportDefinition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionModelServices+LazyExportDefinition.#Metadata")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionModelServices+ReflectionPartCreationInfo.#GetConstructor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionModelServices+ReflectionPartCreationInfo.#GetMetadata()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionModelServices+ReflectionPartCreationInfo.#.ctor(System.Lazy`1<System.Type>,System.Boolean,System.Lazy`1<System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.ImportDefinition>>,System.Lazy`1<System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.ExportDefinition>>,System.Lazy`1<System.Collections.Generic.IDictionary`2<System.String,System.Object>>,System.ComponentModel.Composition.Primitives.ICompositionElement)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionParameter.#GetDisplayName()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionParameter.#Name")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionParameter.#ReturnType")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionParameterImportDefinition.#GetDisplayName()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionParameterImportDefinition.#ToImportingItem()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionProperty.#CanRead")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionProperty.#CanWrite")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionProperty.#GetValue(System.Object)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionProperty.#Name")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionProperty.#.ctor(System.Reflection.MethodInfo,System.Reflection.MethodInfo)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionProperty.#RequiresInstance")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionProperty.#ReturnType")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionProperty.#SetValue(System.Object,System.Object)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.ReflectionServices.#GetAllProperties(System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.ReflectionServices.#GetDisplayName(System.Reflection.MemberInfo)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.ReflectionServices.#GetDisplayName(System.Type,System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.ReflectionServices.#TryGetGenericInterfaceType(System.Type,System.Type,System.Type&)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Requires.#IsInMembertypeSet(System.Reflection.MemberTypes,System.String,System.Reflection.MemberTypes)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Requires.#NotNull`1(!!0,System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Requires.#NotNullElements`1(System.Collections.Generic.IEnumerable`1<!!0>,System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Requires.#NotNullElements`2(System.Collections.Generic.IEnumerable`1<System.Collections.Generic.KeyValuePair`2<!!0,!!1>>,System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Requires.#NotNullOrEmpty(System.String,System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.SerializableCompositionElement.#.ctor(System.String,System.ComponentModel.Composition.Primitives.ICompositionElement)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Runtime.Serialization.SerializationServices.#GetValue`1(System.Runtime.Serialization.SerializationInfo,System.String)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.StringComparers.#ContractName")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.StringComparers.#MetadataKeyNames")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Diagnostics.TraceSourceTraceWriter.#CanWriteError")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Diagnostics.TraceSourceTraceWriter.#CanWriteInformation")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Diagnostics.TraceSourceTraceWriter.#CanWriteWarning")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Diagnostics.TraceSourceTraceWriter.#.cctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Diagnostics.TraceSourceTraceWriter.#WriteEvent(System.Diagnostics.TraceEventType,System.ComponentModel.Composition.Diagnostics.CompositionTraceId,System.String,System.Object[])")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Diagnostics.TraceWriter.#.ctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.TypeCatalog.#CreateIndex()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.TypeCatalog.#GetCandidateParts(System.ComponentModel.Composition.Primitives.ImportDefinition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.TypeCatalog.#GetDisplayName()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.TypeCatalog.#GetExports(System.ComponentModel.Composition.Primitives.ImportDefinition)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.TypeCatalog.#GetTypesDisplay()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.TypeCatalog.#PartsInternal")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Hosting.TypeCatalog.#.ctor(System.Collections.Generic.IEnumerable`1<System.Type>,System.ComponentModel.Composition.Primitives.ICompositionElement)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.WeakReferenceCollection`1.#Add(!0)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.WeakReferenceCollection`1.#AliveItemsToList()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.WeakReferenceCollection`1.#CleanupDeadReferences()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.WeakReferenceCollection`1.#Clear()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.WeakReferenceCollection`1.#IndexOf(!0)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.WeakReferenceCollection`1.#Remove(!0)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.Collections.WeakReferenceCollection`1.#.ctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.WriteLock.#Dispose()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.Primitives.ContractBasedImportDefinition.#ValidateRequiredMetadata()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.LazyExportDefinition.#Metadata")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.ReflectionInvoke.#DemandMemberAccess(System.Reflection.MemberInfo)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.ReflectionInvoke.#DemandMemberAccessIfNeeded(System.Type)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.ReflectionInvoke.#DemandRestrictedMemberAccess(System.Reflection.MemberInfo)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.ReflectionInvoke.#.cctor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.ReflectionInvoke.#SafeCreateInstance(System.Type,System.Object[])")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.ReflectionInvoke.#SafeGetValue(System.Reflection.FieldInfo,System.Object)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.ReflectionInvoke.#SafeInvoke(System.Reflection.ConstructorInfo,System.Object[])")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.ReflectionInvoke.#SafeInvoke(System.Reflection.MethodInfo,System.Object,System.Object[])")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.ReflectionInvoke.#SafeSetValue(System.Reflection.FieldInfo,System.Object,System.Object)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.ReflectionInvoke.#UnsafePermissionSet(System.Reflection.Assembly)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionPartCreationInfo.#GetConstructor()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionPartCreationInfo.#GetMetadata()")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.ReflectionModel.ReflectionPartCreationInfo.#.ctor(System.Lazy`1<System.Type>,System.Boolean,System.Lazy`1<System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.ImportDefinition>>,System.Lazy`1<System.Collections.Generic.IEnumerable`1<System.ComponentModel.Composition.Primitives.ExportDefinition>>,System.Lazy`1<System.Collections.Generic.IDictionary`2<System.String,System.Object>>,System.ComponentModel.Composition.Primitives.ICompositionElement)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.ReflectionServices.#Assembly(System.Reflection.MemberInfo)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.ReflectionServices.#IsVisible(System.Reflection.ConstructorInfo)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.ReflectionServices.#IsVisible(System.Reflection.FieldInfo)")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "Microsoft.Internal.ReflectionServices.#IsVisible(System.Reflection.MethodInfo)")]
-[module: SuppressMessage("Microsoft.Design", "CA1032:ImplementStandardExceptionConstructors", Scope = "type", Target = "System.ComponentModel.Composition.ChangeRejectedException")]
-[module: SuppressMessage("Microsoft.Usage", "CA2240:ImplementISerializableCorrectly", Scope = "type", Target = "System.ComponentModel.Composition.CompositionException")]
-[module: SuppressMessage("Microsoft.Design", "CA1032:ImplementStandardExceptionConstructors", Scope = "type", Target = "System.ComponentModel.Composition.CompositionException")]
-[module: SuppressMessage("Microsoft.Security", "CA2116:AptcaMethodsShouldOnlyCallAptcaMethods", Scope = "member", Target = "System.ComponentModel.Composition.CompositionException+CompositionExceptionData.#System.Runtime.Serialization.ISafeSerializationData.CompleteDeserialization(System.Object)")]
-
-
-
diff --git a/System.ComponentModel.Composition/System.ComponentModel.Composition.csproj b/System.ComponentModel.Composition/System.ComponentModel.Composition.csproj
deleted file mode 100644
index 89d3819..0000000
--- a/System.ComponentModel.Composition/System.ComponentModel.Composition.csproj
+++ /dev/null
@@ -1,226 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>10.0.0</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{1BBA5101-D4F0-48B8-A5D6-7B23A099DCE3}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <RootNamespace>Microsoft.Internal</RootNamespace>
-    <AssemblyName>System.ComponentModel.Composition</AssemblyName>
-    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
-    <NoStdLib>true</NoStdLib>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>..\bin</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
-    <NoWarn>1570;1572;1573;1591;1699</NoWarn>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>none</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>..\bin</OutputPath>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
-    <NoWarn>1570;1572;1573;1591;1699</NoWarn>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="mscorlib" />
-    <Reference Include="System" />
-    <Reference Include="System.Core">
-    </Reference>
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="AssemblyInfo.cs" />
-    <Compile Include="Microsoft\Internal\Assumes.cs" />
-    <Compile Include="Microsoft\Internal\AttributeServices.cs" />
-    <Compile Include="Microsoft\Internal\Collections\CollectionServices.cs" />
-    <Compile Include="Microsoft\Internal\Collections\ConditionalWeakTable.cs" />
-    <Compile Include="Microsoft\Internal\Collections\CollectionServices.CollectionOfObject.cs" />
-    <Compile Include="Microsoft\Internal\Collections\EnumerableCardinality.cs" />
-    <Compile Include="Microsoft\Internal\Collections\ReadOnlyDictionary.cs" />
-    <Compile Include="Microsoft\Internal\Collections\ReadOnlyDictionaryDebuggerProxy.cs" />
-    <Compile Include="Microsoft\Internal\Collections\WeakReferenceCollection.cs" />
-    <Compile Include="Microsoft\Internal\ContractServices.cs" />
-    <Compile Include="Microsoft\Internal\Assumes.InternalErrorException.cs" />
-    <Compile Include="Microsoft\Internal\SilverlightReflectionInvoke.cs" />
-    <Compile Include="Microsoft\Internal\GenerationServices.cs" />
-    <Compile Include="Microsoft\Internal\LazyServices.cs" />
-    <Compile Include="Microsoft\Internal\Lock.cs" />
-    <Compile Include="Microsoft\Internal\Lock.Reader.cs" />
-    <Compile Include="Microsoft\Internal\Lock.Writer.cs" />
-    <Compile Include="Microsoft\Internal\Requires.cs" />
-    <Compile Include="Microsoft\Internal\Runtime\Serialization\SerializationServices.cs" />
-    <Compile Include="Microsoft\Internal\StringComparers.cs" />
-    <Compile Include="Microsoft\Internal\ReflectionServices.cs" />
-    <Compile Include="Strings.Designer.cs">
-      <AutoGen>True</AutoGen>
-      <DesignTime>True</DesignTime>
-      <DependentUpon>Strings.resx</DependentUpon>
-      <CustomToolNamespace>Microsoft.Internal</CustomToolNamespace>
-    </Compile>
-    <Compile Include="SuppressMessages.cs" />
-    <Compile Include="SuppressMessagesBaselined.cs" />
-    <Compile Include="System\ComponentModel\Composition\AttributedModelServices.cs" />
-    <Compile Include="System\ComponentModel\Composition\AttributedModel\AttributedModelDiscovery.cs" />
-    <Compile Include="System\ComponentModel\Composition\AttributedModel\AttributedPartCreationInfo.cs" />
-    <Compile Include="System\ComponentModel\Composition\AttributedModel\AttributedExportDefinition.cs" />
-    <Compile Include="System\ComponentModel\Composition\Diagnostics\CompositionTrace.cs" />
-    <Compile Include="System\ComponentModel\Composition\Diagnostics\CompositionTraceId.cs" />
-    <Compile Include="System\ComponentModel\Composition\ConstraintServices.cs" />
-    <Compile Include="System\ComponentModel\Composition\CompositionContractMismatchException.cs" />
-    <Compile Include="System\ComponentModel\Composition\CompositionError.cs" />
-    <Compile Include="System\ComponentModel\Composition\CompositionResultOfT.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\CatalogExportProvider.PartCreatorExport.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\CompositionLock.cs" />
-    <Compile Include="System\ComponentModel\Composition\Diagnostics\CompositionTraceSource.cs" />
-    <Compile Include="System\ComponentModel\Composition\Diagnostics\TraceWriter.cs" />
-    <Compile Include="System\ComponentModel\Composition\Diagnostics\TraceSourceTraceWriter.cs" />
-    <Compile Include="System\ComponentModel\Composition\Diagnostics\SilverlightTraceWriter.cs" />
-    <Compile Include="System\ComponentModel\Composition\InheritedExportAttribute.cs" />
-    <Compile Include="System\ComponentModel\Composition\ExportServices.DisposableLazy.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\AtomicComposition.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\AtomicCompositionExtensions.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\CompositionConstants.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\CatalogExportProvider.CatalogChangeProxy.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\IPartCreatorImportDefinition.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\PartCreatorExportDefinition.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\PartCreatorParameterImportDefinition.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\PartCreatorMemberImportDefinition.cs" />
-    <Compile Include="System\ComponentModel\Composition\IAttributedImport.cs" />
-    <Compile Include="System\ComponentModel\Composition\ImportCardinalityMismatchException.cs" />
-    <Compile Include="System\ComponentModel\Composition\ImportManyAttribute.cs" />
-    <Compile Include="System\ComponentModel\Composition\ErrorBuilder.cs" />
-    <Compile Include="System\ComponentModel\Composition\CompositionErrorDebuggerProxy.cs" />
-    <Compile Include="System\ComponentModel\Composition\ExceptionBuilder.cs" />
-    <Compile Include="System\ComponentModel\Composition\ExportCardinalityCheckResult.cs" />
-    <Compile Include="System\ComponentModel\Composition\ExportServices.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\AggregateCatalog.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\AggregateExportProvider.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\AssemblyCatalog.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\AssemblyCatalogDebuggerProxy.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\CatalogExportProvider.CatalogExport.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\CatalogExportProvider.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\ComposablePartCatalogChangeEventArgs.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\ComposablePartCatalogCollection.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\ComposablePartExportProvider.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\CompositionBatch.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\CompositionBatch.SingleExportComposablePart.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\CompositionContainer.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\CompositionServices.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\ExportProvider.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\ExportProvider.GetExportOverrides.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\ExportsChangeEventArgs.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\ImportEngine.RecompositionManager.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\ImportEngine.EngineContext.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\ImportEngine.PartManager.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\ImportEngine.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\INotifyComposablePartCatalogChanged.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\TypeCatalog.cs" />
-    <Compile Include="System\ComponentModel\Composition\ICompositionError.cs" />
-    <Compile Include="System\ComponentModel\Composition\ImportingConstructorAttribute.cs" />
-    <Compile Include="System\ComponentModel\Composition\IPartImportsSatisfiedNotification.cs" />
-    <Compile Include="System\ComponentModel\Composition\MetadataServices.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\ComposablePart.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\ComposablePartCatalog.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\ComposablePartCatalogDebuggerProxy.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\ComposablePartDefinition.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\ComposablePartException.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\CompositionElement.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\CompositionElementDebuggerProxy.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\CompositionElementExtensions.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\ContractBasedImportDefinition.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\Export.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\ExportDefinition.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\ExportedDelegate.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\ICompositionElement.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\ImportCardinality.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\ImportDefinition.cs" />
-    <Compile Include="System\ComponentModel\Composition\Primitives\SerializableCompositionElement.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\DisposableReflectionComposablePart.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\IReflectionPartCreationInfo.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\LazyMemberInfo.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionImportDefinition.cs" />
-    <Compile Include="Microsoft\Internal\ReflectionInvoke.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionItemType.cs" />
-    <Compile Include="System\ComponentModel\Composition\MetadataViewProvider.cs" />
-    <Compile Include="System\ComponentModel\Composition\PartCreationPolicyAttribute.cs" />
-    <Compile Include="System\ComponentModel\Composition\PartMetadataAttribute.cs" />
-    <Compile Include="System\ComponentModel\Composition\PartNotDiscoverableAttribute.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionExtensions.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ImportingParameter.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ImportingItem.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ExportingMember.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ImportingMember.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ImportType.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionComposablePart.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionComposablePartDefinition.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionMemberExportDefinition.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionMemberImportDefinition.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionModelServices.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionParameterImportDefinition.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionWritableMember.cs" />
-    <Compile Include="System\ComponentModel\Composition\MetadataViewGenerator.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionField.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionMember.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionParameter.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionProperty.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionType.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionItem.cs" />
-    <Compile Include="System\ComponentModel\Composition\ReflectionModel\ReflectionMethod.cs" />
-    <Compile Include="System\ComponentModel\Composition\ChangeRejectedException.cs" />
-    <Compile Include="System\ComponentModel\Composition\CompositionException.cs" />
-    <Compile Include="System\ComponentModel\Composition\CompositionErrorId.cs" />
-    <Compile Include="System\ComponentModel\Composition\CompositionResult.cs" />
-    <Compile Include="System\ComponentModel\Composition\ContractNameServices.cs" />
-    <Compile Include="System\ComponentModel\Composition\CreationPolicy.cs" />
-    <Compile Include="System\ComponentModel\Composition\ExportAttribute.cs" />
-    <Compile Include="System\ComponentModel\Composition\ExportMetadataAttribute.cs" />
-    <Compile Include="System\ComponentModel\Composition\ICompositionService.cs" />
-    <Compile Include="System\ComponentModel\Composition\ImportAttribute.cs" />
-    <Compile Include="System\ComponentModel\Composition\MetadataAttributeAttribute.cs" />
-    <Compile Include="System\Lazy.cs" />
-    <Compile Include="System\LazyOfTTMetadata.cs" />
-    <Compile Include="System\Tuple.cs" />
-  </ItemGroup>
-  <ItemGroup Condition="'$(IsSilverLight)' != 'true'">
-    <Compile Include="System\ComponentModel\Composition\Hosting\DirectoryCatalog.cs" />
-    <Compile Include="System\ComponentModel\Composition\Hosting\DirectoryCatalog.DirectoryCatalogDebuggerProxy.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="Strings.resx">
-      <SubType>Designer</SubType>
-      <Generator>ResXFileCodeGenerator</Generator>
-      <LastGenOutput>Strings.Designer.cs</LastGenOutput>
-      <CustomToolNamespace>Microsoft.Internal</CustomToolNamespace>
-    </EmbeddedResource>
-  </ItemGroup>
-  <ItemGroup>
-    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
-      <Install>false</Install>
-    </BootstrapperPackage>
-    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
-      <Visible>False</Visible>
-      <ProductName>.NET Framework 3.5 SP1</ProductName>
-      <Install>true</Install>
-    </BootstrapperPackage>
-    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
-      <Visible>False</Visible>
-      <ProductName>Windows Installer 3.1</ProductName>
-      <Install>true</Install>
-    </BootstrapperPackage>
-  </ItemGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-</Project>
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/AttributedModel/AttributedExportDefinition.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/AttributedModel/AttributedExportDefinition.cs
deleted file mode 100644
index 2f8d7e2..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/AttributedModel/AttributedExportDefinition.cs
+++ /dev/null
@@ -1,65 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition;
-using System.ComponentModel.Composition.AttributedModel;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-using System.ComponentModel.Composition.ReflectionModel;
-using System.Globalization;
-using System.Linq;
-using System.Reflection;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-using System.Threading;
-
-namespace System.ComponentModel.Composition.AttributedModel
-{
-    internal class AttributedExportDefinition : ExportDefinition
-    {
-        private readonly AttributedPartCreationInfo _partCreationInfo;
-        private readonly MemberInfo _member;
-        private readonly ExportAttribute _exportAttribute;
-
-        private IDictionary<string, object> _metadata;
-
-        public AttributedExportDefinition(AttributedPartCreationInfo partCreationInfo, MemberInfo member, ExportAttribute exportAttribute)
-            : base(member.GetContractNameFromExport(exportAttribute), (IDictionary<string, object>)null)
-        {
-            Assumes.NotNull(partCreationInfo);
-            Assumes.NotNull(member);
-            Assumes.NotNull(exportAttribute);
-
-            this._partCreationInfo = partCreationInfo;
-            this._member = member;
-            this._exportAttribute = exportAttribute;
-        }
-
-        public override IDictionary<string, object> Metadata
-        {
-            get
-            {
-                if (this._metadata == null)
-                {
-                    IDictionary<string, object> metadata;
-                    this._member.TryExportMetadataForMember(out metadata);
-
-                    string typeIdentity = this._member.GetTypeIdentityFromExport(this._exportAttribute);
-                    metadata.Add(CompositionConstants.ExportTypeIdentityMetadataName, typeIdentity);
-
-                    var partMetadata = this._partCreationInfo.GetMetadata();
-                    if (partMetadata != null && partMetadata.ContainsKey(CompositionConstants.PartCreationPolicyMetadataName))
-                    {
-                        metadata.Add(CompositionConstants.PartCreationPolicyMetadataName, partMetadata[CompositionConstants.PartCreationPolicyMetadataName]);
-                    }
-
-                    this._metadata = metadata;
-                }
-                return this._metadata;
-            }
-        }
-    }
-    
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/AttributedModel/AttributedModelDiscovery.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/AttributedModel/AttributedModelDiscovery.cs
deleted file mode 100644
index c100257..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/AttributedModel/AttributedModelDiscovery.cs
+++ /dev/null
@@ -1,138 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Diagnostics;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-using System.ComponentModel.Composition.ReflectionModel;
-using System.Reflection;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.AttributedModel
-{
-    internal static class AttributedModelDiscovery
-    {
-        public static ComposablePartDefinition CreatePartDefinitionIfDiscoverable(Type type, ICompositionElement origin)
-        {
-            AttributedPartCreationInfo creationInfo = new AttributedPartCreationInfo(type, null, false, origin);
-            if (!creationInfo.IsPartDiscoverable())
-            {
-                return null;
-            }
-
-            return new ReflectionComposablePartDefinition(creationInfo);
-        }
-
-        public static ReflectionComposablePartDefinition CreatePartDefinition(Type type, PartCreationPolicyAttribute partCreationPolicy, bool ignoreConstructorImports, ICompositionElement origin)
-        {
-            Assumes.NotNull(type);
-
-            AttributedPartCreationInfo creationInfo = new AttributedPartCreationInfo(type, partCreationPolicy, ignoreConstructorImports, origin);
-
-            return new ReflectionComposablePartDefinition(creationInfo);
-        }
-
-        public static ReflectionComposablePart CreatePart(object attributedPart)
-        {
-            Assumes.NotNull(attributedPart);
-
-            // If given an instance then we want to pass the default composition options because we treat it as a shared part
-            // TODO: ICompositionElement Give this def an origin indicating that it was added directly to the ComposablePartExportProvider.
-
-            ReflectionComposablePartDefinition definition = AttributedModelDiscovery.CreatePartDefinition(attributedPart.GetType(), PartCreationPolicyAttribute.Shared, true, (ICompositionElement)null);
-
-            return new ReflectionComposablePart(definition, attributedPart);
-        }
-
-        public static ReflectionParameterImportDefinition CreateParameterImportDefinition(ParameterInfo parameter, ICompositionElement origin)
-        {
-            Requires.NotNull(parameter, "parameter");
-
-            ReflectionParameter reflectionParameter = parameter.ToReflectionParameter();
-            IAttributedImport attributedImport = AttributedModelDiscovery.GetAttributedImport(reflectionParameter, parameter);
-            ImportType importType = new ImportType(reflectionParameter.ReturnType, attributedImport.Cardinality);
-
-            if (importType.IsPartCreator)
-            {
-                return new PartCreatorParameterImportDefinition(
-                    new Lazy<ParameterInfo>(() => parameter),
-                    origin,
-                    new ContractBasedImportDefinition(
-                        attributedImport.GetContractNameFromImport(importType),
-                        attributedImport.GetTypeIdentityFromImport(importType),
-                        CompositionServices.GetRequiredMetadata(importType.MetadataViewType),
-                        attributedImport.Cardinality,
-                        false,
-                        true,
-                        CreationPolicy.NonShared));
-            }
-            else
-            {
-                return new ReflectionParameterImportDefinition(
-                    new Lazy<ParameterInfo>(() => parameter),
-                    attributedImport.GetContractNameFromImport(importType),
-                    attributedImport.GetTypeIdentityFromImport(importType),
-                    CompositionServices.GetRequiredMetadata(importType.MetadataViewType),
-                    attributedImport.Cardinality,
-                    attributedImport.RequiredCreationPolicy,
-                    origin);
-            }
-        }
-
-        public static ReflectionMemberImportDefinition CreateMemberImportDefinition(MemberInfo member, ICompositionElement origin)
-        {
-            Requires.NotNull(member, "member");
-
-            ReflectionWritableMember reflectionMember = member.ToReflectionWritableMember();
-            IAttributedImport attributedImport = AttributedModelDiscovery.GetAttributedImport(reflectionMember, member);
-            ImportType importType = new ImportType(reflectionMember.ReturnType, attributedImport.Cardinality);
-
-            if (importType.IsPartCreator)
-            {
-                return new PartCreatorMemberImportDefinition(
-                    new LazyMemberInfo(member),
-                    origin,
-                    new ContractBasedImportDefinition(
-                        attributedImport.GetContractNameFromImport(importType),
-                        attributedImport.GetTypeIdentityFromImport(importType),
-                        CompositionServices.GetRequiredMetadata(importType.MetadataViewType),
-                        attributedImport.Cardinality,
-                        attributedImport.AllowRecomposition,
-                        false,
-                        CreationPolicy.NonShared));
-            }
-            else
-            {
-                return new ReflectionMemberImportDefinition(
-                    new LazyMemberInfo(member),
-                    attributedImport.GetContractNameFromImport(importType),
-                    attributedImport.GetTypeIdentityFromImport(importType),
-                    CompositionServices.GetRequiredMetadata(importType.MetadataViewType),
-                    attributedImport.Cardinality,
-                    attributedImport.AllowRecomposition,
-                    attributedImport.RequiredCreationPolicy,
-                    origin);
-            }
-        }
-
-        private static IAttributedImport GetAttributedImport(ReflectionItem item, ICustomAttributeProvider attributeProvider)
-        {
-            IAttributedImport[] imports = attributeProvider.GetAttributes<IAttributedImport>(false);
-
-            // For constructor parameters they may not have an ImportAttribute
-            if (imports.Length == 0)
-            {
-                return new ImportAttribute();
-            }
-
-            if (imports.Length > 1)
-            {
-                CompositionTrace.MemberMarkedWithMultipleImportAndImportMany(item);
-            }
-
-            // Regardless of how many imports, always return the first one
-            return imports[0];
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/AttributedModel/AttributedPartCreationInfo.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/AttributedModel/AttributedPartCreationInfo.cs
deleted file mode 100644
index 827a709..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/AttributedModel/AttributedPartCreationInfo.cs
+++ /dev/null
@@ -1,446 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Diagnostics;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-using System.ComponentModel.Composition.ReflectionModel;
-using System.Linq;
-using System.Reflection;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-
-namespace System.ComponentModel.Composition.AttributedModel
-{
-    internal class AttributedPartCreationInfo : IReflectionPartCreationInfo
-    {
-        private readonly Type _type;
-        private readonly bool _ignoreConstructorImports = false;
-        private readonly ICompositionElement _origin;
-        private PartCreationPolicyAttribute _partCreationPolicy = null;
-        private ConstructorInfo _constructor;
-        private IEnumerable<ExportDefinition> _exports;
-        private IEnumerable<ImportDefinition> _imports;
-        private HashSet<string> _contractNamesOnNonInterfaces;
-
-        public AttributedPartCreationInfo(Type type, PartCreationPolicyAttribute partCreationPolicy, bool ignoreConstructorImports, ICompositionElement origin)
-        {
-            Assumes.NotNull(type);
-            this._type = type;
-            this._ignoreConstructorImports = ignoreConstructorImports;
-            this._partCreationPolicy = partCreationPolicy;
-            this._origin = origin;
-        }
-
-        public Type GetPartType()
-        {
-            return this._type;
-        }
-
-        public Lazy<Type> GetLazyPartType()
-        {
-            return new Lazy<Type>(this.GetPartType, false);
-        }
-
-        public ConstructorInfo GetConstructor()
-        {
-            if (this._constructor == null && !this._ignoreConstructorImports)
-            {
-                this._constructor = SelectPartConstructor(this._type);
-            }
-            return this._constructor;
-        }
-
-        public IDictionary<string, object> GetMetadata()
-        {
-            return this._type.GetPartMetadataForType(this.CreationPolicy);
-        }
-
-        public IEnumerable<ExportDefinition> GetExports()
-        {
-            DiscoverExportsAndImports();
-            return this._exports;
-        }
-
-        public IEnumerable<ImportDefinition> GetImports()
-        {
-            DiscoverExportsAndImports();
-            return this._imports;
-        }
-
-        public bool IsDisposalRequired
-        {
-            get
-            {
-                return typeof(IDisposable).IsAssignableFrom(this.GetPartType());
-            }
-        }
-
-        public bool IsPartDiscoverable()
-        {
-            if (this._type.IsAttributeDefined<PartNotDiscoverableAttribute>())
-            {
-                CompositionTrace.DefinitionMarkedWithPartNotDiscoverableAttribute(this._type);
-                return false;
-            }
-
-            if (this._type.ContainsGenericParameters)
-            {
-                CompositionTrace.DefinitionContainsGenericsParameters(this._type);
-                return false;
-            }
-
-            if (!HasExports())
-            {
-                CompositionTrace.DefinitionContainsNoExports(this._type);
-                return false;
-            }
-
-            return true;
-        }
-
-        private bool HasExports()
-        {
-            return GetExportMembers(this._type).Any() ||
-                   GetInheritedExports(this._type).Any();
-        }
-
-        string ICompositionElement.DisplayName
-        {
-            get { return this.GetDisplayName(); }
-        }
-
-        ICompositionElement ICompositionElement.Origin
-        {
-            get { return this._origin; }
-        }
-
-        public override string ToString()
-        {
-            return GetDisplayName();
-        }
-
-        private string GetDisplayName()
-        {
-            return this.GetPartType().GetDisplayName();
-        }
-
-        private CreationPolicy CreationPolicy
-        {
-            get
-            {
-                if (this._partCreationPolicy == null)
-                {
-                    this._partCreationPolicy = this._type.GetFirstAttribute<PartCreationPolicyAttribute>() ?? PartCreationPolicyAttribute.Default;
-                }
-                return this._partCreationPolicy.CreationPolicy;
-            }
-        }
-
-        private static ConstructorInfo SelectPartConstructor(Type type)
-        {
-            Assumes.NotNull(type);
-
-            if (type.IsAbstract)
-            {
-                return null;
-            }
-
-            // Only deal with non-static constructors
-            BindingFlags flags = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance;
-
-            ConstructorInfo[] constructors = type.GetConstructors(flags);
-
-            // Should likely only happen for static or abstract types
-            if (constructors.Length == 0)
-            {
-                return null;
-            }
-
-            // Optimize single default constructor.
-            if (constructors.Length == 1 && constructors[0].GetParameters().Length == 0)
-            {
-                return constructors[0];
-            }
-
-            // Select the marked constructor if there is exactly one marked
-            IEnumerable<ConstructorInfo> importingConstructors = constructors.Where(
-                ctor => ctor.IsAttributeDefined<ImportingConstructorAttribute>());
-
-            switch (importingConstructors.GetCardinality())
-            {
-                case EnumerableCardinality.One:
-                    {
-                        return importingConstructors.First();
-                    }
-
-                case EnumerableCardinality.TwoOrMore:
-                    {
-                        // Return null, the part will error on instantiation.
-                        return null;
-                    }
-            }
-
-            // If there are no marked constructors then select the default constructor
-            IEnumerable<ConstructorInfo> defaultConstructors = constructors.Where(
-                ctor => ctor.GetParameters().Length == 0);
-
-            // There should only ever be zero or one default constructors  
-            return defaultConstructors.SingleOrDefault();
-        }
-
-        private void DiscoverExportsAndImports()
-        {
-            // NOTE : in most cases both of these will be null or not null at the same time
-            // the only situation when that is not the case is when there was a failure during the previous discovery
-            // and one of them ended up not being set. In that case we will force the discovery again so that the same exception is thrown.
-            if ((this._exports != null) && (this._imports != null))
-            {
-                return;
-            }
-
-            this._exports = GetExportDefinitions();
-            this._imports = GetImportDefinitions();
-        }
-
-        private IEnumerable<ExportDefinition> GetExportDefinitions()
-        {
-            List<ExportDefinition> exports = new List<ExportDefinition>();
-
-            this._contractNamesOnNonInterfaces = new HashSet<string>();
-
-            // GetExportMembers should only contain the type itself along with the members declared on it, 
-            // it should not contain any base types, members on base types or interfaces on the type.
-            foreach (MemberInfo member in GetExportMembers(this._type))
-            {
-                foreach (ExportAttribute exportAttribute in member.GetAttributes<ExportAttribute>())
-                {
-                    var attributedExportDefinition = new AttributedExportDefinition(this, member, exportAttribute);
-
-                    if (exportAttribute.GetType() == CompositionServices.InheritedExportAttributeType)
-                    {
-                        // Any InheritedExports on the type itself are contributed during this pass 
-                        // and we need to do the book keeping for those.
-                        if (!this._contractNamesOnNonInterfaces.Contains(attributedExportDefinition.ContractName))
-                        {
-                            exports.Add(new ReflectionMemberExportDefinition(member.ToLazyMember(), attributedExportDefinition, this));
-                            this._contractNamesOnNonInterfaces.Add(attributedExportDefinition.ContractName);
-                        }
-                    }
-                    else
-                    {
-                        exports.Add(new ReflectionMemberExportDefinition(member.ToLazyMember(), attributedExportDefinition, this));
-                    }
-                }
-            }
-
-            // GetInheritedExports should only contain InheritedExports on base types or interfaces.
-            // The order of types returned here is important because it is used as a 
-            // priority list of which InhertedExport to choose if multiple exists with 
-            // the same contract name. Therefore ensure that we always return the types
-            // in the hiearchy from most derived to the lowest base type, followed
-            // by all the interfaces that this type implements.
-            foreach (Type type in GetInheritedExports(this._type))
-            {
-                foreach (InheritedExportAttribute exportAttribute in type.GetAttributes<InheritedExportAttribute>())
-                {
-                    var attributedExportDefinition = new AttributedExportDefinition(this, type, exportAttribute);
-
-                    if (!this._contractNamesOnNonInterfaces.Contains(attributedExportDefinition.ContractName))
-                    {
-                        exports.Add(new ReflectionMemberExportDefinition(type.ToLazyMember(), attributedExportDefinition, this));
-
-                        if (!type.IsInterface)
-                        {
-                            this._contractNamesOnNonInterfaces.Add(attributedExportDefinition.ContractName);
-                        }
-                    }
-                }
-            }
-
-            this._contractNamesOnNonInterfaces = null; // No need to hold this state around any longer
-
-            return exports;
-        }
-
-        private IEnumerable<MemberInfo> GetExportMembers(Type type)
-        {
-            BindingFlags flags = BindingFlags.DeclaredOnly | BindingFlags.Public |
-                BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static;
-
-            // If the type is abstract only find local static exports
-            if (type.IsAbstract)
-            {
-                flags &= ~BindingFlags.Instance;
-            }
-            else if (IsExport(type))
-            {
-                yield return type;
-            }
-
-            // Walk the fields 
-            foreach (var member in type.GetFields(flags))
-            {
-                if (IsExport(member))
-                {
-                    yield return member;
-                }
-            }
-
-            // Walk the properties 
-            foreach (var member in type.GetProperties(flags))
-            {
-                if (IsExport(member))
-                {
-                    yield return member;
-                }
-            }
-
-            // Walk the methods 
-            foreach (var member in type.GetMethods(flags))
-            {
-                if (IsExport(member))
-                {
-                    yield return member;
-                }
-            }
-        }
-
-        private IEnumerable<Type> GetInheritedExports(Type type)
-        {
-            // If the type is abstract we aren't interested in type level exports
-            if (type.IsAbstract)
-            {
-                yield break;
-            }
-
-            // The order of types returned here is important because it is used as a 
-            // priority list of which InhertedExport to choose if multiple exists with 
-            // the same contract name. Therefore ensure that we always return the types
-            // in the hiearchy from most derived to the lowest base type, followed
-            // by all the interfaces that this type implements.
-
-            Type currentType = type.BaseType;
-
-            if (currentType == null)
-            {
-                yield break;
-            }
-            
-            // Stopping at object instead of null to help with performance. It is a noticable performance
-            // gain (~5%) if we don't have to try and pull the attributes we know don't exist on object.
-            // We also need the null check in case we're passed a type that doesn't live in the runtime context.
-            while (currentType != null && currentType != CompositionServices.ObjectType)
-            {
-                if (IsInheritedExport(currentType))
-                {
-                    yield return currentType;
-                }
-                currentType = currentType.BaseType;
-            }
-
-            foreach (Type iface in type.GetInterfaces())
-            {
-                if (IsInheritedExport(iface))
-                {
-                    yield return iface;
-                }
-            }
-        }
-
-        private static bool IsExport(ICustomAttributeProvider attributeProvider)
-        {
-            return attributeProvider.IsAttributeDefined<ExportAttribute>(false);
-        }
-
-        private static bool IsInheritedExport(ICustomAttributeProvider attributedProvider)
-        {
-            return attributedProvider.IsAttributeDefined<InheritedExportAttribute>(false);
-        }
-
-        private IEnumerable<ImportDefinition> GetImportDefinitions()
-        {
-            List<ImportDefinition> imports = new List<ImportDefinition>();
-
-            foreach (MemberInfo member in GetImportMembers(this._type))
-            {
-                ReflectionMemberImportDefinition importDefinition = AttributedModelDiscovery.CreateMemberImportDefinition(member, this);
-                imports.Add(importDefinition);
-            }
-
-            var constructor = this.GetConstructor();
-
-            if (constructor != null)
-            {
-                foreach (ParameterInfo parameter in constructor.GetParameters())
-                {
-                    ReflectionParameterImportDefinition importDefinition = AttributedModelDiscovery.CreateParameterImportDefinition(parameter, this);
-                    imports.Add(importDefinition);
-                }
-            }
-
-            return imports;
-        }
-
-        private IEnumerable<MemberInfo> GetImportMembers(Type type)
-        {
-            if (type.IsAbstract)
-            {
-                yield break;
-            }
-
-            foreach (MemberInfo member in GetDeclaredOnlyImportMembers(type))
-            {
-                yield return member;
-            }
-
-            // Walk up the type chain until you hit object.
-            if (type.BaseType != null)
-            {
-                Type baseType = type.BaseType;
-
-                // Stopping at object instead of null to help with performance. It is a noticable performance
-                // gain (~5%) if we don't have to try and pull the attributes we know don't exist on object.
-                // We also need the null check in case we're passed a type that doesn't live in the runtime context.
-                while (baseType != null && baseType != CompositionServices.ObjectType)
-                {
-                    foreach (MemberInfo member in GetDeclaredOnlyImportMembers(baseType))
-                    {
-                        yield return member;
-                    }
-                    baseType = baseType.BaseType;
-                }
-            }
-        }
-
-        private IEnumerable<MemberInfo> GetDeclaredOnlyImportMembers(Type type)
-        {
-            BindingFlags flags = BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance;
-
-            // Walk the fields 
-            foreach (var member in type.GetFields(flags))
-            {
-                if (IsImport(member))
-                {
-                    yield return member;
-                }
-            }
-
-            // Walk the properties 
-            foreach (var member in type.GetProperties(flags))
-            {
-                if (IsImport(member))
-                {
-                    yield return member;
-                }
-            }
-        }
-
-        private static bool IsImport(ICustomAttributeProvider attributeProvider)
-        {
-            return attributeProvider.IsAttributeDefined<IAttributedImport>(false);
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/AttributedModelServices.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/AttributedModelServices.cs
deleted file mode 100644
index 2d33502..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/AttributedModelServices.cs
+++ /dev/null
@@ -1,161 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-using System.Runtime.Serialization;
-using System.ComponentModel.Composition.AttributedModel;
-using System.Reflection;
-using System.Linq;
-using Microsoft.Internal;
-using System.Collections.Generic;
-using System.Diagnostics.CodeAnalysis;
-
-namespace System.ComponentModel.Composition
-{
-    public static class AttributedModelServices
-    {
-        [SuppressMessage("Microsoft.Design", "CA1004")]
-        public static TMetadataView GetMetadataView<TMetadataView>(IDictionary<string, object> metadata)
-        {
-            Requires.NotNull(metadata, "metadata");
-
-            return MetadataViewProvider.GetMetadataView<TMetadataView>(metadata);
-        }
-
-        public static ComposablePart CreatePart(object attributedPart)
-        {
-            Requires.NotNull(attributedPart, "attributedPart");
-            return AttributedModelDiscovery.CreatePart(attributedPart);
-        }
-
-        public static ComposablePartDefinition CreatePartDefinition(Type type, ICompositionElement origin)
-        {
-            Requires.NotNull(type, "type");
-            return AttributedModelServices.CreatePartDefinition(type, origin, false);
-        }
-
-        public static ComposablePartDefinition CreatePartDefinition(Type type, ICompositionElement origin, bool ensureIsDiscoverable)
-        {
-            Requires.NotNull(type, "type");
-            if (ensureIsDiscoverable)
-            {
-                return AttributedModelDiscovery.CreatePartDefinitionIfDiscoverable(type, origin);
-            }
-            else
-            {
-                return AttributedModelDiscovery.CreatePartDefinition(type, null, false, origin);
-            }
-        }
-
-        public static string GetTypeIdentity(Type type)
-        {
-            Requires.NotNull(type, "type");
-
-            return ContractNameServices.GetTypeIdentity(type);
-        }
-
-        public static string GetTypeIdentity(MethodInfo method)
-        {
-            Requires.NotNull(method, "method");
-
-            return ContractNameServices.GetTypeIdentityFromMethod(method);
-        }
-
-        public static string GetContractName(Type type)
-        {
-            return AttributedModelServices.GetTypeIdentity(type);
-        }
-
-        public static ComposablePart AddExportedValue<T>(this CompositionBatch batch, T exportedValue)
-        {
-            Requires.NotNull(batch, "batch");
-            string contractName = AttributedModelServices.GetContractName(typeof(T));
-
-            return batch.AddExportedValue<T>(contractName, exportedValue);
-        }
-
-        public static void ComposeExportedValue<T>(this CompositionContainer container, T exportedValue)
-        {
-            Requires.NotNull(container, "container");
-
-            CompositionBatch batch = new CompositionBatch();
-            batch.AddExportedValue<T>(exportedValue);
-            container.Compose(batch);
-        }
-
-        public static ComposablePart AddExportedValue<T>(this CompositionBatch batch, string contractName, T exportedValue)
-        {
-            Requires.NotNull(batch, "batch");
-
-            string typeIdentity = AttributedModelServices.GetTypeIdentity(typeof(T));
-
-            IDictionary<string, object> metadata = new Dictionary<string, object>();
-            metadata.Add(CompositionConstants.ExportTypeIdentityMetadataName, typeIdentity);
-
-            return batch.AddExport(new Export(contractName, metadata, () => exportedValue));
-        }
-
-        public static void ComposeExportedValue<T>(this CompositionContainer container, string contractName, T exportedValue)
-        {
-            Requires.NotNull(container, "container");
-
-            CompositionBatch batch = new CompositionBatch();
-            batch.AddExportedValue<T>(contractName, exportedValue);
-            container.Compose(batch);
-        }
-
-        public static ComposablePart AddPart(this CompositionBatch batch, object attributedPart)
-        {
-            Requires.NotNull(batch, "batch");
-            Requires.NotNull(attributedPart, "attributedPart");
-
-            ComposablePart part = AttributedModelServices.CreatePart(attributedPart);
-
-            batch.AddPart(part);
-
-            return part;
-        }
-
-        public static void ComposeParts(this CompositionContainer container, params object[] attributedParts)
-        {
-            Requires.NotNull(container, "container");
-            Requires.NotNullOrNullElements(attributedParts, "attributedParts");
-
-            CompositionBatch batch = new CompositionBatch(
-                attributedParts.Select(attributedPart => AttributedModelServices.CreatePart(attributedPart)).ToArray(),
-                Enumerable.Empty<ComposablePart>());
-
-            container.Compose(batch);
-        }
-     
-        /// <summary>
-        ///     Satisfies the imports of the specified attributed object exactly once and they will not
-        ///     ever be recomposed.
-        /// </summary>
-        /// <param name="part">
-        ///     The attributed object to set the imports.
-        /// </param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="attributedPart"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="CompositionException">
-        ///     An error occurred during composition. <see cref="CompositionException.Errors"/> will
-        ///     contain a collection of errors that occurred.
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="ICompositionService"/> has been disposed of.
-        /// </exception>
-        public static ComposablePart SatisfyImportsOnce(this ICompositionService compositionService, object attributedPart)
-        {
-            Requires.NotNull(compositionService, "compositionService");
-            Requires.NotNull(attributedPart, "attributedPart");
-
-            ComposablePart part = AttributedModelServices.CreatePart(attributedPart);
-            compositionService.SatisfyImportsOnce(part);
-
-            return part;
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ChangeRejectedException.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ChangeRejectedException.cs
deleted file mode 100644
index 3f5da5c..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ChangeRejectedException.cs
+++ /dev/null
@@ -1,69 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.Globalization;
-using System.Security.Permissions;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition
-{
-    /// <summary>
-    ///     The exception that is thrown when one or more recoverable errors occur during
-    ///     composition which results in those changes being rejected.
-    /// </summary>
-    [Serializable]
-    public class ChangeRejectedException : CompositionException
-    {
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ChangeRejectedException"/> class.
-        /// </summary>
-        public ChangeRejectedException()
-            : this((string)null, (Exception)null)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ChangeRejectedException"/> class.
-        /// </summary>
-        public ChangeRejectedException(string message)
-            : this(message, (Exception)null)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ChangeRejectedException"/> class.
-        /// </summary>
-        public ChangeRejectedException(string message, Exception innerException)
-            : base(message, innerException, (IEnumerable<CompositionError>)null)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ChangeRejectedException"/> class.
-        /// </summary>
-        /// <param name="errors">List of errors that occured while applying the changes.</param>
-        public ChangeRejectedException(IEnumerable<CompositionError> errors)
-            : base((string)null, (Exception)null, errors)
-        {
-        }
-
-        /// <summary>
-        ///     Gets a message that describes the exception.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="String"/> containing a message that describes the 
-        ///     <see cref="ChangeRejectedException"/>.
-        /// </value>
-        public override string Message
-        {
-            get
-            {
-                return string.Format(CultureInfo.CurrentCulture, 
-                    Strings.CompositionException_ChangesRejected,
-                    base.Message);
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/CompositionContractMismatchException.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/CompositionContractMismatchException.cs
deleted file mode 100644
index 55a8c4d..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/CompositionContractMismatchException.cs
+++ /dev/null
@@ -1,90 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Runtime.Serialization;
-
-namespace System.ComponentModel.Composition
-{
-    /// <summary>
-    ///     The exception that is thrown when the underlying exported value or metadata of an 
-    ///     <see cref="Lazy{T}"/> or <see cref="Lazy{T, TMetadataView}"/> object cannot be 
-    ///     cast to <c>T</c> or <c>TMetadataView</c>, respectively.
-    /// </summary>
-    [Serializable]
-    public class CompositionContractMismatchException : Exception
-    {
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="CompositionContractMismatchException"/> class.
-        /// </summary>
-        public CompositionContractMismatchException()
-            : this((string)null, (Exception)null)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="CompositionContractMismatchException"/> class 
-        ///     with the specified error message.
-        /// </summary>
-        /// <param name="message">
-        ///     A <see cref="String"/> containing a message that describes the 
-        ///     <see cref="CompositionContractMismatchException"/>; or <see langword="null"/> to set
-        ///     the <see cref="Exception.Message"/> property to its default value.
-        /// </param>
-        public CompositionContractMismatchException(string message)
-            : this(message, (Exception)null)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="CompositionContractMismatchException"/> class 
-        ///     with the specified error message and exception that is the cause of the  
-        ///     exception.
-        /// </summary>
-        /// <param name="message">
-        ///     A <see cref="String"/> containing a message that describes the 
-        ///     <see cref="CompositionContractMismatchException"/>; or <see langword="null"/> to set
-        ///     the <see cref="Exception.Message"/> property to its default value.
-        /// </param>
-        /// <param name="innerException">
-        ///     The <see cref="Exception"/> that is the underlying cause of the 
-        ///     <see cref="CompositionContractMismatchException"/>; or <see langword="null"/> to set
-        ///     the <see cref="Exception.InnerException"/> property to <see langword="null"/>.
-        /// </param>
-        public CompositionContractMismatchException(string message, Exception innerException)
-            : base(message, innerException)
-        {
-        }
-
-#if !SILVERLIGHT
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="CompositionContractMismatchException"/> class 
-        ///     with the specified serialization data.
-        /// </summary>
-        /// <param name="info">
-        ///     The <see cref="SerializationInfo"/> that holds the serialized object data about the 
-        ///     <see cref="CompositionContractMismatchException"/>.
-        /// </param>
-        /// <param name="context">
-        ///     The <see cref="StreamingContext"/> that contains contextual information about the 
-        ///     source or destination.
-        /// </param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="info"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="SerializationException">
-        ///     <paramref name="info"/> is missing a required value.
-        /// </exception>
-        /// <exception cref="InvalidCastException">
-        ///     <paramref name="info"/> contains a value that cannot be cast to the correct type.
-        /// </exception>
-        [System.Security.SecuritySafeCritical]
-        protected CompositionContractMismatchException(SerializationInfo info, StreamingContext context)
-            : base(info, context)
-        {
-        }
-
-#endif
-    }
-}
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/CompositionError.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/CompositionError.cs
deleted file mode 100644
index a85b9f5..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/CompositionError.cs
+++ /dev/null
@@ -1,188 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-using System.Diagnostics;
-using System.Globalization;
-using System.Security.Permissions;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition
-{
-    /// <summary>
-    ///     Represents an error that occurs during composition in a <see cref="CompositionContainer"/>.
-    /// </summary>
-    [Serializable]
-    [DebuggerTypeProxy(typeof(CompositionErrorDebuggerProxy))]
-    public class CompositionError : ICompositionError
-    {
-        private readonly CompositionErrorId _id;
-        private readonly string _description;
-        private readonly Exception _exception;
-
-        private readonly ICompositionElement _element;
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="CompositionError"/> class
-        ///     with the specified error message.
-        /// </summary>
-        /// <param name="message">
-        ///     A <see cref="String"/> containing a message that describes the 
-        ///     <see cref="CompositionError"/>; or <see langword="null"/> to set the 
-        ///     <see cref="Description"/> property to an empty string ("").
-        /// </param>
-        public CompositionError(string message)
-            : this(CompositionErrorId.Unknown, message, (ICompositionElement)null, (Exception)null)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="CompositionError"/> class
-        ///     with the specified error message and composition element that is the
-        ///     cause of the composition error.
-        /// </summary>
-        /// <param name="element">
-        ///     The <see cref="ICompositionElement"/> that is the cause of the
-        ///     <see cref="CompositionError"/>; or <see langword="null"/> to set
-        ///     the <see cref="CompositionError.Element"/> property to 
-        ///     <see langword="null"/>.
-        /// </param>
-        /// <param name="message">
-        ///     A <see cref="String"/> containing a message that describes the 
-        ///     <see cref="CompositionError"/>; or <see langword="null"/> to set the 
-        ///     <see cref="Description"/> property to an empty string ("").
-        /// </param>
-        public CompositionError(string message, ICompositionElement element)
-            : this(CompositionErrorId.Unknown, message, element, (Exception)null)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="CompositionError"/> class 
-        ///     with the specified error message and exception that is the cause of the  
-        ///     composition error.
-        /// </summary>
-        /// <param name="message">
-        ///     A <see cref="String"/> containing a message that describes the 
-        ///     <see cref="CompositionError"/>; or <see langword="null"/> to set the 
-        ///     <see cref="Description"/> property to an empty string ("").
-        /// </param>
-        /// <param name="exception">
-        ///     The <see cref="Exception"/> that is the underlying cause of the 
-        ///     <see cref="CompositionError"/>; or <see langword="null"/> to set
-        ///     the <see cref="CompositionError.Exception"/> property to <see langword="null"/>.
-        /// </param>
-        public CompositionError(string message, Exception exception)
-            : this(CompositionErrorId.Unknown, message, (ICompositionElement)null, exception)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="CompositionError"/> class 
-        ///     with the specified error message, and composition element and exception that 
-        ///     is the cause of the composition error.
-        /// </summary>
-        /// <param name="message">
-        ///     A <see cref="String"/> containing a message that describes the 
-        ///     <see cref="CompositionError"/>; or <see langword="null"/> to set the 
-        ///     <see cref="Description"/> property to an empty string ("").
-        /// </param>
-        /// <param name="element">
-        ///     The <see cref="ICompositionElement"/> that is the cause of the
-        ///     <see cref="CompositionError"/>; or <see langword="null"/> to set
-        ///     the <see cref="CompositionError.Element"/> property to 
-        ///     <see langword="null"/>.
-        /// </param>
-        /// <param name="exception">
-        ///     The <see cref="Exception"/> that is the underlying cause of the 
-        ///     <see cref="CompositionError"/>; or <see langword="null"/> to set
-        ///     the <see cref="CompositionError.Exception"/> property to <see langword="null"/>.
-        /// </param>
-        public CompositionError(string message, ICompositionElement element, Exception exception)
-            : this(CompositionErrorId.Unknown, message, element, exception)
-        {
-        }
-
-        internal CompositionError(CompositionErrorId id, string description, ICompositionElement element, Exception exception)
-        {
-            _id = id;
-            _description = description ?? string.Empty;
-            _element = element;
-            _exception = exception;
-        }
-
-        /// <summary>
-        ///     Gets the composition element that is the cause of the error.
-        /// </summary>
-        /// <value>
-        ///     The <see cref="ICompositionElement"/> that is the cause of the
-        ///     <see cref="CompositionError"/>. The default is <see langword="null"/>.
-        /// </value>
-        public ICompositionElement Element
-        {
-            get { return _element; }
-        }
-
-        /// <summary>
-        ///     Gets the message that describes the composition error.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="String"/> containing a message that describes the
-        ///     <see cref="CompositionError"/>.
-        /// </value>
-        public string Description
-        {
-            get { return _description; }
-        }
-
-        /// <summary>
-        ///     Gets the exception that is the underlying cause of the composition error.
-        /// </summary>
-        /// <value>
-        ///     The <see cref="Exception"/> that is the underlying cause of the 
-        ///     <see cref="CompositionError"/>. The default is <see langword="null"/>.
-        /// </value>
-        public Exception Exception
-        {
-            get { return _exception; }
-        }
-
-        CompositionErrorId ICompositionError.Id
-        {
-            get { return _id; }
-        }
-
-        Exception ICompositionError.InnerException
-        {
-            get { return Exception; }
-        }
-
-        /// <summary>
-        ///     Returns a string representation of the composition error.
-        /// </summary>
-        /// <returns>
-        ///     A <see cref="String"/> containing the <see cref="Description"/> property.
-        /// </returns>
-        public override string ToString()
-        {
-            return this.Description;
-        }
-
-        internal static CompositionError Create(CompositionErrorId id, string format, params object[] parameters)
-        {
-            return Create(id, (ICompositionElement)null, (Exception)null, format, parameters);
-        }
-
-        internal static CompositionError Create(CompositionErrorId id, ICompositionElement element, string format, params object[] parameters)
-        {
-            return Create(id, element, (Exception)null, format, parameters);
-        }
-
-        internal static CompositionError Create(CompositionErrorId id, ICompositionElement element, Exception exception, string format, params object[] parameters)
-        {
-            return new CompositionError(id, string.Format(CultureInfo.CurrentCulture, format, parameters), element, exception);
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/CompositionErrorDebuggerProxy.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/CompositionErrorDebuggerProxy.cs
deleted file mode 100644
index 9530adb..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/CompositionErrorDebuggerProxy.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition
-{
-    internal class CompositionErrorDebuggerProxy
-    {
-        private readonly CompositionError _error;
-
-        public CompositionErrorDebuggerProxy(CompositionError error)
-        {
-            Requires.NotNull(error, "error");
-
-            this._error = error;
-        }
-
-        public string Description
-        {
-            get { return this._error.Description; }
-        }
-
-        public Exception Exception
-        {
-            get { return this._error.Exception; }
-        }
-
-        public ICompositionElement Element
-        {
-            get { return this._error.Element; }
-        }
-    }
-}
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/CompositionErrorId.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/CompositionErrorId.cs
deleted file mode 100644
index c69dd66..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/CompositionErrorId.cs
+++ /dev/null
@@ -1,41 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-
-namespace System.ComponentModel.Composition
-{
-    internal enum CompositionErrorId : int
-    {
-        Unknown = 0,
-        InvalidExportMetadata,
-        RequiredMetadataNotFound,
-        UnsupportedExportType,
-        ImportNotSetOnPart,
-        ImportEngine_ComposeTookTooManyIterations,
-        ImportEngine_ImportCardinalityMismatch,
-        ImportEngine_PartCycle,
-        ImportEngine_PartCannotSetImport,
-        ImportEngine_PartCannotGetExportedValue,
-        ImportEngine_PartCannotActivate,
-        ImportEngine_PreventedByExistingImport,
-        ImportEngine_InvalidStateForRecomposition,
-        ReflectionModel_PartConstructorMissing,
-        ReflectionModel_PartConstructorThrewException,
-        ReflectionModel_PartOnImportsSatisfiedThrewException,
-        ReflectionModel_ExportNotReadable,
-        ReflectionModel_ExportThrewException,
-        ReflectionModel_ExportMethodTooManyParameters,
-        ReflectionModel_ImportNotWritable,
-        ReflectionModel_ImportThrewException,
-        ReflectionModel_ImportNotAssignableFromExport,        
-        ReflectionModel_ImportCollectionNull,
-        ReflectionModel_ImportCollectionNotWritable,
-        ReflectionModel_ImportCollectionConstructionThrewException,
-        ReflectionModel_ImportCollectionGetThrewException,
-        ReflectionModel_ImportCollectionIsReadOnlyThrewException,
-        ReflectionModel_ImportCollectionClearThrewException,
-        ReflectionModel_ImportCollectionAddThrewException,
-        ReflectionModel_ImportManyOnParameterCanOnlyBeAssigned,
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/CompositionException.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/CompositionException.cs
deleted file mode 100644
index 071db1f..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/CompositionException.cs
+++ /dev/null
@@ -1,340 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-using System.Globalization;
-using System.Linq;
-using System.Runtime.Serialization;
-using System.Security.Permissions;
-using System.Text;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-
-namespace System.ComponentModel.Composition
-{
-
-    /// <summary>
-    ///     The exception that is thrown when one or more errors occur during composition in 
-    ///     a <see cref="CompositionContainer"/>.
-    /// </summary>
-    [Serializable]
-    public class CompositionException : Exception
-    {
-        const string ErrorsKey = "Errors";
-        private ReadOnlyCollection<CompositionError> _errors;
-
-#if CLR40 && !SILVERLIGHT
-        [Serializable]
-        private struct CompositionExceptionData : ISafeSerializationData
-        {
-            public CompositionError[] _errors;
-
-            void ISafeSerializationData.CompleteDeserialization(object obj)
-            {
-                CompositionException exception = obj as CompositionException;
-
-                exception._errors = new ReadOnlyCollection<CompositionError>(this._errors);
-            }
-        }
-#endif
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="CompositionException"/> class.
-        /// </summary>
-        public CompositionException()
-            : this((string)null, (Exception)null, (IEnumerable<CompositionError>)null)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="CompositionException"/> class 
-        ///     with the specified error message.
-        /// </summary>
-        /// <param name="message">
-        ///     A <see cref="String"/> containing a message that describes the 
-        ///     <see cref="CompositionException"/>; or <see langword="null"/> to set
-        ///     the <see cref="Exception.Message"/> property to its default value.
-        /// </param>
-        public CompositionException(string message)
-            : this(message, (Exception)null, (IEnumerable<CompositionError>)null)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="CompositionException"/> class 
-        ///     with the specified error message and exception that is the cause of the  
-        ///     exception.
-        /// </summary>
-        /// <param name="message">
-        ///     A <see cref="String"/> containing a message that describes the 
-        ///     <see cref="CompositionException"/>; or <see langword="null"/> to set
-        ///     the <see cref="Exception.Message"/> property to its default value.
-        /// </param>
-        /// <param name="innerException">
-        ///     The <see cref="Exception"/> that is the underlying cause of the 
-        ///     <see cref="ComposablePartException"/>; or <see langword="null"/> to set
-        ///     the <see cref="Exception.InnerException"/> property to <see langword="null"/>.
-        /// </param>
-        public CompositionException(string message, Exception innerException)
-            : this(message, innerException, (IEnumerable<CompositionError>)null)
-        {
-        }
-
-        internal CompositionException(CompositionError error)
-            : this(new CompositionError[] { error })
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="CompositionException"/> class 
-        ///     with the specified errors.
-        /// </summary>
-        /// <param name="errors">
-        ///     An <see cref="IEnumerable{T}"/> of <see cref="CompositionError"/> objects
-        ///     representing the errors that are the cause of the 
-        ///     <see cref="CompositionException"/>; or <see langword="null"/> to set the 
-        ///     <see cref="Errors"/> property to an empty <see cref="IEnumerable{T}"/>.
-        /// </param>
-        /// <exception cref="ArgumentException">
-        ///     <paramref name="errors"/> contains an element that is <see langword="null"/>.
-        /// </exception>
-        public CompositionException(IEnumerable<CompositionError> errors)
-            : this((string)null, (Exception)null, errors)
-        {
-        }
-
-        internal CompositionException(string message, Exception innerException, IEnumerable<CompositionError> errors)
-            : base(message, innerException)
-        {
-            Requires.NullOrNotNullElements(errors, "errors");
-#if CLR40 && !SILVERLIGHT
-            SerializeObjectState += delegate(object exception, SafeSerializationEventArgs eventArgs)
-            {
-                var data = new CompositionExceptionData();
-                if(this._errors != null)
-                {
-                    data._errors = this._errors.Select(error => new CompositionError(
-                        ((ICompositionError)error).Id, 
-                        error.Description,
-                        error.Element.ToSerializableElement(),
-                        error.Exception)).ToArray();
-                }
-                else
-                {
-                    data._errors = new CompositionError[0];
-                }
-
-                eventArgs.AddSerializedState(data);
-            };
-#endif
-            _errors = new ReadOnlyCollection<CompositionError>(errors == null ? new CompositionError[0] : errors.ToArray<CompositionError>());
-        }
-
-        /// <summary>
-        ///     Gets the errors that are the cause of the exception.
-        /// </summary>
-        /// <value>
-        ///     An <see cref="IEnumerable{T}"/> of <see cref="CompositionError"/> objects
-        ///     representing the errors that are the cause of the 
-        ///     <see cref="CompositionException"/>.
-        /// </value>
-        public ReadOnlyCollection<CompositionError> Errors
-        {
-            get { return _errors; }
-        }
-
-        /// <summary>
-        ///     Gets a message that describes the exception.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="String"/> containing a message that describes the 
-        ///     <see cref="CompositionException"/>.
-        /// </value>
-        public override string Message
-        {
-            [System.Security.SecuritySafeCritical]
-            get
-            {
-                if (this.Errors.Count == 0)
-                {   // If there are no errors, then we simply return base.Message, 
-                    // which will either use the default Exception message, or if 
-                    // one was specified; the user supplied message.
-
-                    return base.Message;
-                }
-
-                return BuildDefaultMessage();
-            }
-        }
-
-        private string BuildDefaultMessage()
-        {
-            IEnumerable<IEnumerable<CompositionError>> paths = CalculatePaths(this);
-
-            StringBuilder writer = new StringBuilder();
-
-            WriteHeader(writer, this.Errors.Count, paths.Count());
-            WritePaths(writer, paths);
-
-            return writer.ToString();
-        }
-
-        private static void WriteHeader(StringBuilder writer, int errorsCount, int pathCount)
-        {
-            if (errorsCount > 1 && pathCount > 1)
-            {
-                // The composition produced multiple composition errors, with {0} root causes. The root causes are provided below.
-                writer.AppendFormat(
-                     CultureInfo.CurrentCulture,
-                     Strings.CompositionException_MultipleErrorsWithMultiplePaths,
-                     pathCount);
-            }
-            else if (errorsCount == 1 && pathCount > 1)
-            {
-                // The composition produced a single composition error, with {0} root causes. The root causes are provided below.
-                writer.AppendFormat(
-                     CultureInfo.CurrentCulture,
-                     Strings.CompositionException_SingleErrorWithMultiplePaths,
-                     pathCount);
-            }
-            else
-            {
-                Assumes.IsTrue(errorsCount == 1);
-                Assumes.IsTrue(pathCount == 1);
-                
-                // The composition produced a single composition error. The root cause is provided below.
-                writer.AppendFormat(
-                     CultureInfo.CurrentCulture,
-                     Strings.CompositionException_SingleErrorWithSinglePath,
-                     pathCount);
-            }
-
-            writer.Append(' ');
-            writer.AppendLine(Strings.CompositionException_ReviewErrorProperty);
-        }
-
-        private static void WritePaths(StringBuilder writer, IEnumerable<IEnumerable<CompositionError>> paths)
-        {
-            int ordinal = 0;
-            foreach (IEnumerable<CompositionError> path in paths)
-            {
-                ordinal++;
-                WritePath(writer, path, ordinal);
-            }
-        }
-
-        private static void WritePath(StringBuilder writer, IEnumerable<CompositionError> path, int ordinal)
-        {
-            writer.AppendLine();
-            writer.Append(ordinal.ToString(CultureInfo.CurrentCulture));
-            writer.Append(Strings.CompositionException_PathsCountSeparator);
-            writer.Append(' ');
-
-            WriteError(writer, path.First());
-
-            foreach (CompositionError error in path.Skip(1))
-            {
-                writer.AppendLine();
-                writer.Append(Strings.CompositionException_ErrorPrefix);
-                writer.Append(' ');
-                WriteError(writer, error);
-            }
-        }
-
-        private static void WriteError(StringBuilder writer, CompositionError error)
-        {
-            writer.AppendLine(error.Description);
-
-            if (error.Element != null)
-            {
-                WriteElementGraph(writer, error.Element);
-            }
-        }
-
-        private static void WriteElementGraph(StringBuilder writer, ICompositionElement element)
-        {
-            // Writes the composition element and its origins in the format:
-            // Element: Export --> Part --> PartDefinition --> Catalog
-
-            writer.AppendFormat(CultureInfo.CurrentCulture, Strings.CompositionException_ElementPrefix, element.DisplayName);
-
-            while ((element = element.Origin) != null)
-            {
-                writer.AppendFormat(CultureInfo.CurrentCulture, Strings.CompositionException_OriginFormat, Strings.CompositionException_OriginSeparator, element.DisplayName);
-            }
-
-            writer.AppendLine();
-        }
-
-        private static IEnumerable<IEnumerable<CompositionError>> CalculatePaths(CompositionException exception)
-        {
-            List<IEnumerable<CompositionError>> paths = new List<IEnumerable<CompositionError>>();
-
-            VisitContext context = new VisitContext();
-            context.Path = new Stack<CompositionError>();
-            context.LeafVisitor = path =>
-            {
-                // Take a snapshot of the path
-                paths.Add(path.Copy());
-            };
-
-            VisitCompositionException(exception, context);
-
-            return paths;
-        }
-
-        private static void VisitCompositionException(CompositionException exception, VisitContext context)
-        {
-            foreach (CompositionError error in exception.Errors)
-            {
-                VisitError(error, context);
-            }
-
-            if (exception.InnerException != null)
-            {
-                VisitException(exception.InnerException, context);
-            }
-        }
-
-        private static void VisitError(CompositionError error, VisitContext context)
-        {
-            context.Path.Push(error);
-
-            if (error.Exception == null)
-            {   // This error is a root cause, so write 
-                // out the stack from this point
-
-                context.LeafVisitor(context.Path);
-            }
-            else
-            {
-                VisitException(error.Exception, context);
-            }
-
-            context.Path.Pop();
-        }
-
-        private static void VisitException(Exception exception, VisitContext context)
-        {
-            CompositionException composition = exception as CompositionException;
-            if (composition != null)
-            {
-                VisitCompositionException(composition, context);
-            }
-            else
-            {
-                VisitError(new CompositionError(exception.Message, exception.InnerException), context);
-            }
-        }
-
-        private struct VisitContext
-        {
-            public Stack<CompositionError> Path;
-            public Action<Stack<CompositionError>> LeafVisitor;
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/CompositionResult.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/CompositionResult.cs
deleted file mode 100644
index f8c3c49..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/CompositionResult.cs
+++ /dev/null
@@ -1,86 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.Diagnostics.CodeAnalysis;
-using System.Linq;
-using Microsoft.Internal.Collections;
-using System.ComponentModel.Composition.Hosting;
-
-namespace System.ComponentModel.Composition
-{
-    internal struct CompositionResult
-    {
-        public static readonly CompositionResult SucceededResult = new CompositionResult();
-        private readonly IEnumerable<CompositionError> _errors;
-
-        public CompositionResult(params CompositionError[] errors)
-            : this((IEnumerable<CompositionError>)errors)
-        {            
-        }
-
-        public CompositionResult(IEnumerable<CompositionError> errors)
-        {
-            this._errors = errors;
-        }
-
-        public bool Succeeded
-        {
-            get { return this._errors == null || !this._errors.FastAny(); }
-        }
-
-        public IEnumerable<CompositionError> Errors
-        {
-            get { return this._errors ?? Enumerable.Empty<CompositionError>(); }
-        }
-
-        public CompositionResult MergeResult(CompositionResult result)
-        {
-            if (this.Succeeded)
-            {
-                return result;
-            }
-            if (result.Succeeded)
-            {
-                return this;
-            }
-            return MergeErrors(result._errors);
-        }
-
-        public CompositionResult MergeError(CompositionError error)
-        {
-            return MergeErrors(new CompositionError[] { error });
-        }
-
-        public CompositionResult MergeErrors(IEnumerable<CompositionError> errors)
-        {
-            return new CompositionResult(this._errors.ConcatAllowingNull(errors));
-        }
-
-        public CompositionResult<T> ToResult<T>(T value)
-        {
-            return new CompositionResult<T>(value, this._errors); 
-        }
-
-        public void ThrowOnErrors()
-        {
-            ThrowOnErrors(null);
-        }
-
-        public void ThrowOnErrors(AtomicComposition atomicComposition)
-        {
-            if (!this.Succeeded)
-            {
-                if (atomicComposition == null)
-                {
-                    throw new CompositionException(this._errors);
-                }
-                else
-                {
-                    throw new ChangeRejectedException(this._errors);
-                }
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/CompositionResultOfT.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/CompositionResultOfT.cs
deleted file mode 100644
index 65ee76d..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/CompositionResultOfT.cs
+++ /dev/null
@@ -1,79 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.Diagnostics.CodeAnalysis;
-using System.Linq;
-using Microsoft.Internal.Collections;
-
-namespace System.ComponentModel.Composition
-{
-    internal struct CompositionResult<T>
-    {
-        private readonly IEnumerable<CompositionError> _errors;
-        private readonly T _value;
-        
-        public CompositionResult(T value)
-            : this(value, (CompositionError[])null)
-        {
-        }
-
-        public CompositionResult(params CompositionError[] errors)
-            : this(default(T), (IEnumerable<CompositionError>)errors)
-        {
-        }
-
-        public CompositionResult(IEnumerable<CompositionError> errors)
-            : this(default(T), errors)
-        {
-        }
-
-        internal CompositionResult(T value, IEnumerable<CompositionError> errors)
-        {
-            this._errors = errors;
-            this._value = value;
-        }
-
-        public bool Succeeded
-        {
-            get { return this._errors == null || !this._errors.FastAny(); }
-        }
-
-        public IEnumerable<CompositionError> Errors
-        {
-            get { return this._errors ?? Enumerable.Empty<CompositionError>(); }
-        }
-
-        /// <summary>
-        ///     Gets the value from the result, throwing a CompositionException if there are any errors.
-        /// </summary>
-        public T Value
-        {
-            get 
-            {
-                ThrowOnErrors();
-
-                return this._value; 
-            }
-        }
-
-        internal CompositionResult<TValue> ToResult<TValue>()
-        {
-            return new CompositionResult<TValue>(this._errors);
-        }
-
-        internal CompositionResult ToResult()
-        {
-            return new CompositionResult(this._errors);
-        }
-
-        private void ThrowOnErrors()
-        {
-            if (!this.Succeeded)
-            {
-                throw new CompositionException(this._errors);
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ConstraintServices.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ConstraintServices.cs
deleted file mode 100644
index 0fd6e66..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ConstraintServices.cs
+++ /dev/null
@@ -1,214 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-using System.Linq;
-using System.Linq.Expressions;
-using System.Reflection;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition
-{
-    internal static class ConstraintServices
-    {
-        // NOTE : these are here as Reflection member search is pretty expensive, and we want that to be done once.
-        // Also, making these static would cause this class to fail loading if we rename members of ExportDefinition.
-        private static readonly PropertyInfo _exportDefinitionContractNameProperty = typeof(ExportDefinition).GetProperty("ContractName");
-        private static readonly PropertyInfo _exportDefinitionMetadataProperty = typeof(ExportDefinition).GetProperty("Metadata");
-        private static readonly MethodInfo _metadataContainsKeyMethod = typeof(IDictionary<string, object>).GetMethod("ContainsKey");
-        private static readonly MethodInfo _metadataItemMethod = typeof(IDictionary<string, object>).GetMethod("get_Item");
-        private static readonly MethodInfo _metadataEqualsMethod = typeof(object).GetMethod("Equals", new Type[] { typeof(object) });
-        private static readonly MethodInfo _typeIsInstanceOfTypeMethod = typeof(Type).GetMethod("IsInstanceOfType");
-
-        public static Expression<Func<ExportDefinition, bool>> CreateConstraint(IEnumerable<KeyValuePair<string, Type>> requiredMetadata)
-        {
-            ParameterExpression parameter = Expression.Parameter(typeof(ExportDefinition), "exportDefinition");
-            Expression metadataConstraintBody = null;
-
-            if (requiredMetadata != null)
-            {
-                metadataConstraintBody = ConstraintServices.CreateMetadataConstraintBody(requiredMetadata, parameter);
-            }
-
-            if (metadataConstraintBody != null)
-            {
-                return Expression.Lambda<Func<ExportDefinition, bool>>(metadataConstraintBody, parameter);
-            }
-            
-            return null;
-        }
-
-        public static Expression<Func<ExportDefinition, bool>> CreateConstraint(string contractName, string requiredTypeIdentity, IEnumerable<KeyValuePair<string, Type>> requiredMetadata, CreationPolicy requiredCreationPolicy)
-        {
-            ParameterExpression parameter = Expression.Parameter(typeof(ExportDefinition), "exportDefinition");
-
-            Expression constraintBody = ConstraintServices.CreateContractConstraintBody(contractName, parameter);
-
-            if (!string.IsNullOrEmpty(requiredTypeIdentity))
-            {
-                Expression typeIdentityConstraintBody = ConstraintServices.CreateTypeIdentityContraint(requiredTypeIdentity, parameter);
-
-                constraintBody = Expression.AndAlso(constraintBody, typeIdentityConstraintBody);
-            }
-
-            if (requiredMetadata != null)
-            {
-                Expression metadataConstraintBody = ConstraintServices.CreateMetadataConstraintBody(requiredMetadata, parameter);
-                if (metadataConstraintBody != null)
-                {
-                    constraintBody = Expression.AndAlso(constraintBody, metadataConstraintBody);
-                }
-            }
-
-            if (requiredCreationPolicy != CreationPolicy.Any)
-            {
-                Expression policyConstraintBody = ConstraintServices.CreateCreationPolicyContraint(requiredCreationPolicy, parameter);
-
-                constraintBody = Expression.AndAlso(constraintBody, policyConstraintBody);
-            }
-
-            Expression<Func<ExportDefinition, bool>> constraint = Expression.Lambda<Func<ExportDefinition, bool>>(constraintBody, parameter);
-            return constraint;
-        }
-
-        private static Expression CreateContractConstraintBody(string contractName, ParameterExpression parameter)
-        {
-            Assumes.NotNull(parameter);
-
-            // export.ContractName=<contract>;
-            return Expression.Equal(
-                    Expression.Property(parameter, ConstraintServices._exportDefinitionContractNameProperty),
-                    Expression.Constant(contractName ?? string.Empty, typeof(string)));
-        }
-
-        private static Expression CreateMetadataConstraintBody(IEnumerable<KeyValuePair<string, Type>> requiredMetadata, ParameterExpression parameter)
-        {
-            Assumes.NotNull(requiredMetadata);
-            Assumes.NotNull(parameter);
-
-            Expression body = null;
-            foreach (KeyValuePair<string, Type> requiredMetadataItem in requiredMetadata)
-            {
-                // export.Metadata.ContainsKey(<metadataItem>)
-                Expression metadataItemExpression = CreateMetadataContainsKeyExpression(parameter, requiredMetadataItem.Key);
-
-                body = (body != null) ? Expression.AndAlso(body, metadataItemExpression) : metadataItemExpression;
-                body = Expression.AndAlso(body, CreateMetadataOfTypeExpression(parameter, requiredMetadataItem.Key, requiredMetadataItem.Value));
-            }
-
-            return body;
-        }
-
-        private static Expression CreateCreationPolicyContraint(CreationPolicy policy, ParameterExpression parameter)
-        {
-            Assumes.IsTrue(policy != CreationPolicy.Any);
-            Assumes.NotNull(parameter);
-
-            //    !definition.Metadata.ContainsKey(CompositionConstants.PartCreationPolicyMetadataName) ||
-            //        CreationPolicy.Any.Equals(definition.Metadata[CompositionConstants.PartCreationPolicyMetadataName]) ||
-            //        policy.Equals(definition.Metadata[CompositionConstants.PartCreationPolicyMetadataName]);
-
-            return  Expression.MakeBinary(ExpressionType.OrElse,
-                        Expression.MakeBinary(ExpressionType.OrElse,
-                            Expression.Not(CreateMetadataContainsKeyExpression(parameter, CompositionConstants.PartCreationPolicyMetadataName)),
-                            CreateMetadataValueEqualsExpression(parameter, CreationPolicy.Any, CompositionConstants.PartCreationPolicyMetadataName)),
-                        CreateMetadataValueEqualsExpression(parameter, policy, CompositionConstants.PartCreationPolicyMetadataName));
-        }
-
-        private static Expression CreateTypeIdentityContraint(string requiredTypeIdentity, ParameterExpression parameter)
-        {
-            Assumes.NotNull(requiredTypeIdentity);
-            Assumes.NotNull(parameter);
-
-            //    definition.Metadata.ContainsKey(CompositionServices.ExportTypeIdentity) &&
-            //        requiredTypeIdentity.Equals(definition.Metadata[CompositionConstants.ExportTypeIdentityMetadataName]);
-
-            return  Expression.MakeBinary(ExpressionType.AndAlso,
-                        CreateMetadataContainsKeyExpression(parameter, CompositionConstants.ExportTypeIdentityMetadataName),
-                        CreateMetadataValueEqualsExpression(parameter, requiredTypeIdentity, CompositionConstants.ExportTypeIdentityMetadataName));
-        }
-
-        private static Expression CreateMetadataContainsKeyExpression(ParameterExpression parameter, string constantKey)
-        {
-            Assumes.NotNull(parameter, constantKey);
-
-            // definition.Metadata.ContainsKey(constantKey)
-            return  Expression.Call(
-                        Expression.Property(parameter, ConstraintServices._exportDefinitionMetadataProperty),
-                        ConstraintServices._metadataContainsKeyMethod,
-                        Expression.Constant(constantKey));
-        }
-
-        private static Expression CreateMetadataOfTypeExpression(ParameterExpression parameter, string constantKey, Type constantType)
-        {
-            Assumes.NotNull(parameter, constantKey);
-            Assumes.NotNull(parameter, constantType);
-
-            // constantType.IsInstanceOfType(definition.Metadata[constantKey])
-            return Expression.Call(
-                            Expression.Constant(constantType, typeof(Type)),
-                            ConstraintServices._typeIsInstanceOfTypeMethod,
-                            Expression.Call(
-                                Expression.Property(parameter, ConstraintServices._exportDefinitionMetadataProperty),
-                                ConstraintServices._metadataItemMethod,
-                                Expression.Constant(constantKey))
-                            );
-        }
-
-        private static Expression CreateMetadataValueEqualsExpression(ParameterExpression parameter, object constantValue, string metadataName)
-        {
-            Assumes.NotNull(parameter, constantValue);
-
-            // constantValue.Equals(definition.Metadata[CompositionServices.PartCreationPolicyMetadataName])
-            return  Expression.Call(
-                        Expression.Constant(constantValue),
-                        ConstraintServices._metadataEqualsMethod,
-                        Expression.Call(
-                            Expression.Property(parameter, ConstraintServices._exportDefinitionMetadataProperty),
-                            ConstraintServices._metadataItemMethod,
-                            Expression.Constant(metadataName)));
-        }
-
-        public static Expression<Func<ExportDefinition, bool>> CreatePartCreatorConstraint(Expression<Func<ExportDefinition, bool>> baseConstraint, ImportDefinition productImportDefinition)
-        {
-            ParameterExpression exportDefinitionParameter = baseConstraint.Parameters[0];
-
-            // exportDefinition.Metadata
-            Expression metadataExpression = Expression.Property(exportDefinitionParameter, ConstraintServices._exportDefinitionMetadataProperty);
-
-            // exportDefinition.Metadata.ContainsKey("ProductDefinition")
-            Expression containsProductExpression = Expression.Call(
-                metadataExpression,
-                ConstraintServices._metadataContainsKeyMethod,
-                Expression.Constant(CompositionConstants.ProductDefinitionMetadataName));
-
-            // exportDefinition.Metadata["ProductDefinition"]
-            Expression productExportDefinitionExpression = Expression.Call(
-                    metadataExpression,
-                    ConstraintServices._metadataItemMethod,
-                    Expression.Constant(CompositionConstants.ProductDefinitionMetadataName));
-
-            // ProductImportDefinition.Contraint((ExportDefinition)exportDefinition.Metadata["ProductDefinition"])
-            Expression productMatchExpression =
-                Expression.Invoke(productImportDefinition.Constraint,
-                    Expression.Convert(productExportDefinitionExpression, typeof(ExportDefinition)));
-
-            // baseContraint(exportDefinition) &&
-            // exportDefinition.Metadata.ContainsKey("ProductDefinition") &&
-            // ProductImportDefinition.Contraint((ExportDefinition)exportDefinition.Metadata["ProductDefinition"])
-            Expression<Func<ExportDefinition, bool>> constraint =
-                 Expression.Lambda<Func<ExportDefinition, bool>>(
-                    Expression.AndAlso(
-                        baseConstraint.Body,
-                        Expression.AndAlso(
-                           containsProductExpression,
-                           productMatchExpression)),
-                    exportDefinitionParameter);
-
-            return constraint;
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ContractNameServices.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ContractNameServices.cs
deleted file mode 100644
index 603f6c9..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ContractNameServices.cs
+++ /dev/null
@@ -1,310 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.Globalization;
-using System.Reflection;
-using System.Text;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition
-{
-    internal static class ContractNameServices
-    {
-        const char NamespaceSeparator = '.';
-        const char ArrayOpeningBracket = '[';
-        const char ArrayClosingBracket = ']';
-        const char ArraySeparator = ',';
-        const char PointerSymbol = '*';
-        const char ReferenceSymbol = '&';
-        const char GenericArityBackQuote = '`';
-        const char NestedClassSeparator = '+';
-        const char ContractNameGenericOpeningBracket = '(';
-        const char ContractNameGenericClosingBracket = ')';
-        const char ContractNameGenericArgumentSeparator = ',';
-        const char CustomModifiersSeparator = ' ';
-
-        [ThreadStatic]
-        private static Dictionary<Type, string> typeIdentityCache;
-
-        private static Dictionary<Type, string> TypeIdentityCache
-        {
-            get
-            {
-                return typeIdentityCache = typeIdentityCache ?? new Dictionary<Type, string>();
-            }
-        }
-
-        internal static string GetTypeIdentity(Type type)
-        {
-            Assumes.NotNull(type);
-            string typeIdentity = null;
-
-            if (!TypeIdentityCache.TryGetValue(type, out typeIdentity))
-            {
-                if (!type.IsAbstract && type.IsSubclassOf(typeof(Delegate)))
-                {
-                    MethodInfo method = type.GetMethod("Invoke");
-                    typeIdentity = ContractNameServices.GetTypeIdentityFromMethod(method);
-                }
-                else
-                {
-                    StringBuilder typeIdentityStringBuilder = new StringBuilder();
-                    WriteTypeWithNamespace(typeIdentityStringBuilder, type);
-                    typeIdentity = typeIdentityStringBuilder.ToString();
-                }
-
-                TypeIdentityCache.Add(type, typeIdentity);
-            }
-
-            return typeIdentity;
-        }
-
-        internal static string GetTypeIdentityFromMethod(MethodInfo method)
-        {
-            StringBuilder methodNameStringBuilder = new StringBuilder();
-
-            WriteTypeWithNamespace(methodNameStringBuilder, method.ReturnType);
-
-            methodNameStringBuilder.Append("(");
-
-            ParameterInfo[] parameters = method.GetParameters();
-
-            for (int i = 0; i < parameters.Length; i++)
-            {
-                if (i != 0)
-                {
-                    methodNameStringBuilder.Append(",");
-                }
-
-                WriteTypeWithNamespace(methodNameStringBuilder, parameters[i].ParameterType);
-            }
-            methodNameStringBuilder.Append(")");
-
-            return methodNameStringBuilder.ToString();
-        }
-       
-        private static void WriteTypeWithNamespace(StringBuilder typeName, Type type)
-        {
-            // Writes type with namesapce
-            if (!string.IsNullOrEmpty(type.Namespace))
-            {
-                typeName.Append(type.Namespace);
-                typeName.Append(NamespaceSeparator);
-            }
-            WriteType(typeName, type);
-        }
-
-        private static void WriteType(StringBuilder typeName, Type type)
-        {
-            // Writes type name
-            if (type.IsGenericType)
-            {
-                //
-                // Reflection format stores all the generic arguments (including the ones for parent types) on the leaf type.
-                // These arguments are placed in a queue and are written out based on generic arity (`X) of each type
-                //
-                Queue<Type> genericTypeArguments = new Queue<Type>(type.GetGenericArguments());
-                WriteGenericType(typeName, type, type.IsGenericTypeDefinition, genericTypeArguments);
-                Assumes.IsTrue(genericTypeArguments.Count == 0, "Expecting genericTypeArguments queue to be empty.");
-            }
-            else
-            {
-                WriteNonGenericType(typeName, type);
-            }
-        }
-
-        private static void WriteNonGenericType(StringBuilder typeName, Type type)
-        {
-            //
-            // Writes non-generic type
-            //
-            if (type.DeclaringType != null)
-            {
-                WriteType(typeName, type.DeclaringType);
-                typeName.Append(NestedClassSeparator);
-            }
-            if (type.IsArray)
-            {
-                WriteArrayType(typeName, type);
-            }
-            else if (type.IsPointer)
-            {
-                WritePointerType(typeName, type);
-            }
-            else if (type.IsByRef)
-            {
-                WriteByRefType(typeName, type);
-            }
-            else
-            {
-                typeName.Append(type.Name);
-            }
-        }
-
-        private static void WriteArrayType(StringBuilder typeName, Type type)
-        {
-            //
-            // Writes array type  e.g <TypeName>[]
-            // Note that jagged arrays are stored in reverse order
-            // e.g. C#: Int32[][,]  Reflection: Int32[,][]
-            // we are following C# order for arrays
-            //
-            Type rootElementType = FindArrayElementType(type);
-            WriteType(typeName, rootElementType);
-            Type elementType = type;
-            do
-            {
-                WriteArrayTypeDimensions(typeName, elementType);
-            }
-            while ((elementType = elementType.GetElementType()) != null && elementType.IsArray);
-        }
-
-        private static void WritePointerType(StringBuilder typeName, Type type)
-        {
-            //
-            // Writes pointer type  e.g <TypeName>*
-            //
-            WriteType(typeName, type.GetElementType());
-            typeName.Append(PointerSymbol);
-        }
-
-        private static void WriteByRefType(StringBuilder typeName, Type type)
-        {
-            //
-            // Writes by ref type e.g <TypeName>&
-            //
-            WriteType(typeName, type.GetElementType());
-            typeName.Append(ReferenceSymbol);
-        }
-
-        private static void WriteArrayTypeDimensions(StringBuilder typeName, Type type)
-        {
-            //
-            // Writes array type dimensions e.g. [,,]
-            //
-            typeName.Append(ArrayOpeningBracket);
-            int rank = type.GetArrayRank();
-            for (int i = 1; i < rank; i++)
-            {
-                typeName.Append(ArraySeparator);
-            }
-            typeName.Append(ArrayClosingBracket);
-        }
-
-        private static void WriteGenericType(StringBuilder typeName, Type type, bool isDefinition, Queue<Type> genericTypeArguments)
-        {
-            //
-            // Writes generic type including parent generic types
-            // genericTypeArguments contains type arguments obtained from the most nested type
-            // isDefinition parameter indicates if we are dealing with generic type definition
-            //
-            if (type.DeclaringType != null)
-            {
-                if (type.DeclaringType.IsGenericType)
-                {
-                    WriteGenericType(typeName, type.DeclaringType, isDefinition, genericTypeArguments);
-                }
-                else
-                {
-                    WriteNonGenericType(typeName, type.DeclaringType);
-                }
-                typeName.Append(NestedClassSeparator);
-            }
-            WriteGenericTypeName(typeName, type, isDefinition, genericTypeArguments);
-        }
-
-        private static void WriteGenericTypeName(StringBuilder typeName, Type type, bool isDefinition, Queue<Type> genericTypeArguments)
-        {
-            //
-            // Writes generic type name, e.g. generic name and generic arguments
-            //
-            Assumes.IsTrue(type.IsGenericType, "Expecting type to be a generic type");
-            int genericArity = GetGenericArity(type);
-            string genericTypeName = FindGenericTypeName(type.GetGenericTypeDefinition().Name);
-            typeName.Append(genericTypeName);
-            WriteTypeArgumentsString(typeName, genericArity, isDefinition, genericTypeArguments);
-        }
-
-        private static void WriteTypeArgumentsString(StringBuilder typeName, int argumentsCount, bool isDefinition, Queue<Type> genericTypeArguments)
-        {
-            //
-            // Writes type arguments in brackets, e.g. (<contract_name1>, <contract_name2>, ...)
-            //
-            if (argumentsCount == 0)
-            {
-                return;
-            }
-            typeName.Append(ContractNameGenericOpeningBracket);
-            for (int i = 0; i < argumentsCount; i++)
-            {
-                Assumes.IsTrue(genericTypeArguments.Count > 0, "Expecting genericTypeArguments to contain at least one Type");
-                Type genericTypeArgument = genericTypeArguments.Dequeue();
-                if (!isDefinition)
-                {
-                    WriteTypeWithNamespace(typeName, genericTypeArgument);
-                }
-                typeName.Append(ContractNameGenericArgumentSeparator);
-            }
-            typeName.Remove(typeName.Length - 1, 1);
-            typeName.Append(ContractNameGenericClosingBracket);
-        }
-
-        //internal for testability
-        internal static void WriteCustomModifiers(StringBuilder typeName, string customKeyword, Type[] types)
-        {
-            //
-            // Writes custom modifiers in the format: customKeyword(<contract_name>,<contract_name>,...)
-            //
-            typeName.Append(CustomModifiersSeparator);
-            typeName.Append(customKeyword);
-            Queue<Type> typeArguments = new Queue<Type>(types);
-            WriteTypeArgumentsString(typeName, types.Length, false, typeArguments);
-            Assumes.IsTrue(typeArguments.Count == 0, "Expecting genericTypeArguments queue to be empty.");
-        }
-
-        private static Type FindArrayElementType(Type type)
-        {
-            //
-            // Gets array element type by calling GetElementType() until the element is not an array
-            //
-            Type elementType = type;
-            while ((elementType = elementType.GetElementType()) != null && elementType.IsArray) { }
-            return elementType;
-        }
-
-        private static string FindGenericTypeName(string genericName)
-        {
-            //
-            // Gets generic type name omitting the backquote and arity indicator
-            // List`1 -> List
-            // Arity indicator is returned as output parameter
-            //
-            int indexOfBackQuote = genericName.IndexOf(GenericArityBackQuote);
-            if (indexOfBackQuote > -1)
-            {
-                genericName = genericName.Substring(0, indexOfBackQuote);
-            }
-            return genericName;
-        }
-
-        private static int GetGenericArity(Type type)
-        {
-            if (type.DeclaringType == null)
-            {
-                return type.GetGenericArguments().Length;
-            }
-
-            // The generic arity is equal to the difference in the number of generic arguments
-            // from the type and the declaring type.
-
-            int delclaringTypeGenericArguments = type.DeclaringType.GetGenericArguments().Length;
-            int typeGenericArguments = type.GetGenericArguments().Length;
-
-            Assumes.IsTrue(typeGenericArguments >= delclaringTypeGenericArguments);
-
-            return typeGenericArguments - delclaringTypeGenericArguments;
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/CreationPolicy.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/CreationPolicy.cs
deleted file mode 100644
index 38277c4..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/CreationPolicy.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-
-namespace System.ComponentModel.Composition
-{
-    /// <summary>
-    /// Option placed on a type that controls when the <see cref="CompositionContainer"/> creates 
-    /// a new instance of a <see cref="ComposablePart"/>.
-    /// </summary>
-    public enum CreationPolicy : int
-    {
-        /// <summary>
-        /// Let the <see cref="CompositionContainer"/> choose the most appropriate <see cref="CreationPolicy"/>
-        /// for the part given the current context. This is the default <see cref="CreationPolicy"/>, with
-        /// the <see cref="CompositionContainer"/> choosing <see cref="CreationPolicy.Shared"/> by default
-        /// unless the <see cref="ComposablePart"/> or importer requests <see cref="CreationPolicy.NonShared"/>.
-        /// </summary>
-        Any = 0,
-
-        /// <summary>
-        /// A single shared instance of the associated <see cref="ComposablePart"/> will be created
-        /// by the <see cref="CompositionContainer"/> and shared by all requestors.
-        /// </summary>
-        Shared = 1,
-
-        /// <summary>
-        /// A new non-shared instance of the associated <see cref="ComposablePart"/> will be created
-        /// by the <see cref="CompositionContainer"/> for every requestor.
-        /// </summary>
-        NonShared = 2,
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Diagnostics/CompositionTrace.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Diagnostics/CompositionTrace.cs
deleted file mode 100644
index b6bdec7..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Diagnostics/CompositionTrace.cs
+++ /dev/null
@@ -1,106 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-using System.ComponentModel.Composition.ReflectionModel;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.Diagnostics
-{
-    internal static class CompositionTrace
-    {
-        internal static void PartDefinitionResurrected(ComposablePartDefinition definition)
-        {
-            Assumes.NotNull(definition);
-
-            if (CompositionTraceSource.CanWriteInformation)
-            {
-                CompositionTraceSource.WriteInformation(CompositionTraceId.Rejection_DefinitionResurrected, 
-                                                        Strings.CompositionTrace_Rejection_DefinitionResurrected, 
-                                                        definition.GetDisplayName());
-            }
-        }
-
-        internal static void PartDefinitionRejected(ComposablePartDefinition definition, ChangeRejectedException exception)
-        {
-            Assumes.NotNull(definition, exception);
-
-            if (CompositionTraceSource.CanWriteWarning)
-            {
-                CompositionTraceSource.WriteWarning(CompositionTraceId.Rejection_DefinitionRejected, 
-                                                    Strings.CompositionTrace_Rejection_DefinitionRejected, 
-                                                    definition.GetDisplayName(), 
-                                                    exception.Message);
-            }
-        }
-
-#if !SILVERLIGHT
-
-        internal static void AssemblyLoadFailed(DirectoryCatalog catalog, string fileName, Exception exception)
-        {
-            Assumes.NotNull(catalog, exception);
-            Assumes.NotNullOrEmpty(fileName);            
-
-            if (CompositionTraceSource.CanWriteWarning)
-            {
-                CompositionTraceSource.WriteWarning(CompositionTraceId.Discovery_AssemblyLoadFailed, 
-                                                    Strings.CompositionTrace_Discovery_AssemblyLoadFailed, 
-                                                    catalog.GetDisplayName(),
-                                                    fileName, 
-                                                    exception.Message);
-            }
-        }
-
-#endif
-
-        internal static void DefinitionMarkedWithPartNotDiscoverableAttribute(Type type)
-        {
-            Assumes.NotNull(type);
-
-            if (CompositionTraceSource.CanWriteInformation)
-            {
-                CompositionTraceSource.WriteInformation(CompositionTraceId.Discovery_DefinitionMarkedWithPartNotDiscoverableAttribute, 
-                                                        Strings.CompositionTrace_Discovery_DefinitionMarkedWithPartNotDiscoverableAttribute, 
-                                                        type.GetDisplayName());
-            }
-        }
-
-        internal static void DefinitionContainsGenericsParameters(Type type)
-        {
-            Assumes.NotNull(type);
-
-            if (CompositionTraceSource.CanWriteInformation)
-            {
-                CompositionTraceSource.WriteInformation(CompositionTraceId.Discovery_DefinitionContainsGenericParameters,
-                                                        Strings.CompositionTrace_Discovery_DefinitionContainsGenericParameters,
-                                                        type.GetDisplayName());
-            }
-        }
-
-        internal static void DefinitionContainsNoExports(Type type)
-        {
-            Assumes.NotNull(type);
-
-            if (CompositionTraceSource.CanWriteInformation)
-            {
-                CompositionTraceSource.WriteInformation(CompositionTraceId.Discovery_DefinitionContainsNoExports,
-                                                        Strings.CompositionTrace_Discovery_DefinitionContainsNoExports,
-                                                        type.GetDisplayName());
-            }
-        }
-
-        internal static void MemberMarkedWithMultipleImportAndImportMany(ReflectionItem item)
-        {
-            Assumes.NotNull(item);
-
-            if (CompositionTraceSource.CanWriteError)
-            {
-                CompositionTraceSource.WriteError(CompositionTraceId.Discovery_MemberMarkedWithMultipleImportAndImportMany,
-                                                  Strings.CompositionTrace_Discovery_MemberMarkedWithMultipleImportAndImportMany,
-                                                  item.GetDisplayName());
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Diagnostics/CompositionTraceId.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Diagnostics/CompositionTraceId.cs
deleted file mode 100644
index 53e9f85..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Diagnostics/CompositionTraceId.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-
-namespace System.ComponentModel.Composition.Diagnostics
-{
-    // NOTE: Do not change the trace ids of values that have already shipped, 
-    // these leak out to TraceListerners which could take a dependency on them.
-    // This enum is a ushort deliberately, the maximum value of a trace id is 65535.
-    internal enum CompositionTraceId : ushort
-    {
-        // Rejection
-
-        Rejection_DefinitionRejected = 1,
-        Rejection_DefinitionResurrected = 2,
-
-        Discovery_AssemblyLoadFailed = 3,
-        Discovery_DefinitionMarkedWithPartNotDiscoverableAttribute = 4,
-        Discovery_DefinitionContainsGenericParameters = 5,
-        Discovery_DefinitionContainsNoExports = 6,
-        Discovery_MemberMarkedWithMultipleImportAndImportMany = 7,
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Diagnostics/CompositionTraceSource.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Diagnostics/CompositionTraceSource.cs
deleted file mode 100644
index d728709..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Diagnostics/CompositionTraceSource.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.Diagnostics
-{
-    internal static class CompositionTraceSource
-    {
-#if SILVERLIGHT
-        private static readonly SilverlightTraceWriter Source = new SilverlightTraceWriter();
-#else
-        private static readonly TraceSourceTraceWriter Source = new TraceSourceTraceWriter();
-#endif
-
-        public static bool CanWriteInformation
-        {
-            get { return Source.CanWriteInformation; }
-        }
-
-        public static bool CanWriteWarning
-        {
-            get { return Source.CanWriteWarning; }
-        }
-
-        public static bool CanWriteError
-        {
-            get { return Source.CanWriteError; }
-        }
-
-        public static void WriteInformation(CompositionTraceId traceId, string format, params object[] arguments)
-        {
-            EnsureEnabled(CanWriteInformation);
-
-            Source.WriteInformation(traceId, format, arguments);
-        }
-
-        public static void WriteWarning(CompositionTraceId traceId, string format, params object[] arguments)
-        {
-            EnsureEnabled(CanWriteWarning);
-
-            Source.WriteWarning(traceId, format, arguments);
-        }
-
-        public static void WriteError(CompositionTraceId traceId, string format, params object[] arguments)
-        {
-            EnsureEnabled(CanWriteError);
-
-            Source.WriteError(traceId, format, arguments);
-        }
-
-        private static void EnsureEnabled(bool condition)
-        {
-            Assumes.IsTrue(condition, "To avoid unnecessary work when a trace level has not been enabled, check CanWriteXXX before calling this method.");
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Diagnostics/SilverlightTraceWriter.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Diagnostics/SilverlightTraceWriter.cs
deleted file mode 100644
index 68828d9..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Diagnostics/SilverlightTraceWriter.cs
+++ /dev/null
@@ -1,90 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-#if SILVERLIGHT
-
-using System;
-using System.Diagnostics;
-using System.Globalization;
-using System.Text;
-
-namespace System.ComponentModel.Composition.Diagnostics
-{
-    internal sealed class SilverlightTraceWriter : TraceWriter
-    {
-        private static readonly string SourceName = "System.ComponentModel.Composition";
-
-        public override bool CanWriteInformation
-        {
-            get { return false; }
-        }
-
-        public override bool CanWriteWarning
-        {
-            get { return Debugger.IsLogging(); }
-        }
-
-        public override bool CanWriteError
-        {
-            get { return Debugger.IsLogging(); }
-        }
-
-        public override void WriteInformation(CompositionTraceId traceId, string format, params object[] arguments)
-        {
-            WriteEvent(TraceEventType.Information, traceId, format, arguments);
-        }
-
-        public override void WriteWarning(CompositionTraceId traceId, string format, params object[] arguments)
-        {
-            WriteEvent(TraceEventType.Warning, traceId, format, arguments);
-        }
-
-        public override void WriteError(CompositionTraceId traceId, string format, params object[] arguments)
-        {
-            WriteEvent(TraceEventType.Error, traceId, format, arguments);
-        }
-
-        private static void WriteEvent(TraceEventType eventType, CompositionTraceId traceId, string format, params object[] arguments)
-        {
-            if (!Debugger.IsLogging())
-            {
-                return;
-            }
-
-            string logMessage = CreateLogMessage(eventType, traceId, format, arguments);
-            Debugger.Log(0, null, logMessage);
-        }
-
-        internal static string CreateLogMessage(TraceEventType eventType, CompositionTraceId traceId, string format, params object[] arguments)
-        {
-            StringBuilder messageBuilder = new StringBuilder();
-
-            // Format taken from TraceListener.TraceEvent in full framework
-            messageBuilder.AppendFormat(CultureInfo.InvariantCulture, "{0} {1}: {2} : ", 
-                SourceName, eventType.ToString(), (int)traceId);
-
-            if (arguments == null)
-            {
-                messageBuilder.Append(format);
-            }
-            else
-            {
-                messageBuilder.AppendFormat(CultureInfo.InvariantCulture, format, arguments);
-            }
-
-            messageBuilder.AppendLine();
-
-            return messageBuilder.ToString();
-        }
-
-        // Copied from TraceEventType in full framework
-        internal enum TraceEventType
-        {
-            Error = 2,
-            Warning = 4,
-            Information = 8,
-        }
-    }
-}
-
-#endif
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Diagnostics/TraceSourceTraceWriter.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Diagnostics/TraceSourceTraceWriter.cs
deleted file mode 100644
index 1282002..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Diagnostics/TraceSourceTraceWriter.cs
+++ /dev/null
@@ -1,54 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-#if !SILVERLIGHT
-
-using System;
-using System.Diagnostics;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.Diagnostics
-{
-    // Represents a trace writer that writes to a System.Diagnostics TraceSource
-    internal sealed class TraceSourceTraceWriter : TraceWriter
-    {
-        internal static readonly TraceSource Source = new TraceSource("System.ComponentModel.Composition", SourceLevels.Warning);
-
-        public override bool CanWriteInformation
-        {
-            get { return Source.Switch.ShouldTrace(TraceEventType.Information); }
-        }
-
-        public override bool CanWriteWarning
-        {
-            get { return Source.Switch.ShouldTrace(TraceEventType.Warning); }
-        }
-
-        public override bool CanWriteError
-        {
-            get { return Source.Switch.ShouldTrace(TraceEventType.Error); }
-        }
-
-        public override void WriteInformation(CompositionTraceId traceId, string format, params object[] arguments)
-        {
-            WriteEvent(TraceEventType.Information, traceId, format, arguments);
-        }
-
-        public override void WriteWarning(CompositionTraceId traceId, string format, params object[] arguments)
-        {
-            WriteEvent(TraceEventType.Warning, traceId, format, arguments);
-        }
-
-        public override void WriteError(CompositionTraceId traceId, string format, params object[] arguments)
-        {
-            WriteEvent(TraceEventType.Error, traceId, format, arguments);
-        }
-
-        private static void WriteEvent(TraceEventType eventType, CompositionTraceId traceId, string format, params object[] arguments)
-        {
-            Source.TraceEvent(eventType, (int)traceId, format, arguments);
-        }
-    }
-}
-
-#endif
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Diagnostics/TraceWriter.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Diagnostics/TraceWriter.cs
deleted file mode 100644
index 4be992a..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Diagnostics/TraceWriter.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-
-using System;
-
-namespace System.ComponentModel.Composition.Diagnostics
-{
-    internal abstract class TraceWriter
-    {
-        public abstract bool CanWriteInformation
-        {
-            get;
-        }
-
-        public abstract bool CanWriteWarning
-        {
-            get;
-        }
-
-        public abstract bool CanWriteError
-        {
-            get;
-        }
-
-        public abstract void WriteInformation(CompositionTraceId traceId, string format, params object[] arguments);
-
-        public abstract void WriteWarning(CompositionTraceId traceId, string format, params object[] arguments);
-
-        public abstract void WriteError(CompositionTraceId traceId, string format, params object[] arguments);
-    }
-}
-
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ErrorBuilder.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ErrorBuilder.cs
deleted file mode 100644
index 83eb9d6..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ErrorBuilder.cs
+++ /dev/null
@@ -1,102 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition
-{
-    internal static class ErrorBuilder
-    {
-        public static CompositionError PreventedByExistingImport(ComposablePart part, ImportDefinition import)
-        {
-            return CompositionError.Create(
-                CompositionErrorId.ImportEngine_PreventedByExistingImport,
-                Strings.ImportEngine_PreventedByExistingImport,
-                import.ToElement().DisplayName,
-                part.ToElement().DisplayName);
-        }
-
-        public static CompositionError InvalidStateForRecompposition(ComposablePart part)
-        {
-            return CompositionError.Create(
-                CompositionErrorId.ImportEngine_InvalidStateForRecomposition,
-                Strings.ImportEngine_InvalidStateForRecomposition,
-                part.ToElement().DisplayName);
-        }
-
-        public static CompositionError ComposeTookTooManyIterations(int maximumNumberOfCompositionIterations)
-        {
-            return CompositionError.Create(
-                CompositionErrorId.ImportEngine_ComposeTookTooManyIterations,
-                Strings.ImportEngine_ComposeTookTooManyIterations,
-                maximumNumberOfCompositionIterations);
-        }
-
-        public static CompositionError CreateImportCardinalityMismatch(ImportCardinalityMismatchException exception, ImportDefinition definition)
-        {
-            Assumes.NotNull(exception, definition);
-
-            return CompositionError.Create(
-                CompositionErrorId.ImportEngine_ImportCardinalityMismatch, 
-                exception.Message,
-                definition.ToElement(), 
-                (Exception)null);
-        }
-
-        public static CompositionError CreatePartCannotActivate(ComposablePart part, Exception innerException)
-        {
-            Assumes.NotNull(part, innerException);
-
-            ICompositionElement element = part.ToElement();
-            return CompositionError.Create(
-                CompositionErrorId.ImportEngine_PartCannotActivate,
-                element,
-                innerException,
-                Strings.ImportEngine_PartCannotActivate,
-                element.DisplayName);
-        }
-
-        public static CompositionError CreatePartCannotSetImport(ComposablePart part, ImportDefinition definition, Exception innerException)
-        {
-            Assumes.NotNull(part, definition, innerException);
-
-            ICompositionElement element = definition.ToElement();
-            return CompositionError.Create(
-                CompositionErrorId.ImportEngine_PartCannotSetImport,
-                element,
-                innerException,
-                Strings.ImportEngine_PartCannotSetImport,
-                element.DisplayName,
-                part.ToElement().DisplayName);
-        }
-
-        public static CompositionError CreateCannotGetExportedValue(ComposablePart part, ExportDefinition definition, Exception innerException)
-        {
-            Assumes.NotNull(part, definition, innerException);
-
-            ICompositionElement element = definition.ToElement();
-            return CompositionError.Create(
-                CompositionErrorId.ImportEngine_PartCannotGetExportedValue,
-                element,
-                innerException,
-                Strings.ImportEngine_PartCannotGetExportedValue,
-                element.DisplayName,
-                part.ToElement().DisplayName);
-        }
-
-        public static CompositionError CreatePartCycle(ComposablePart part)
-        {
-            Assumes.NotNull(part);
-
-            ICompositionElement element = part.ToElement();
-            return CompositionError.Create(
-                CompositionErrorId.ImportEngine_PartCycle,
-                element,
-                Strings.ImportEngine_PartCycle,
-                element.DisplayName);
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ExceptionBuilder.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ExceptionBuilder.cs
deleted file mode 100644
index c790e6c..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ExceptionBuilder.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-using System.Globalization;
-using System.Reflection;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition
-{
-    internal static class ExceptionBuilder
-    {
-        public static Exception CreateDiscoveryException(string messageFormat, params string[] arguments)
-        {
-            // DiscoveryError (Dev10:602872): This should go through the discovery error reporting when 
-            // we add a way to report discovery errors properly.
-            return new InvalidOperationException(Format(messageFormat, arguments));
-        }
-
-        public static ArgumentException CreateContainsNullElement(string parameterName)
-        {
-            Assumes.NotNull(parameterName);
-
-            string message = Format(Strings.Argument_NullElement, parameterName);
-
-            return new ArgumentException(message, parameterName);
-        }
-
-        public static ObjectDisposedException CreateObjectDisposed(object instance)
-        {
-            Assumes.NotNull(instance);
-
-            return new ObjectDisposedException(instance.GetType().ToString());
-        }
-
-        public static NotImplementedException CreateNotOverriddenByDerived(string memberName)
-        {
-            Assumes.NotNullOrEmpty(memberName);
-
-            string message = Format(Strings.NotImplemented_NotOverriddenByDerived, memberName);
-
-            return new NotImplementedException(message);
-        }
-
-        public static ArgumentException CreateExportDefinitionNotOnThisComposablePart(string parameterName)
-        {
-            Assumes.NotNullOrEmpty(parameterName);
-
-            string message = Format(Strings.ExportDefinitionNotOnThisComposablePart, parameterName);
-
-            return new ArgumentException(message, parameterName);
-        }
-
-        public static ArgumentException CreateImportDefinitionNotOnThisComposablePart(string parameterName)
-        {
-            Assumes.NotNullOrEmpty(parameterName);
-
-            string message = Format(Strings.ImportDefinitionNotOnThisComposablePart, parameterName);
-
-            return new ArgumentException(message, parameterName);
-        }
-
-        public static CompositionException CreateCannotGetExportedValue(ComposablePart part, ExportDefinition definition, Exception innerException)
-        {
-            Assumes.NotNull(part, definition, innerException);
-
-            return new CompositionException(
-                ErrorBuilder.CreateCannotGetExportedValue(part, definition, innerException));
-        }
-
-        private static string Format(string format, params string[] arguments)
-        {
-            return String.Format(CultureInfo.CurrentCulture, format, arguments);
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ExportAttribute.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ExportAttribute.cs
deleted file mode 100644
index ccd8813..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ExportAttribute.cs
+++ /dev/null
@@ -1,144 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Hosting;
-using System.Diagnostics.CodeAnalysis;
-
-namespace System.ComponentModel.Composition
-{
-    /// <summary>
-    ///     Specifies that a type, property, field, or method provides a particular export.
-    /// </summary>
-    [SuppressMessage("Microsoft.Performance", "CA1813:AvoidUnsealedAttributes")]
-    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Field | AttributeTargets.Property | AttributeTargets.Method, 
-                    AllowMultiple = true, Inherited = false)]
-    public class ExportAttribute : Attribute
-    {
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ExportAttribute"/> class, exporting the
-        ///     type or member marked with this attribute under the default contract name.
-        /// </summary>
-        /// <remarks>
-        ///     <para>
-        ///         The default contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on the type of the 
-        ///         property or field, or the type itself, that is marked with this attribute. 
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        public ExportAttribute()
-            : this((string)null, (Type)null)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ExportAttribute"/> class, exporting the
-        ///     type or member marked with this attribute under a contract name derived from the 
-        ///     specified type.
-        /// </summary>
-        /// <param name="contractType">
-        ///     A <see cref="Type"/> of which to derive the contract name to export the type or 
-        ///     member marked with this attribute, under; or <see langword="null"/> to use the 
-        ///     default contract name.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         The contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on 
-        ///         <paramref name="contractType"/>.
-        ///     </para>
-        ///     <para>
-        ///         The default contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on the type of the 
-        ///         property or field, or the type itself, that is marked with this attribute. 
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        public ExportAttribute(Type contractType) 
-            : this((string)null, contractType)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ExportAttribute"/> class, exporting the
-        ///     type or member marked with this attribute under the specified contract name.
-        /// </summary>
-        /// <param name="contractName">
-        ///      A <see cref="String"/> containing the contract name to export the type or member 
-        ///      marked with this attribute, under; or <see langword="null"/> or an empty string 
-        ///      ("") to use the default contract name.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         The default contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on the property or field 
-        ///         type, or the type itself that this is marked with this attribute. 
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        public ExportAttribute(string contractName)
-            : this(contractName, (Type)null)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ExportAttribute"/> class, exporting the
-        ///     type or member marked with this attribute under the specified contract name.
-        /// </summary>
-        /// <param name="contractName">
-        ///      A <see cref="String"/> containing the contract name to export the type or member 
-        ///      marked with this attribute, under; or <see langword="null"/> or an empty string 
-        ///      ("") to use the default contract name.
-        /// </param>
-        /// <param name="contractType">
-        ///     A <see cref="Type"/> of which to derive the contract name to export the type or 
-        ///     member marked with this attribute, under; or <see langword="null"/> to use the 
-        ///     default contract name.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         The default contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on the property or field 
-        ///         type, or the type itself that this is marked with this attribute. 
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        public ExportAttribute(string contractName, Type contractType)
-        {
-            this.ContractName = contractName;
-            this.ContractType = contractType;
-        }
-
-        /// <summary>
-        ///     Gets the contract name to export the type or member under.
-        /// </summary>
-        /// <value>
-        ///      A <see cref="String"/> containing the contract name to export the type or member 
-        ///      marked with this attribute, under. The default value is an empty string ("").
-        /// </value>
-        public string ContractName { get; private set; }
-
-        /// <summary>
-        ///     Get the contract type that is exported by the member that this attribute is attached to.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="Type"/> of the export that is be provided. The default value is
-        ///     <see langword="null"/> which means that the type will be obtained by looking at the type on
-        ///     the member that this export is attached to. 
-        /// </value>
-        public Type ContractType { get; private set; }
-    }
-}
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ExportCardinalityCheckResult.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ExportCardinalityCheckResult.cs
deleted file mode 100644
index 566726c..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ExportCardinalityCheckResult.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-
-namespace System.ComponentModel.Composition
-{
-    internal enum ExportCardinalityCheckResult : int
-    {
-        Match,
-        NoExports,
-        TooManyExports
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ExportMetadataAttribute.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ExportMetadataAttribute.cs
deleted file mode 100644
index 1663690..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ExportMetadataAttribute.cs
+++ /dev/null
@@ -1,65 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-
-namespace System.ComponentModel.Composition
-{
-    /// <summary>
-    ///     Specifies metadata for a type, property, field, or method marked with the
-    ///     <see cref="ExportAttribute"/>.
-    /// </summary>
-    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface | AttributeTargets.Property | AttributeTargets.Method | AttributeTargets.Field, 
-                    AllowMultiple = true, Inherited = false)]
-    public sealed class ExportMetadataAttribute : Attribute
-    {
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ExportMetadataAttribute"/> with the 
-        ///     specified name and metadata value.
-        /// </summary>
-        /// <param name="name">
-        ///     A <see cref="String"/> containing the name of the metadata value; or 
-        ///     <see langword="null"/> to set the <see cref="Name"/> property to an empty 
-        ///     string ("").
-        /// </param>
-        /// <param name="value">
-        ///     An <see cref="object"/> containing the metadata value. This can be 
-        ///     <see langword="null"/>.
-        /// </param>
-        public ExportMetadataAttribute(string name, object value)
-        {
-            this.Name = name ?? string.Empty;
-            this.Value = value;
-        }
-
-        /// <summary>
-        ///     Gets the name of the metadata value.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="String"/> containing the name of the metadata value.
-        /// </value>
-        public string Name
-        {
-            get;
-            private set;
-        }
-
-        /// <summary>
-        ///     Gets the metadata value.
-        /// </summary>
-        /// <value>
-        ///     An <see cref="object"/> containing the metadata value.
-        /// </value>
-        public object Value
-        {
-            get;
-            private set;
-        }
-
-        public bool IsMultiple
-        {
-            get;
-            set;
-        }
-    }
-}
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ExportServices.DisposableLazy.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ExportServices.DisposableLazy.cs
deleted file mode 100644
index be89978..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ExportServices.DisposableLazy.cs
+++ /dev/null
@@ -1,50 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Primitives;
-using System.Globalization;
-using Microsoft.Internal;
-using System.Collections.Generic;
-
-namespace System.ComponentModel.Composition
-{
-    partial class ExportServices
-    {
-        private sealed class DisposableLazy<T, TMetadataView> : Lazy<T, TMetadataView>, IDisposable
-        {
-            private IDisposable _disposable; 
-
-            public DisposableLazy(Func<T> valueFactory, TMetadataView metadataView, IDisposable disposable)
-                : base(valueFactory, metadataView)
-            {
-                Assumes.NotNull(disposable);
-
-                this._disposable = disposable;
-            }
-
-            void IDisposable.Dispose()
-            {
-                this._disposable.Dispose();
-            }
-        }
-
-        private sealed class DisposableLazy<T> : Lazy<T>, IDisposable
-        {
-            private IDisposable _disposable;
-
-            public DisposableLazy(Func<T> valueFactory, IDisposable disposable)
-                : base(valueFactory)
-            {
-                Assumes.NotNull(disposable);
-
-                this._disposable = disposable;
-            }
-
-            void IDisposable.Dispose()
-            {
-                this._disposable.Dispose();
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ExportServices.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ExportServices.cs
deleted file mode 100644
index 79c86a2..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ExportServices.cs
+++ /dev/null
@@ -1,249 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-using System.Diagnostics.CodeAnalysis;
-using System.Globalization;
-using System.Linq;
-using System.Reflection;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-
-namespace System.ComponentModel.Composition
-{
-    // Provides helpers for creating and dealing with Exports
-    internal static partial class ExportServices
-    {
-        private static readonly MethodInfo _createStronglyTypedLazyOfTM = typeof(ExportServices).GetMethod("CreateStronglyTypedLazyOfTM", BindingFlags.NonPublic | BindingFlags.Static);
-        private static readonly MethodInfo _createStronglyTypedLazyOfT = typeof(ExportServices).GetMethod("CreateStronglyTypedLazyOfT", BindingFlags.NonPublic | BindingFlags.Static);
-        private static readonly MethodInfo _createSemiStronglyTypedLazy = typeof(ExportServices).GetMethod("CreateSemiStronglyTypedLazy", BindingFlags.NonPublic | BindingFlags.Static);
-        private static readonly MethodInfo _createStronglyTypedExportFactoryOfT = typeof(ExportServices).GetMethod("CreateStronglyTypedExportFactoryOfT", BindingFlags.NonPublic | BindingFlags.Static);
-        private static readonly MethodInfo _createStronglyTypedExportFactoryOfTM = typeof(ExportServices).GetMethod("CreateStronglyTypedExportFactoryOfTM", BindingFlags.NonPublic | BindingFlags.Static);
-
-        internal static readonly Type DefaultMetadataViewType = typeof(IDictionary<string, object>);
-        internal static readonly Type DefaultExportedValueType = typeof(object);
-
-        internal static bool IsDefaultMetadataViewType(Type metadataViewType)
-        {
-            Assumes.NotNull(metadataViewType);
-
-            // Consider all types that IDictionary<string, object> derives from, such
-            // as ICollection<KeyValuePair<TKey, TValue>>, IEnumerable<KeyValuePair<TKey, TValue>> 
-            // and IEnumerable, as default metadata view
-            return metadataViewType.IsAssignableFrom(DefaultMetadataViewType);
-        }
-
-        internal static bool IsDictionaryConstructorViewType(Type metadataViewType)
-        {
-            Assumes.NotNull(metadataViewType);
-
-            // Does the view type have a constructor that is a Dictionary<string, object>
-            return metadataViewType.GetConstructor(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic,
-                                                    Type.DefaultBinder,
-                                                    new Type[] { typeof(IDictionary<string, object>) },
-                                                    new ParameterModifier[0]) != null;
-        }
-
-        internal static Func<Export, object> CreateStronglyTypedLazyFactory(Type exportType, Type metadataViewType)
-        {
-            MethodInfo genericMethod = null;
-            if (metadataViewType != null)
-            {
-                genericMethod = _createStronglyTypedLazyOfTM.MakeGenericMethod(exportType ?? ExportServices.DefaultExportedValueType, metadataViewType);
-            }
-            else
-            {
-                genericMethod = _createStronglyTypedLazyOfT.MakeGenericMethod(exportType ?? ExportServices.DefaultExportedValueType);
-            }
-            Assumes.NotNull(genericMethod);
-            return (Func<Export, object>)Delegate.CreateDelegate(typeof(Func<Export, object>), genericMethod);
-        }
-
-        internal static Func<Export, Lazy<object, object>> CreateSemiStronglyTypedLazyFactory(Type exportType, Type metadataViewType)
-        {
-            MethodInfo genericMethod = _createSemiStronglyTypedLazy.MakeGenericMethod(
-                exportType ?? ExportServices.DefaultExportedValueType,
-                metadataViewType ?? ExportServices.DefaultMetadataViewType);
-            Assumes.NotNull(genericMethod);
-            return (Func<Export, Lazy<object, object>>)Delegate.CreateDelegate(typeof(Func<Export, Lazy<object,object>>), genericMethod);
-        }
-
-        [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope")]
-        internal static Lazy<T, M> CreateStronglyTypedLazyOfTM<T, M>(Export export)
-        {
-            IDisposable disposable = export as IDisposable;
-            if (disposable != null)
-            {
-                return new DisposableLazy<T, M>(
-                    () => ExportServices.GetCastedExportedValue<T>(export),
-                    AttributedModelServices.GetMetadataView<M>(export.Metadata),
-                    disposable);
-            }
-            else
-            {
-                return new Lazy<T, M>(
-                    () => ExportServices.GetCastedExportedValue<T>(export),
-                    AttributedModelServices.GetMetadataView<M>(export.Metadata),
-                    false);
-            }
-        }
-
-        [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope")]
-        internal static Lazy<T> CreateStronglyTypedLazyOfT<T>(Export export)
-        {
-            IDisposable disposable = export as IDisposable;
-            if (disposable != null)
-            {
-                return new DisposableLazy<T>(
-                    () => ExportServices.GetCastedExportedValue<T>(export),
-                    disposable);
-            }
-            else
-            {
-                return new Lazy<T>(() => ExportServices.GetCastedExportedValue<T>(export), false);
-
-            }
-        }
-
-        [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope")]
-        internal static Lazy<object, object> CreateSemiStronglyTypedLazy<T, M>(Export export)
-        {
-            IDisposable disposable = export as IDisposable;
-            if (disposable != null)
-            {
-                return new DisposableLazy<object, object>(
-                    () => ExportServices.GetCastedExportedValue<T>(export),
-                    AttributedModelServices.GetMetadataView<M>(export.Metadata),
-                    disposable);
-            }
-            else
-            {
-                return new Lazy<object, object>(
-                    () => ExportServices.GetCastedExportedValue<T>(export),
-                    AttributedModelServices.GetMetadataView<M>(export.Metadata),
-                    false
-                    );
-            }
-        }
-
-        internal static Func<Export, object> CreateStronglyTypedExportFactoryFactory(Type exportType, Type metadataType, ConstructorInfo constructor)
-        {
-            MethodInfo genericMethod = null;
-            if (metadataType == null)
-            {
-                 genericMethod = _createStronglyTypedExportFactoryOfT.MakeGenericMethod(exportType);
-            }
-            else
-            {
-                genericMethod = _createStronglyTypedExportFactoryOfTM.MakeGenericMethod(exportType, metadataType);
-            }
-            
-            Assumes.NotNull(genericMethod);
-            Func<Export, ConstructorInfo, object> exportFactoryFactory = (Func<Export, ConstructorInfo, object>)Delegate.CreateDelegate(typeof(Func<Export, ConstructorInfo, object>), genericMethod);
-            return (e) => exportFactoryFactory.Invoke(e, constructor);
-        }
-
-        private static Tuple<T, Action> GetExportLifetimeContextFromExport<T>(Export export)
-        {
-            T exportedValue;
-            Action disposeAction;
-            IDisposable disposable = null;
-
-            CatalogExportProvider.PartCreatorExport partCreatorExport = export as CatalogExportProvider.PartCreatorExport;
-
-            if (partCreatorExport != null)
-            {
-                // PartCreatorExport is the more optimized route
-                Export exportProduct = partCreatorExport.CreateExportProduct();
-                exportedValue = GetCastedExportedValue<T>(exportProduct);
-                disposable = exportProduct as IDisposable;
-            }
-            else
-            {
-                // If it comes from somewhere else we walk through the ComposablePartDefinition
-                var factoryPartDefinition = GetCastedExportedValue<ComposablePartDefinition>(export);
-                var part = factoryPartDefinition.CreatePart();
-                var exportDef = factoryPartDefinition.ExportDefinitions.Single();
-
-                exportedValue = CastExportedValue<T>(part.ToElement(), part.GetExportedValue(exportDef));
-                disposable = part as IDisposable;
-            }
-
-            if (disposable != null)
-            {
-                disposeAction = () => disposable.Dispose();
-            }
-            else
-            {
-                disposeAction = () => { };
-            }
-
-            return new Tuple<T, Action>(exportedValue, disposeAction);
-        }
-
-        private static object CreateStronglyTypedExportFactoryOfT<T>(Export export, ConstructorInfo constructor)
-        {
-            Func<Tuple<T, Action>> exportLifetimeContextCreator = () => ExportServices.GetExportLifetimeContextFromExport<T>(export);
-            return constructor.Invoke(new object[] { exportLifetimeContextCreator });
-        }
-
-        private static object CreateStronglyTypedExportFactoryOfTM<T, M>(Export export, ConstructorInfo constructor)
-        {
-            Func<Tuple<T, Action>> exportLifetimeContextCreator = () => ExportServices.GetExportLifetimeContextFromExport<T>(export);
-            return constructor.Invoke(new object[] { exportLifetimeContextCreator, AttributedModelServices.GetMetadataView<M>(export.Metadata) });
-        }
-
-        internal static T GetCastedExportedValue<T>(Export export)
-        {
-            return CastExportedValue<T>(export.ToElement(), export.Value);
-        }
-
-        internal static T CastExportedValue<T>(ICompositionElement element, object exportedValue)
-        {
-            object typedExportedValue = null;
-
-            bool succeeded = ContractServices.TryCast(typeof(T), exportedValue, out typedExportedValue);
-            if (!succeeded)
-            {
-                throw new CompositionContractMismatchException(string.Format(CultureInfo.CurrentCulture,
-                    Strings.ContractMismatch_ExportedValueCannotBeCastToT,
-                    element.DisplayName,
-                    typeof(T)));
-            }
-
-            return (T)typedExportedValue;
-        }
-        
-        internal static ExportCardinalityCheckResult CheckCardinality(ImportDefinition definition, IEnumerable<Export> exports)
-        {
-            EnumerableCardinality actualCardinality = exports.GetCardinality();
-
-            switch (actualCardinality)
-            {
-                case EnumerableCardinality.Zero:
-                    if (definition.Cardinality == ImportCardinality.ExactlyOne)
-                    {
-                        return ExportCardinalityCheckResult.NoExports;
-                    }
-                    break;
-
-                case EnumerableCardinality.TwoOrMore:
-                    if (definition.Cardinality.IsAtMostOne())
-                    {
-                        return ExportCardinalityCheckResult.TooManyExports;
-                    }
-                    break;
-
-                default:
-                    Assumes.IsTrue(actualCardinality == EnumerableCardinality.One);
-                    break;
-
-            }
-
-            return ExportCardinalityCheckResult.Match;
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/AggregateCatalog.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/AggregateCatalog.cs
deleted file mode 100644
index 0cbf78a..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/AggregateCatalog.cs
+++ /dev/null
@@ -1,230 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Primitives;
-using System.Globalization;
-using System.Linq;
-using System.Linq.Expressions;
-using System.Threading;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    /// <summary>
-    ///     A mutable collection of <see cref="ComposablePartCatalog"/>s.  
-    /// </summary>
-    /// <remarks>
-    ///     This type is thread safe.
-    /// </remarks>
-    public class AggregateCatalog : ComposablePartCatalog, INotifyComposablePartCatalogChanged
-    {
-        private ComposablePartCatalogCollection _catalogs = null;
-        private volatile int _isDisposed = 0;
-        private IQueryable<ComposablePartDefinition> _partsQuery;
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="AggregateCatalog"/> class.
-        /// </summary>
-        public AggregateCatalog()
-            : this((IEnumerable<ComposablePartCatalog>)null)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="AggregateCatalog"/> class 
-        ///     with the specified catalogs.
-        /// </summary>
-        /// <param name="catalogs">
-        ///     An <see cref="Array"/> of <see cref="ComposablePartCatalog"/> objects to add to the 
-        ///     <see cref="AggregateCatalog"/>.
-        /// </param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="catalogs"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="ArgumentException">
-        ///     <paramref name="catalogs"/> contains an element that is <see langword="null"/>.
-        /// </exception>
-        public AggregateCatalog(params ComposablePartCatalog[] catalogs)
-            : this((IEnumerable<ComposablePartCatalog>)catalogs)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="AggregateCatalog"/> class
-        ///     with the specified catalogs.
-        /// </summary>
-        /// <param name="catalogs">
-        ///     An <see cref="IEnumerable{T}"/> of <see cref="ComposablePartCatalog"/> objects to add
-        ///     to the <see cref="AggregateCatalog"/>; or <see langword="null"/> to 
-        ///     create an <see cref="AggregateCatalog"/> that is empty.
-        /// </param>
-        /// <exception cref="ArgumentException">
-        ///     <paramref name="catalogs"/> contains an element that is <see langword="null"/>.
-        /// </exception>
-        public AggregateCatalog(IEnumerable<ComposablePartCatalog> catalogs)
-        {
-            Requires.NullOrNotNullElements(catalogs, "catalogs");
-
-            this._catalogs = new ComposablePartCatalogCollection(catalogs, this.OnChanged, this.OnChanging);
-            this._partsQuery = this._catalogs.AsQueryable().SelectMany(catalog => catalog.Parts);
-        }
-
-        /// <summary>
-        /// Notify when the contents of the Catalog has changed.
-        /// </summary>
-        public event EventHandler<ComposablePartCatalogChangeEventArgs> Changed
-        {
-            add
-            {
-                this._catalogs.Changed += value;
-            }
-            remove
-            {
-                this._catalogs.Changed -= value;
-            }
-        }
-
-        /// <summary>
-        /// Notify when the contents of the Catalog has changing.
-        /// </summary>
-        public event EventHandler<ComposablePartCatalogChangeEventArgs> Changing
-        {
-            add
-            {
-                this._catalogs.Changing += value;
-            }
-            remove
-            {
-                this._catalogs.Changing -= value;
-            }
-        }
-
-        /// <summary>
-        ///     Gets the part definitions of the catalog.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="IQueryable{T}"/> of <see cref="ComposablePartDefinition"/> objects of the 
-        ///     <see cref="AggregateCatalog"/>.
-        /// </value>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="AggregateCatalog"/> has been disposed of.
-        /// </exception>
-        public override IQueryable<ComposablePartDefinition> Parts
-        {
-            get
-            {
-                this.ThrowIfDisposed();
-                return this._partsQuery;
-            }
-        }
-
-        /// <summary>
-        ///     Returns the export definitions that match the constraint defined by the specified definition.
-        /// </summary>
-        /// <param name="definition">
-        ///     The <see cref="ImportDefinition"/> that defines the conditions of the 
-        ///     <see cref="ExportDefinition"/> objects to return.
-        /// </param>
-        /// <returns>
-        ///     An <see cref="IEnumerable{T}"/> of <see cref="Tuple{T1, T2}"/> containing the 
-        ///     <see cref="ExportDefinition"/> objects and their associated 
-        ///     <see cref="ComposablePartDefinition"/> for objects that match the constraint defined 
-        ///     by <paramref name="definition"/>.
-        /// </returns>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="definition"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="AggregateCatalog"/> has been disposed of.
-        /// </exception>
-        public override IEnumerable<Tuple<ComposablePartDefinition, ExportDefinition>> GetExports(ImportDefinition definition)
-        {
-            this.ThrowIfDisposed();
-
-            Requires.NotNull(definition, "definition");
-
-            // delegate the query to each catalog and merge the results.
-            var exports = new List<Tuple<ComposablePartDefinition, ExportDefinition>>();
-            foreach (var catalog in this._catalogs)
-            {
-                foreach (var export in catalog.GetExports(definition))
-                {
-                    exports.Add(export);
-                }
-            }
-            return exports;
-        }
-
-        /// <summary>
-        ///     Gets the underlying catalogs of the catalog.
-        /// </summary>
-        /// <value>
-        ///     An <see cref="ICollection{T}"/> of underlying <see cref="ComposablePartCatalog"/> objects
-        ///     of the <see cref="AggregateCatalog"/>.
-        /// </value>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="AggregateCatalog"/> has been disposed of.
-        /// </exception>
-        public ICollection<ComposablePartCatalog> Catalogs
-        {
-            get
-            {
-                this.ThrowIfDisposed();
-                return this._catalogs;
-            }
-        }
-
-        protected override void Dispose(bool disposing)
-        {
-            try
-            {
-                if (disposing)
-                {
-                    // NOTE : According to http://msdn.microsoft.com/en-us/library/4bw5ewxy.aspx, the warning is bogus when used with Interlocked API.
-#pragma warning disable 420
-                    if (Interlocked.CompareExchange(ref this._isDisposed, 1, 0) == 0)
-#pragma warning restore 420
-                    {
-                        this._catalogs.Dispose();
-                    }
-                }
-            }
-            finally
-            {
-                base.Dispose(disposing);
-            }
-        }
-
-        /// <summary>
-        ///     Raises the <see cref="INotifyComposablePartCatalogChanged.Changed"/> event.
-        /// </summary>
-        /// <param name="e">
-        ///     An <see cref="ComposablePartCatalogChangeEventArgs"/> containing the data for the event.
-        /// </param>
-        protected virtual void OnChanged(ComposablePartCatalogChangeEventArgs e)
-        {
-            this._catalogs.OnChanged(this, e);
-        }
-
-        /// <summary>
-        ///     Raises the <see cref="INotifyComposablePartCatalogChanged.Changing"/> event.
-        /// </summary>
-        /// <param name="e">
-        ///     An <see cref="ComposablePartCatalogChangeEventArgs"/> containing the data for the event.
-        /// </param>
-        protected virtual void OnChanging(ComposablePartCatalogChangeEventArgs e)
-        {
-            this._catalogs.OnChanging(this, e);
-        }
-
-        private void ThrowIfDisposed()
-        {
-            if (this._isDisposed == 1)
-            {
-                throw ExceptionBuilder.CreateObjectDisposed(this);
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/AggregateExportProvider.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/AggregateExportProvider.cs
deleted file mode 100644
index b624cd5..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/AggregateExportProvider.cs
+++ /dev/null
@@ -1,219 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.ComponentModel.Composition.Primitives;
-using System.Linq;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-using System.Threading;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    public class AggregateExportProvider : ExportProvider , IDisposable
-    {
-        private ReadOnlyCollection<ExportProvider> _providers;
-        private volatile int _isDisposed = 0;
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="AggregateExportProvider"/> class.
-        /// </summary>
-        /// <param name="providers">The prioritized list of export providers.</param>
-        /// <remarks>
-        ///     <para>
-        ///         The <see cref="AggregateExportProvider"/> will consult the providers in the order they have been specfied when 
-        ///         executing <see cref="ExportProvider.GetExports(ImportDefinition,AtomicComposition)"/>. 
-        ///     </para>
-        ///     <para>
-        ///         The <see cref="AggregateExportProvider"/> does not take ownership of the specified providers. 
-        ///         That is, it will not try to dispose of any of them when it gets disposed.
-        ///     </para>
-        /// </remarks>
-        public AggregateExportProvider(params ExportProvider[] providers) 
-            : this(providers.AsEnumerable())
-        {
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="AggregateExportProvider"/> class.
-        /// </summary>
-        /// <param name="providers">The prioritized list of export providers. The providers are consulted in order in which they are supplied.</param>
-        /// <remarks>
-        ///     <para>
-        ///         The <see cref="AggregateExportProvider"/> will consult the providers in the order they have been specfied when 
-        ///         executing <see cref="ExportProvider.GetExports(ImportDefinition,AtomicComposition)"/>. 
-        ///     </para>
-        ///     <para>
-        ///         The <see cref="AggregateExportProvider"/> does not take ownership of the specified providers. 
-        ///         That is, it will not try to dispose of any of them when it gets disposed.
-        ///     </para>
-        /// </remarks>
-        public AggregateExportProvider(IEnumerable<ExportProvider> providers)
-        {
-            List<ExportProvider> providerList = new List<ExportProvider>();
-
-            if (providers != null)
-            {
-                // we are in the constructor, so there's no need to lock anything
-                foreach (var provider in providers)
-                {
-                    if (provider == null)
-                    {
-                        throw ExceptionBuilder.CreateContainsNullElement("providers");
-                    }
-
-                    providerList.Add(provider);
-
-                    provider.ExportsChanged += this.OnExportChangedInternal;
-                    provider.ExportsChanging += this.OnExportChangingInternal;
-                }
-            }
-
-            // this will always fully copy the array
-            this._providers = new ReadOnlyCollection<ExportProvider>(providerList);
-        }
-
-        /// <summary>
-        /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-        /// </summary>
-        public void Dispose()
-        {
-            this.Dispose(true);
-            GC.SuppressFinalize(this);
-        }
-
-        /// <summary>
-        /// Releases unmanaged and - optionally - managed resources
-        /// </summary>
-        /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
-        protected virtual void Dispose(bool disposing)
-        {
-            if (disposing)
-            {
-                // NOTE : According to http://msdn.microsoft.com/en-us/library/4bw5ewxy.aspx, the warning is bogus when used with Interlocked API.
-#pragma warning disable 420
-                if (Interlocked.CompareExchange(ref this._isDisposed, 1, 0) == 0)
-#pragma warning restore 420
-                {
-                    this._providers.ForEach(provider =>
-                    {
-                        provider.ExportsChanged -= this.OnExportChangedInternal;
-                        provider.ExportsChanging -= this.OnExportChangingInternal;
-                    });
-                }
-            }
-        }
-
-        /// <summary>
-        ///     Gets the export providers which the aggregate export provider aggregates.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="ReadOnlyCollection{T}"/> of <see cref="ExportProvider"/> objects
-        ///     which the <see cref="AggregateExportProvider"/> aggregates.
-        /// </value>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="AggregateExportProvider"/> has been disposed of.
-        /// </exception>
-        public ReadOnlyCollection<ExportProvider> Providers
-        {
-            get
-            {
-                this.ThrowIfDisposed();
-
-                return this._providers;
-            }
-        }
-
-        /// <summary>
-        /// Returns all exports that match the conditions of the specified import.
-        /// </summary>
-        /// <param name="definition">The <see cref="ImportDefinition"/> that defines the conditions of the
-        /// <see cref="Export"/> to get.</param>
-        /// <returns></returns>
-        /// <result>
-        /// An <see cref="IEnumerable{T}"/> of <see cref="Export"/> objects that match
-        /// the conditions defined by <see cref="ImportDefinition"/>, if found; otherwise, an
-        /// empty <see cref="IEnumerable{T}"/>.
-        /// </result>
-        /// <remarks>
-        /// 	<note type="inheritinfo">
-        /// The implementers should not treat the cardinality-related mismatches as errors, and are not
-        /// expected to throw exceptions in those cases.
-        /// For instance, if the import requests exactly one export and the provider has no matching exports or more than one,
-        /// it should return an empty <see cref="IEnumerable{T}"/> of <see cref="Export"/>.
-        /// </note>
-        /// </remarks>
-        protected override IEnumerable<Export> GetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition)
-        {
-            this.ThrowIfDisposed();
-
-            if (definition.Cardinality == ImportCardinality.ZeroOrMore)
-            {
-                var exports = new List<Export>();
-                foreach (var provider in this._providers)
-                {
-                    foreach (var export in provider.GetExports(definition, atomicComposition))
-                    {
-                        exports.Add(export);
-                    }
-                }
-                return exports;
-            }
-            else
-            {
-                IEnumerable<Export> allExports = Enumerable.Empty<Export>();
-
-                // if asked for "one or less", the prioriry is at play - the first provider that agrees to return the value 
-                // which best complies with the request, wins.
-                foreach (ExportProvider provider in this._providers)
-                {
-                    IEnumerable<Export> exports;
-                    bool cardinalityCheckResult = provider.TryGetExports(definition, atomicComposition, out exports);
-                    bool anyExports = exports.FastAny();
-                    if (cardinalityCheckResult && anyExports)
-                    {
-                        // NOTE : if the provider returned nothing, we need to proceed, even if it indicated that the
-                        // cardinality is correct - when asked for "one or less", the provider might - correctly - 
-                        // return an empty sequence, but we shouldn't be satisfied with that as providers down the list
-                        // might have a value we are interested in.
-                        return exports;
-                    }
-                    else
-                    {
-                        // TODO
-                        // This is a sneaky thing that we do - if in the end no provider returns the exports with the right cardinality
-                        // we simply return the aggregation of all exports they have restuned. This way the end result is still not waht we want
-                        // but no information is lost.
-                        // WE SHOULD fix this behavior, but this is ONLY possible if we can treat many exports as no exports for the sake of singles
-                        if (anyExports)
-                        {
-                            allExports = allExports.Concat(exports);
-                        }
-                    }
-                }
-
-                return allExports;
-            }
-        }
-
-        private void OnExportChangedInternal(object sender, ExportsChangeEventArgs e)
-        {
-            this.OnExportsChanged(e);
-        }
-
-        private void OnExportChangingInternal(object sender, ExportsChangeEventArgs e)
-        {
-            this.OnExportsChanging(e);
-        }
-
-        private void ThrowIfDisposed()
-        {
-            if (this._isDisposed == 1)
-            {
-                throw ExceptionBuilder.CreateObjectDisposed(this);
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/AssemblyCatalog.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/AssemblyCatalog.cs
deleted file mode 100644
index b2db43d..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/AssemblyCatalog.cs
+++ /dev/null
@@ -1,301 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Primitives;
-using System.ComponentModel.Composition.ReflectionModel;
-using System.Diagnostics;
-using System.Diagnostics.CodeAnalysis;
-using System.Globalization;
-using System.IO;
-using System.Linq;
-using System.Reflection;
-using System.Security;
-using System.Threading;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    /// <summary>
-    ///     An immutable ComposablePartCatalog created from a managed code assembly.
-    /// </summary>
-    /// <remarks>
-    ///     This type is thread safe.
-    /// </remarks>
-    [DebuggerTypeProxy(typeof(AssemblyCatalogDebuggerProxy))]
-    public class AssemblyCatalog : ComposablePartCatalog, ICompositionElement
-    {
-        private readonly object _thisLock = new object();
-        private readonly ICompositionElement _definitionOrigin;
-        private volatile Assembly _assembly = null;
-        private volatile TypeCatalog _innerCatalog = null;
-        private int _isDisposed = 0;
-
-#if !SILVERLIGHT
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="AssemblyCatalog"/> class 
-        ///     with the specified code base.
-        /// </summary>
-        /// <param name="codeBase">
-        ///     A <see cref="String"/> containing the code base of the assembly containing the
-        ///     attributed <see cref="Type"/> objects to add to the <see cref="AssemblyCatalog"/>.
-        /// </param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="codeBase"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="ArgumentException">
-        ///     <paramref name="codeBase"/> is a zero-length string, contains only white space, 
-        ///     or contains one or more invalid characters as defined by <see cref="Path.InvalidPathChars"/>.
-        /// </exception>
-        /// <exception cref="PathTooLongException">
-        ///     The specified path, file name, or both exceed the system-defined maximum length. 
-        /// </exception>
-        /// <exception cref="SecurityException">
-        ///     The caller does not have path discovery permission. 
-        /// </exception>
-        /// <exception cref="FileNotFoundException">
-        ///     <paramref name="codeBase"/> is not found.
-        /// </exception>
-        /// <exception cref="FileLoadException ">
-        ///     <paramref name="codeBase"/> could not be loaded.
-        ///     <para>
-        ///         -or-
-        ///     </para>
-        ///     <paramref name="codeBase"/> specified a directory.
-        /// </exception>
-        /// <exception cref="BadImageFormatException">
-        ///     <paramref name="codeBase"/> is not a valid assembly
-        ///     -or- 
-        ///     Version 2.0 or later of the common language runtime is currently loaded 
-        ///     and <paramref name="codeBase"/> was compiled with a later version. 
-        /// </exception>
-        /// <remarks>
-        ///     The assembly referenced by <paramref langword="codeBase"/> is loaded into the Load context.
-        /// </remarks>
-        public AssemblyCatalog(string codeBase)
-            : this(codeBase, (ICompositionElement)null)
-        {
-        }
-
-        internal AssemblyCatalog(string codeBase, ICompositionElement definitionOrigin)
-            : this(LoadAssembly(codeBase), definitionOrigin)
-        {
-        }
-
-#endif
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="AssemblyCatalog"/> class 
-        ///     with the specified assembly.
-        /// </summary>
-        /// <param name="assembly">
-        ///     The <see cref="Assembly"/> containing the attributed <see cref="Type"/> objects to 
-        ///     add to the <see cref="AssemblyCatalog"/>.
-        /// </param>
-        /// <exception cref="ArgumentException">
-        ///     <paramref name="assembly"/> is <see langword="null"/>.
-        ///     <para>
-        ///         -or-
-        ///     </para>    
-        ///     <paramref name="assembly"/> was loaded in the reflection-only context.
-        /// </exception>
-        public AssemblyCatalog(Assembly assembly)
-            : this(assembly, (ICompositionElement)null)
-        {
-        }
-
-        internal AssemblyCatalog(Assembly assembly, ICompositionElement definitionOrigin)
-        {
-            Requires.NotNull(assembly, "assembly");
-
-#if !SILVERLIGHT
-            if (assembly.ReflectionOnly)
-            {
-                throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, Strings.Argument_AssemblyReflectionOnly, "assembly"), "assembly");
-            }
-#endif
-            this._assembly = assembly;
-            this._definitionOrigin = definitionOrigin ?? this;
-        }
-
-        /// <summary>
-        ///     Gets the part definitions of the assembly catalog.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="IQueryable{T}"/> of <see cref="ComposablePartDefinition"/> objects of the 
-        ///     <see cref="AssemblyCatalog"/>.
-        /// </value>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="AssemblyCatalog"/> has been disposed of.
-        /// </exception>
-        public override IQueryable<ComposablePartDefinition> Parts
-        {
-            get
-            {
-                return this.InnerCatalog.Parts;
-            }
-        }
-
-        /// <summary>
-        ///     Returns the export definitions that match the constraint defined by the specified definition.
-        /// </summary>
-        /// <param name="definition">
-        ///     The <see cref="ImportDefinition"/> that defines the conditions of the 
-        ///     <see cref="ExportDefinition"/> objects to return.
-        /// </param>
-        /// <returns>
-        ///     An <see cref="IEnumerable{T}"/> of <see cref="Tuple{T1, T2}"/> containing the 
-        ///     <see cref="ExportDefinition"/> objects and their associated 
-        ///     <see cref="ComposablePartDefinition"/> for objects that match the constraint defined 
-        ///     by <paramref name="definition"/>.
-        /// </returns>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="definition"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="ComposablePartCatalog"/> has been disposed of.
-        /// </exception>
-        /// <remarks>
-        ///     <note type="inheritinfo">
-        ///         Overriders of this property should never return <see langword="null"/>, if no 
-        ///         <see cref="ExportDefinition"/> match the conditions defined by 
-        ///         <paramref name="definition"/>, return an empty <see cref="IEnumerable{T}"/>.
-        ///     </note>
-        /// </remarks>
-        public override IEnumerable<Tuple<ComposablePartDefinition, ExportDefinition>> GetExports(ImportDefinition definition)
-        {
-            return this.InnerCatalog.GetExports(definition);
-        }
-
-        private TypeCatalog InnerCatalog
-        {
-            get
-            {
-                this.ThrowIfDisposed();
-
-                if (this._innerCatalog == null)
-                {
-                    lock (this._thisLock)
-                    {
-                        if (this._innerCatalog == null)
-                        {
-                            var catalog = new TypeCatalog(this._assembly.GetTypes(), _definitionOrigin);
-                            this._innerCatalog = catalog;
-                        }
-                    }
-                }
-                return this._innerCatalog;
-            }
-        }
-
-        /// <summary>
-        ///     Gets the assembly containing the attributed types contained within the assembly
-        ///     catalog.
-        /// </summary>
-        /// <value>
-        ///     The <see cref="Assembly"/> containing the attributed <see cref="Type"/> objects
-        ///     contained within the <see cref="AssemblyCatalog"/>.
-        /// </value>
-        public Assembly Assembly
-        {
-            get { return this._assembly; }
-        }
-
-        /// <summary>
-        ///     Gets the display name of the assembly catalog.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="String"/> containing a human-readable display name of the <see cref="AssemblyCatalog"/>.
-        /// </value>
-        [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
-        string ICompositionElement.DisplayName
-        {
-            get { return this.GetDisplayName(); }
-        }
-
-        /// <summary>
-        ///     Gets the composition element from which the assembly catalog originated.
-        /// </summary>
-        /// <value>
-        ///     This property always returns <see langword="null"/>.
-        /// </value>
-        [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
-        ICompositionElement ICompositionElement.Origin
-        {
-            get { return null; }
-        }
-
-
-        /// <summary>
-        ///     Returns a string representation of the assembly catalog.
-        /// </summary>
-        /// <returns>
-        ///     A <see cref="String"/> containing the string representation of the <see cref="AssemblyCatalog"/>.
-        /// </returns>
-        public override string ToString()
-        {
-            return this.GetDisplayName();
-        }
-
-        protected override void Dispose(bool disposing)
-        {                
-            try
-            {
-                if (Interlocked.CompareExchange(ref this._isDisposed, 1, 0) == 0)
-                {
-                    if (disposing)
-                    {
-                        if (this._innerCatalog != null)
-                        {
-                            this._innerCatalog.Dispose();
-                        }
-                    }
-                }
-            }
-            finally
-            {
-                base.Dispose(disposing);
-            }
-        }
-
-        private void ThrowIfDisposed()
-        {
-            if (this._isDisposed == 1)
-            {
-                throw ExceptionBuilder.CreateObjectDisposed(this);
-            }
-        }
-
-        private string GetDisplayName()
-        {
-            return string.Format(CultureInfo.CurrentCulture,
-                                "{0} (Assembly=\"{1}\")",   // NOLOC
-                                GetType().Name, 
-                                this.Assembly.FullName);
-        }
-
-#if !SILVERLIGHT
-
-        private static Assembly LoadAssembly(string codeBase)
-        {
-            Requires.NotNullOrEmpty(codeBase, "codeBase");
-
-            AssemblyName assemblyName;
-
-            try
-            {
-                assemblyName = AssemblyName.GetAssemblyName(codeBase);
-            }
-            catch (ArgumentException)
-            {
-                assemblyName = new AssemblyName();
-                assemblyName.CodeBase = codeBase;
-            }
-
-            return Assembly.Load(assemblyName);            
-        }
-#endif
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/AssemblyCatalogDebuggerProxy.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/AssemblyCatalogDebuggerProxy.cs
deleted file mode 100644
index e8f5198..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/AssemblyCatalogDebuggerProxy.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.ObjectModel;
-using System.ComponentModel.Composition.Primitives;
-using System.ComponentModel.Composition.ReflectionModel;
-using System.Linq;
-using System.Reflection;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    internal class AssemblyCatalogDebuggerProxy
-    {
-        private readonly AssemblyCatalog _catalog;
-
-        public AssemblyCatalogDebuggerProxy(AssemblyCatalog catalog)
-        {
-            Requires.NotNull(catalog, "catalog");
-
-            this._catalog = catalog;
-        }
-
-        public Assembly Assembly
-        {
-            get { return this._catalog.Assembly; }
-        }
-
-        public ReadOnlyCollection<ComposablePartDefinition> Parts
-        {
-            // NOTE: This shouldn't be cached, so that on every query of
-            // the current value of the underlying catalog is respected.
-            // We use ReadOnlyCollection as arrays do not have the 
-            // appropriate debugger display attributes applied to them.
-            get { return this._catalog.Parts.ToReadOnlyCollection(); }
-        }
-    }
-}
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/AtomicComposition.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/AtomicComposition.cs
deleted file mode 100644
index 488e1cc..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/AtomicComposition.cs
+++ /dev/null
@@ -1,305 +0,0 @@
-using System;
-using System.Diagnostics;
-using System.Collections.Generic;
-using Microsoft.Internal;
-using System.Diagnostics.CodeAnalysis;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    /// <summary>
-    /// AtomicComposition provides lightweight atomicCompositional semantics to enable temporary
-    /// state to be managed for a series of nested atomicCompositions.  Each atomicComposition maintains
-    /// queryable state along with a sequence of actions necessary to complete the state when
-    /// the atomicComposition is no longer in danger of being rolled back.  State is completed or
-    /// rolled back when the atomicComposition is disposed, depending on the state of the
-    /// CompleteOnDipose property which defaults to false.  The using(...) pattern in C# is a
-    /// convenient mechanism for defining atomicComposition scopes.
-    /// 
-    /// The least obvious aspects of AtomicComposition deal with nesting.
-    /// 
-    /// Firstly, no complete actions are actually performed until the outermost atomicComposition is
-    /// completed.  Completeting or rolling back nested atomicCompositions serves only to change which
-    /// actions would be completed the outer atomicComposition.
-    /// 
-    /// Secondly, state is added in the form of queries associated with an object key.  The
-    /// key represents a unique object the state is being held on behalf of.  The quieries are
-    /// accessed throught the Query methods which provide automatic chaining to execute queries
-    /// across the target atomicComposition and its inner atomicComposition as appropriate.
-    /// 
-    /// Lastly, when a nested atomicComposition is created for a given outer the outer atomicComposition is locked.
-    /// It remains locked until the inner atomicComposition is disposed or completeed preventing the addition of
-    /// state, actions or other inner atomicCompositions.
-    /// </summary>
-    public class AtomicComposition : IDisposable
-    {
-        private readonly AtomicComposition _outerAtomicComposition;
-        private KeyValuePair<object, object>[] _values;
-        private int _valueCount = 0;
-        private List<Action> _completeActionList;
-        private List<Action> _revertActionList;
-        private bool _isDisposed = false;
-        private bool _isCompleted = false;
-        private bool _containsInnerAtomicComposition = false;
-
-        public AtomicComposition()
-            : this(null)
-        {
-        }
-
-        public AtomicComposition(AtomicComposition outerAtomicComposition)
-        {
-            // Lock the inner atomicComposition so that we can assume nothing changes except on
-            // the innermost scope, and thereby optimize the query path
-            if (outerAtomicComposition != null)
-            {
-                this._outerAtomicComposition = outerAtomicComposition;
-                this._outerAtomicComposition.ContainsInnerAtomicComposition = true;
-            }
-        }
-
-        public void SetValue(object key, object value)
-        {
-            ThrowIfDisposed();
-            ThrowIfCompleteed();
-            ThrowIfContainsInnerAtomicComposition();
-
-            Requires.NotNull(key, "key");
-
-            SetValueInternal(key, value);
-        }
-
-        public bool TryGetValue<T>(object key, out T value) 
-        {
-            return TryGetValue(key, false, out value);
-        }
-
-        [SuppressMessage("Microsoft.Design", "CA1021:AvoidOutParameters")]
-        public bool TryGetValue<T>(object key, bool localAtomicCompositionOnly, out T value) 
-        {
-            ThrowIfDisposed();
-            ThrowIfCompleteed();
-
-            Requires.NotNull(key, "key");
-
-            return TryGetValueInternal(key, localAtomicCompositionOnly, out value);
-        }
-
-        public void AddCompleteAction(Action completeAction)
-        {
-            ThrowIfDisposed();
-            ThrowIfCompleteed();
-            ThrowIfContainsInnerAtomicComposition();
-
-            Requires.NotNull(completeAction, "completeAction");
-
-            if (this._completeActionList == null)
-            {
-                this._completeActionList = new List<Action>();
-            }
-            this._completeActionList.Add(completeAction);
-        }
-
-        public void AddRevertAction(Action revertAction)
-        {
-            ThrowIfDisposed();
-            ThrowIfCompleteed();
-            ThrowIfContainsInnerAtomicComposition();
-
-            Requires.NotNull(revertAction, "revertAction");
-
-            if (this._revertActionList == null)
-            {
-                this._revertActionList = new List<Action>();
-            }
-            this._revertActionList.Add(revertAction);
-        }
-
-        public void Complete()
-        {
-            ThrowIfDisposed();
-            ThrowIfCompleteed();
-
-            if (this._outerAtomicComposition == null)
-            {   // Execute all the complete actions
-                FinalComplete();
-            }
-            else
-            {   // Copy the actions and state to the outer atomicComposition
-                CopyComplete();
-            }
-
-            this._isCompleted = true;
-        }
-
-        public void Dispose()
-        {
-            Dispose(true);
-            GC.SuppressFinalize(this);
-        }
-
-        protected virtual void Dispose(bool disposing)
-        {
-            ThrowIfDisposed();
-            this._isDisposed = true;
-
-            if (this._outerAtomicComposition != null)
-            {
-                this._outerAtomicComposition.ContainsInnerAtomicComposition = false;
-            }
-
-            // Revert is always immediate and involves forgetting information and
-            // exceuting any appropriate revert actions
-            if (!this._isCompleted)
-            {
-                if (this._revertActionList != null)
-                {
-                    // Execute the revert actions in reverse order to ensure
-                    // everything incrementally rollsback its state.
-                    for (int i = this._revertActionList.Count - 1; i >= 0; i--)
-                    {
-                        Action action = this._revertActionList[i];
-                        action();
-                    }
-                    this._revertActionList = null;
-                }
-            }
-        }
-
-        private void FinalComplete()
-        {
-            // Completeting the outer most scope is easy, just execute all the actions
-            if (this._completeActionList != null)
-            {
-                foreach (Action action in this._completeActionList)
-                {
-                    action();
-                }
-                this._completeActionList = null;
-            }
-        }
-
-        private void CopyComplete()
-        {
-            Assumes.NotNull(this._outerAtomicComposition);
-
-            this._outerAtomicComposition.ContainsInnerAtomicComposition = false;
-
-            // Inner scopes are much odder, because completeting them means coalescing them into the
-            // outer scope - the complete or revert actions are deferred until the outermost scope completes
-            // or any intermediate rolls back
-            if (this._completeActionList != null)
-            {
-                foreach (Action action in this._completeActionList)
-                {
-                    this._outerAtomicComposition.AddCompleteAction(action);
-                }
-            }
-
-            if (this._revertActionList != null)
-            {
-                foreach (Action action in this._revertActionList)
-                {
-                    this._outerAtomicComposition.AddRevertAction(action);
-                }
-            }
-
-            // We can copy over existing atomicComposition entries because they're either already chained or
-            // overwrite by design and can now be completed or rolled back together
-            for (var index = 0; index < this._valueCount; index++)
-            {
-                this._outerAtomicComposition.SetValueInternal(
-                    this._values[index].Key, this._values[index].Value);
-            }
-        }
-
-        private bool ContainsInnerAtomicComposition
-        {
-            set
-            {
-                if (value == true && this._containsInnerAtomicComposition == true)
-                {
-                    throw new InvalidOperationException(Strings.AtomicComposition_AlreadyNested);
-                }
-                this._containsInnerAtomicComposition = value;
-            }
-        }
-
-        private bool TryGetValueInternal<T>(object key, bool localAtomicCompositionOnly, out T value) 
-        {
-            for (var index = 0; index < this._valueCount; index++)
-            {
-                if (this._values[index].Key == key)
-                {
-                    value = (T)this._values[index].Value;
-                    return true;
-                }
-            }
-
-            // If there's no atomicComposition available then recurse until we hit the outermost
-            // scope, where upon we go ahead and return null
-            if (!localAtomicCompositionOnly && this._outerAtomicComposition != null)
-            {
-                return this._outerAtomicComposition.TryGetValueInternal<T>(key, localAtomicCompositionOnly, out value);
-            }
-
-            value = default(T);
-            return false;
-        }
-
-        private void SetValueInternal(object key, object value)
-        {
-            // Handle overwrites quickly
-            for (var index = 0; index < this._valueCount; index++)
-            {
-                if (this._values[index].Key == key)
-                {
-                    this._values[index] = new KeyValuePair<object,object>(key, value);
-                    return;
-                }
-            }
-
-            // Expand storage when needed
-            if (this._values == null || this._valueCount == this._values.Length)
-            {
-                var newQueries = new KeyValuePair<object, object>[this._valueCount == 0 ? 5 : this._valueCount * 2];
-                if (this._values != null)
-                {
-                    Array.Copy(this._values, newQueries, this._valueCount);
-                }
-                this._values = newQueries;
-            }
-
-            // Store a new entry
-            this._values[_valueCount] = new KeyValuePair<object, object>(key, value);
-            this._valueCount++;
-            return;
-        }
-
-        [DebuggerStepThrough]
-        private void ThrowIfContainsInnerAtomicComposition()
-        {
-            if (this._containsInnerAtomicComposition)
-            {
-                throw new InvalidOperationException(Strings.AtomicComposition_PartOfAnotherAtomicComposition);
-            }
-        }
-
-        [DebuggerStepThrough]
-        private void ThrowIfCompleteed()
-        {
-            if (this._isCompleted)
-            {
-                throw new InvalidOperationException(Strings.AtomicComposition_AlreadyCompleted);
-            }
-        }
-
-        [DebuggerStepThrough]
-        private void ThrowIfDisposed()
-        {
-            if (this._isDisposed)
-            {
-                throw ExceptionBuilder.CreateObjectDisposed(this);
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/AtomicCompositionExtensions.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/AtomicCompositionExtensions.cs
deleted file mode 100644
index af57329..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/AtomicCompositionExtensions.cs
+++ /dev/null
@@ -1,56 +0,0 @@
-using System;
-using System.Diagnostics;
-using System.Collections.Generic;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    internal static class AtomicCompositionExtensions
-    {
-        internal static T GetValueAllowNull<T>(this AtomicComposition atomicComposition, T defaultResultAndKey) where T : class
-        {
-            Assumes.NotNull(defaultResultAndKey);
-
-            return GetValueAllowNull<T>(atomicComposition, defaultResultAndKey, defaultResultAndKey);
-        }
-
-        internal static T GetValueAllowNull<T>(this AtomicComposition atomicComposition, object key, T defaultResult)
-        {
-            T result;
-            if (atomicComposition != null && atomicComposition.TryGetValue(key, out result))
-            {
-                return result;
-            }
-
-            return defaultResult;
-        }
-
-        internal static void AddRevertActionAllowNull(this AtomicComposition atomicComposition, Action action)
-        {
-            Assumes.NotNull(action);
-
-            if (atomicComposition == null)
-            {
-                action();
-            }
-            else
-            {
-                atomicComposition.AddRevertAction(action);
-            }
-        }
-
-        internal static void AddCompleteActionAllowNull(this AtomicComposition atomicComposition, Action action)
-        {
-            Assumes.NotNull(action);
-
-            if (atomicComposition == null)
-            {
-                action();
-            }
-            else
-            {
-                atomicComposition.AddCompleteAction(action);
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CatalogExportProvider.CatalogChangeProxy.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CatalogExportProvider.CatalogChangeProxy.cs
deleted file mode 100644
index a66471d..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CatalogExportProvider.CatalogChangeProxy.cs
+++ /dev/null
@@ -1,67 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Primitives;
-using System.Diagnostics;
-using System.Diagnostics.CodeAnalysis;
-using System.Globalization;
-using System.Linq;
-using System.Runtime.CompilerServices;
-using System.Threading;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    public partial class CatalogExportProvider : ExportProvider, IDisposable
-    {
-        private class CatalogChangeProxy : ComposablePartCatalog
-        {
-            private ComposablePartCatalog _originalCatalog;
-            private List<ComposablePartDefinition> _addedParts;
-            private HashSet<ComposablePartDefinition> _removedParts;
-
-            public CatalogChangeProxy(ComposablePartCatalog originalCatalog,
-                IEnumerable<ComposablePartDefinition> addedParts,
-                IEnumerable<ComposablePartDefinition> removedParts)
-            {
-                this._originalCatalog = originalCatalog;
-                this._addedParts = new List<ComposablePartDefinition>(addedParts);
-                this._removedParts = new HashSet<ComposablePartDefinition>(removedParts);
-            }
-
-            public override IQueryable<ComposablePartDefinition> Parts
-            {
-                get
-                {
-                    return this._originalCatalog.Parts.Concat(this._addedParts).Except(this._removedParts);
-                }
-            }
-
-            public override IEnumerable<Tuple<ComposablePartDefinition, ExportDefinition>> GetExports(
-                ImportDefinition definition)
-            {
-                Requires.NotNull(definition, "definition");
-
-                var originalExports = this._originalCatalog.GetExports(definition);
-                var trimmedExports = originalExports.Where(partAndExport =>
-                    !this._removedParts.Contains(partAndExport.Item1));
-
-                var addedExports = new List<Tuple<ComposablePartDefinition, ExportDefinition>>();
-                foreach (var part in this._addedParts)
-                {
-                    foreach (var export in part.ExportDefinitions)
-                    {
-                        if (definition.IsConstraintSatisfiedBy(export))
-                        {
-                            addedExports.Add(new Tuple<ComposablePartDefinition, ExportDefinition>(part, export));
-                        }
-                    }
-                }
-                return trimmedExports.Concat(addedExports);
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CatalogExportProvider.CatalogExport.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CatalogExportProvider.CatalogExport.cs
deleted file mode 100644
index 35ea352..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CatalogExportProvider.CatalogExport.cs
+++ /dev/null
@@ -1,132 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Primitives;
-using System.Diagnostics.CodeAnalysis;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    public partial class CatalogExportProvider
-    {
-        private class CatalogExport : Export
-        {
-            protected readonly CatalogExportProvider _catalogExportProvider;
-            protected readonly ComposablePartDefinition _partDefinition;
-            protected readonly ExportDefinition _definition;
-            protected ComposablePart _part;
-
-            public CatalogExport(CatalogExportProvider catalogExportProvider,
-                ComposablePartDefinition partDefinition, ExportDefinition definition)
-            {
-                this._catalogExportProvider = catalogExportProvider;
-                this._partDefinition = partDefinition;
-                this._definition = definition;
-            }
-
-            public override ExportDefinition Definition
-            {
-                get
-                {
-                    return this._definition;
-                }
-            }
-
-            protected virtual bool IsSharedPart
-            {
-                get
-                {
-                    return true;
-                }
-            }
-
-            protected override object GetExportedValueCore()
-            {
-                ComposablePart part = this._catalogExportProvider.GetComposablePart(this._partDefinition, this.IsSharedPart);
-                object exportedValue = this._catalogExportProvider.GetExportedValue(part, this._definition, this.IsSharedPart);
-                this._part = part;
-
-                return exportedValue;
-            }
-
-            [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope")]
-            public static CatalogExport CreateExport(CatalogExportProvider catalogExportProvider,
-                ComposablePartDefinition partDefinition, ExportDefinition definition, CreationPolicy importCreationPolicy)
-            {
-                CreationPolicy partPolicy = partDefinition.Metadata.GetValue<CreationPolicy>(CompositionConstants.PartCreationPolicyMetadataName);
-                bool isSharedPart = ShouldUseSharedPart(partPolicy, importCreationPolicy);
-
-                if (isSharedPart)
-                {
-                    return new CatalogExport(catalogExportProvider, partDefinition, definition);
-                }
-                else
-                {
-                    return new NonSharedCatalogExport(catalogExportProvider, partDefinition, definition);
-                }
-            }
-
-            private static bool ShouldUseSharedPart(CreationPolicy partPolicy, CreationPolicy importPolicy)
-            {
-                // Matrix that details which policy to use for a given part to satisfy a given import.
-                //                   Part.Any   Part.Shared  Part.NonShared
-                // Import.Any        Shared     Shared       NonShared
-                // Import.Shared     Shared     Shared       N/A
-                // Import.NonShared  NonShared  N/A          NonShared
-
-                switch (partPolicy)
-                {
-                    case CreationPolicy.Any:
-                        {
-                            if (importPolicy == CreationPolicy.Any ||
-                                importPolicy == CreationPolicy.Shared)
-                            {
-                                return true;
-                            }
-                            return false;
-                        }
-
-                    case CreationPolicy.NonShared:
-                        {
-                            Assumes.IsTrue(importPolicy != CreationPolicy.Shared);
-                            return false;
-                        }
-
-                    default:
-                        {
-                            Assumes.IsTrue(partPolicy == CreationPolicy.Shared);
-                            Assumes.IsTrue(importPolicy != CreationPolicy.NonShared);
-                            return true;
-                        }
-                }
-            }
-        }
-
-        private sealed class NonSharedCatalogExport : CatalogExport, IDisposable
-        {
-            public NonSharedCatalogExport(CatalogExportProvider catalogExportProvider,
-                ComposablePartDefinition partDefinition, ExportDefinition definition)
-                : base(catalogExportProvider, partDefinition, definition)
-            {
-            }
-
-            protected override bool IsSharedPart
-            {
-                get
-                {
-                    return false;
-                }
-            }
-
-            void IDisposable.Dispose()
-            {
-                if (this._part != null)
-                {
-                    this._catalogExportProvider.ReleasePart(this.Value, this._part, null);
-                    this._part = null;
-                }
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CatalogExportProvider.PartCreatorExport.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CatalogExportProvider.PartCreatorExport.cs
deleted file mode 100644
index 62202b2..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CatalogExportProvider.PartCreatorExport.cs
+++ /dev/null
@@ -1,132 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Primitives;
-using System.ComponentModel.Composition.ReflectionModel;
-using System.Linq;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    public partial class CatalogExportProvider
-    {
-        internal class PartCreatorExport : Export
-        {
-            private readonly CatalogExportProvider _catalogExportProvider;
-            private readonly ComposablePartDefinition _partDefinition;
-            private readonly ExportDefinition _exportDefinition;
-            private ExportDefinition _partCreatorExportDefinition;
-            private PartCreatorPartDefinition _partCreatorPartDefinition;
-
-            public PartCreatorExport(CatalogExportProvider catalogExportProvider, ComposablePartDefinition partDefinition, ExportDefinition exportDefinition)
-            {
-                this._catalogExportProvider = catalogExportProvider;
-                this._partDefinition = partDefinition;
-                this._exportDefinition = exportDefinition;
-                this._partCreatorExportDefinition = new PartCreatorExportDefinition(this._exportDefinition);
-            }
-
-            public override ExportDefinition Definition
-            {
-                get { return this._partCreatorExportDefinition; }
-            }
-
-            protected override object GetExportedValueCore()
-            {
-                if (this._partCreatorPartDefinition == null)
-                {
-                    this._partCreatorPartDefinition = new PartCreatorPartDefinition(this);
-                }
-                return this._partCreatorPartDefinition;
-            }
-
-            public Export CreateExportProduct()
-            {
-                return new NonSharedCatalogExport(this._catalogExportProvider, this._partDefinition, this._exportDefinition);
-            }
-
-            private class PartCreatorPartDefinition : ComposablePartDefinition
-            {
-                private readonly PartCreatorExport _partCreatorExport;
-
-                public PartCreatorPartDefinition(PartCreatorExport partCreatorExport)
-                {
-                    this._partCreatorExport = partCreatorExport;
-                }
-
-                public override IEnumerable<ExportDefinition> ExportDefinitions
-                {
-                    get { return new ExportDefinition[] { this._partCreatorExport.Definition }; }
-                }
-
-                public override IEnumerable<ImportDefinition> ImportDefinitions
-                {
-                    get { return Enumerable.Empty<ImportDefinition>(); }
-                }
-
-                public ExportDefinition PartCreatorExportDefinition
-                {
-                    get { return this._partCreatorExport.Definition; }
-                }
-
-                public Export CreateProductExport()
-                {
-                    return this._partCreatorExport.CreateExportProduct();
-                }
-
-                public override ComposablePart CreatePart()
-                {
-                    return new PartCreatorPart(this);
-                }
-            }
-
-            private sealed class PartCreatorPart : ComposablePart, IDisposable
-            {
-                private readonly PartCreatorPartDefinition _definition;
-                private readonly Export _export;
-
-                public PartCreatorPart(PartCreatorPartDefinition definition)
-                {
-                    this._definition = definition;
-                    this._export = definition.CreateProductExport();
-                }
-
-                public override IEnumerable<ExportDefinition> ExportDefinitions
-                {
-                    get { return this._definition.ExportDefinitions; }
-                }
-
-                public override IEnumerable<ImportDefinition> ImportDefinitions
-                {
-                    get { return this._definition.ImportDefinitions; }
-                }
-
-                public override object GetExportedValue(ExportDefinition definition)
-                {
-                    if (definition != this._definition.PartCreatorExportDefinition)
-                    {
-                        throw ExceptionBuilder.CreateExportDefinitionNotOnThisComposablePart("definition");
-                    }
-
-                    return this._export.Value;
-                }
-
-                public override void SetImport(ImportDefinition definition, IEnumerable<Export> exports)
-                {
-                    throw ExceptionBuilder.CreateImportDefinitionNotOnThisComposablePart("definition");
-                }
-
-                public void Dispose()
-                {
-                    IDisposable disposable = this._export as IDisposable;
-
-                    if (disposable != null)
-                    {
-                        disposable.Dispose();
-                    }
-                }
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CatalogExportProvider.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CatalogExportProvider.cs
deleted file mode 100644
index 9318d80..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CatalogExportProvider.cs
+++ /dev/null
@@ -1,816 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Diagnostics;
-using System.ComponentModel.Composition.Primitives;
-using System.ComponentModel.Composition.ReflectionModel;
-using System.Diagnostics;
-using System.Diagnostics.CodeAnalysis;
-using System.Globalization;
-using System.Linq;
-using System.Runtime.CompilerServices;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    public partial class CatalogExportProvider : ExportProvider, IDisposable
-    {
-        private readonly CompositionLock _lock;
-        private Dictionary<ComposablePartDefinition, ComposablePart> _activatedParts = new Dictionary<ComposablePartDefinition, ComposablePart>();
-        private HashSet<ComposablePartDefinition> _rejectedParts = new HashSet<ComposablePartDefinition>();
-        private ConditionalWeakTable<object, List<ComposablePart>> _conditionalReferencesForRecomposableParts = new ConditionalWeakTable<object, List<ComposablePart>>();
-        private HashSet<IDisposable> _partsToDispose = new HashSet<IDisposable>();
-        private ComposablePartCatalog _catalog;
-        private volatile bool _isDisposed = false;
-        private volatile bool _isRunning = false;
-        private ExportProvider _sourceProvider;
-        private ImportEngine _importEngine;
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="CatalogExportProvider"/> class.
-        /// </summary>
-        /// <param name="catalog">
-        ///     The <see cref="ComposablePartCatalog"/> that the <see cref="CatalogExportProvider"/>
-        ///     uses to produce <see cref="Export"/> objects.
-        /// </param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="catalog"/> is <see langword="null"/>.
-        /// </exception>
-        public CatalogExportProvider(ComposablePartCatalog catalog)
-            : this(catalog, false)
-        {
-        }
-
-        public CatalogExportProvider(ComposablePartCatalog catalog, bool isThreadSafe)
-        {
-            Requires.NotNull(catalog, "catalog");
-
-            this._catalog = catalog;
-
-            var notifyCatalogChanged = this._catalog as INotifyComposablePartCatalogChanged;
-            if (notifyCatalogChanged != null)
-            {
-                notifyCatalogChanged.Changing += this.OnCatalogChanging;
-            }
-
-            this._lock = new CompositionLock(isThreadSafe);
-        }
-
-        /// <summary>
-        ///     Gets the composable part catalog that the provider users to 
-        ///     produce exports.
-        /// </summary>
-        /// <value>
-        ///     The <see cref="ComposablePartCatalog"/> that the 
-        ///     <see cref="CatalogExportProvider"/>
-        ///     uses to produce <see cref="Export"/> objects.
-        /// </value>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="CompositionContainer"/> has been disposed of.
-        /// </exception>
-        public ComposablePartCatalog Catalog
-        {
-            get
-            {
-                ThrowIfDisposed();
-
-                return this._catalog;
-            }
-        }
-
-        /// <summary>
-        ///     Gets the export provider which provides the provider access to additional
-        ///     exports.
-        /// </summary>
-        /// <value>
-        ///     The <see cref="ExportProvider"/> which provides the 
-        ///     <see cref="CatalogExportProvider"/> access to additional
-        ///     <see cref="Export"/> objects. The default is <see langword="null"/>.
-        /// </value>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="value"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="InvalidOperationException">
-        ///     This property has already been set.
-        ///     <para>
-        ///         -or-
-        ///     </para>
-        ///     The methods on the <see cref="CatalogExportProvider"/> 
-        ///     have already been accessed.
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="CatalogExportProvider"/> has been disposed of.
-        /// </exception>
-        /// <remarks>
-        ///     This property must be set before accessing any methods on the 
-        ///     <see cref="CatalogExportProvider"/>.
-        /// </remarks>
-        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification="EnsureCanSet ensures that the property is set only once, Dispose is not required")]
-        public ExportProvider SourceProvider
-        {
-            get
-            {
-                this.ThrowIfDisposed();
-                using (this._lock.LockStateForRead())
-                {
-                    return this._sourceProvider;
-                }
-            }
-            set
-            {
-                this.ThrowIfDisposed();
-
-                Requires.NotNull(value, "value");
-
-                ImportEngine newImportEngine = null;
-                bool isThrowing = true;
-                try
-                {
-                    newImportEngine = new ImportEngine(value, this._lock.IsThreadSafe);
-                    value.ExportsChanging += this.OnExportsChangingInternal;
-
-                    using (this._lock.LockStateForWrite())
-                    {
-                        this.EnsureCanSet(this._sourceProvider);
-
-                        this._sourceProvider = value;
-                        this._importEngine = newImportEngine;
-
-                        isThrowing = false;
-                    }
-                }
-                finally
-                {
-                    if (isThrowing)
-                    {
-                        value.ExportsChanging -= this.OnExportsChangingInternal;
-                        newImportEngine.Dispose();
-                    }
-                }
-            }
-        }
-
-        /// <summary>
-        /// Releases unmanaged and - optionally - managed resources
-        /// </summary>
-        public void Dispose()
-        {
-            this.Dispose(true);
-            GC.SuppressFinalize(this);
-        }
-
-        /// <summary>
-        /// Releases unmanaged and - optionally - managed resources
-        /// </summary>
-        /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
-        protected virtual void Dispose(bool disposing)
-        {
-            if (disposing)
-            {
-                if (!this._isDisposed)
-                {
-                    bool disposeLock = false;
-                    INotifyComposablePartCatalogChanged catalogToUnsubscribeFrom = null;
-                    HashSet<IDisposable> partsToDispose = null;
-                    ExportProvider sourceProviderToUnsubscribeFrom = null;
-                    ImportEngine importEngineToDispose = null;
-
-                    try
-                    {
-                        using (this._lock.LockStateForWrite())
-                        {
-                            if (!this._isDisposed)
-                            {
-                                catalogToUnsubscribeFrom = this._catalog as INotifyComposablePartCatalogChanged;
-                                this._catalog = null;
-
-                                sourceProviderToUnsubscribeFrom = this._sourceProvider;
-                                this._sourceProvider = null;
-
-                                importEngineToDispose = this._importEngine;
-                                this._importEngine = null;
-
-                                partsToDispose = this._partsToDispose;
-                                this._partsToDispose = new HashSet<IDisposable>();
-                                this._activatedParts.Clear();
-                                this._conditionalReferencesForRecomposableParts = null;
-
-                                disposeLock = true;
-                                this._isDisposed = true;
-                            }
-                        }
-                    }
-                    finally
-                    {
-                        if (catalogToUnsubscribeFrom != null)
-                        {
-                            catalogToUnsubscribeFrom.Changing -= this.OnCatalogChanging;
-                        }
-
-                        if (sourceProviderToUnsubscribeFrom != null)
-                        {
-                            sourceProviderToUnsubscribeFrom.ExportsChanging -= this.OnExportsChangingInternal;
-                        }
-
-                        if (importEngineToDispose != null)
-                        {
-                            importEngineToDispose.Dispose();
-                        }
-
-                        if (partsToDispose != null)
-                        {
-                            foreach (var part in partsToDispose)
-                            {
-                                part.Dispose();
-                            }
-                        }
-
-                        if (disposeLock)
-                        {
-                            this._lock.Dispose();
-                        }
-                    }
-                }
-            }
-        }
-
-        /// <summary>
-        /// Returns all exports that match the conditions of the specified import.
-        /// </summary>
-        /// <param name="definition">The <see cref="ImportDefinition"/> that defines the conditions of the
-        /// <see cref="Export"/> to get.</param>
-        /// <returns></returns>
-        /// <result>
-        /// An <see cref="IEnumerable{T}"/> of <see cref="Export"/> objects that match
-        /// the conditions defined by <see cref="ImportDefinition"/>, if found; otherwise, an
-        /// empty <see cref="IEnumerable{T}"/>.
-        /// </result>
-        /// <remarks>
-        /// 	<note type="inheritinfo">
-        /// The implementers should not treat the cardinality-related mismatches as errors, and are not
-        /// expected to throw exceptions in those cases.
-        /// For instance, if the import requests exactly one export and the provider has no matching exports or more than one,
-        /// it should return an empty <see cref="IEnumerable{T}"/> of <see cref="Export"/>.
-        /// </note>
-        /// </remarks>
-        protected override IEnumerable<Export> GetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition)
-        {
-            this.ThrowIfDisposed();
-            this.EnsureRunning();
-
-            // Use the version of the catalog appropriate to this atomicComposition
-            ComposablePartCatalog currentCatalog = atomicComposition.GetValueAllowNull(this._catalog);
-
-            IPartCreatorImportDefinition partCreatorDefinition = definition as IPartCreatorImportDefinition;
-            bool isPartCreator = false;
-
-            if (partCreatorDefinition != null)
-            {
-                definition = partCreatorDefinition.ProductImportDefinition;
-                isPartCreator = true;
-            }
-
-            CreationPolicy importPolicy = definition.GetRequiredCreationPolicy();
-
-            List<Export> exports = new List<Export>();
-            foreach (var partDefinitionAndExportDefinition in currentCatalog.GetExports(definition))
-            {
-                if (!IsRejected(partDefinitionAndExportDefinition.Item1, atomicComposition))
-                {
-                    if (isPartCreator)
-                    {
-                        exports.Add(new PartCreatorExport(this,
-                            partDefinitionAndExportDefinition.Item1,
-                            partDefinitionAndExportDefinition.Item2));
-                    }
-                    else
-                    {
-                        exports.Add(CatalogExport.CreateExport(this, 
-                            partDefinitionAndExportDefinition.Item1, 
-                            partDefinitionAndExportDefinition.Item2, 
-                            importPolicy));
-                    }
-                }
-            }
-
-            return exports;
-        }
-
-        private void OnExportsChangingInternal(object sender, ExportsChangeEventArgs e)
-        {
-            UpdateRejections(e.AddedExports.Concat(e.RemovedExports), e.AtomicComposition);
-        }
-
-        private static ExportDefinition[] GetExportsFromPartDefinitions(IEnumerable<ComposablePartDefinition> partDefinitions)
-        {
-            List<ExportDefinition> exports = new List<ExportDefinition>();
-
-            foreach (var partDefinition in partDefinitions)
-            {
-                foreach (var export in partDefinition.ExportDefinitions)
-                {
-                    exports.Add(export);
-
-                    // While creating a PartCreatorExportDefinition for every changed definition may not be the most
-                    // efficient way to do this the PartCreatorExportDefinition is very efficient and doesn't do any
-                    // real work unless its metadata is pulled on. If this turns out to be a bottleneck then we
-                    // will need to start tracking all the PartCreator's we hand out and only send those which we 
-                    // have handed out. In fact we could do the same thing for all the Exports if we wished but 
-                    // that requires a cache management which we don't want to do at this point.
-                    exports.Add(new PartCreatorExportDefinition(export));
-                }
-            }
-
-            return exports.ToArray();
-        }
-
-        [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope")]
-        private void OnCatalogChanging(object sender, ComposablePartCatalogChangeEventArgs e)
-        {
-            using (var atomicComposition = new AtomicComposition(e.AtomicComposition))
-            {
-                // Save the preview catalog to use in place of the original while handling
-                // this event
-                atomicComposition.SetValue(this._catalog,
-                    new CatalogChangeProxy(this._catalog, e.AddedDefinitions, e.RemovedDefinitions));
-
-                IEnumerable<ExportDefinition> addedExports = GetExportsFromPartDefinitions(e.AddedDefinitions);
-                IEnumerable<ExportDefinition> removedExports = GetExportsFromPartDefinitions(e.RemovedDefinitions);
-
-                // Remove any parts based on eliminated definitions (in a atomicComposition-friendly
-                // fashion)
-                foreach (var definition in e.RemovedDefinitions)
-                {
-                    ComposablePart removedPart = null;
-                    bool removed = false;
-
-                    using (this._lock.LockStateForRead())
-                    {
-                        removed = this._activatedParts.TryGetValue(definition, out removedPart);
-                    }
-                    if (removed)
-                    {
-                        var capturedDefinition = definition;
-                        ReleasePart(null, removedPart, atomicComposition);
-                        atomicComposition.AddCompleteActionAllowNull(() =>
-                        {
-                            using (this._lock.LockStateForWrite())
-                            {
-                                this._activatedParts.Remove(capturedDefinition);
-                            }
-                        });
-                    }
-                }
-
-                UpdateRejections(addedExports.ConcatAllowingNull(removedExports), atomicComposition);
-
-                this.OnExportsChanging(
-                    new ExportsChangeEventArgs(addedExports, removedExports, atomicComposition));
-
-                atomicComposition.AddCompleteAction(() => this.OnExportsChanged(
-                    new ExportsChangeEventArgs(addedExports, removedExports, null)));
-
-                atomicComposition.Complete();
-            }
-        }
-
-        private ComposablePart GetComposablePart(ComposablePartDefinition partDefinition, bool isSharedPart)
-        {
-            this.ThrowIfDisposed();
-            this.EnsureRunning();
-
-            ComposablePart part;
-
-            if (isSharedPart)
-            {
-                part = GetSharedPart(partDefinition);
-            }
-            else
-            {
-                part = partDefinition.CreatePart();
-
-                IDisposable disposablePart = part as IDisposable;
-                if (disposablePart != null)
-                {
-                    using (this._lock.LockStateForWrite())
-                    {
-                        this._partsToDispose.Add(disposablePart);
-                    }
-                }
-            }
-
-            return part;
-        }
-
-        private ComposablePart GetSharedPart(ComposablePartDefinition partDefinition)
-        {
-            ComposablePart part;
-            bool found = false;
-
-            using (this._lock.LockStateForRead())
-            {
-                found = this._activatedParts.TryGetValue(partDefinition, out part);
-            }
-
-            if (!found)
-            {
-                ComposablePart newPart = partDefinition.CreatePart();
-
-                using (this._lock.LockStateForWrite())
-                {
-                    found = this._activatedParts.TryGetValue(partDefinition, out part);
-
-                    if (!found)
-                    {
-                        part = newPart;
-                        this._activatedParts.Add(partDefinition, part);
-                        IDisposable disposablePart = part as IDisposable;
-                        if (disposablePart != null)
-                        {
-                            this._partsToDispose.Add(disposablePart);
-                        }
-                    }
-                }
-            }
-
-            return part;
-        }
-
-        private object GetExportedValue(ComposablePart part, ExportDefinition export, bool isSharedPart)
-        {
-            this.ThrowIfDisposed();
-            this.EnsureRunning();
-
-            Assumes.NotNull(part, export);
-
-            object exportedValue = CompositionServices.GetExportedValueFromComposedPart(
-                this._importEngine, part, export);
-
-            // Only hold conditional references for recomposable non-shared parts because we are 
-            // already holding strong references to the shared parts.
-            if (exportedValue != null && !isSharedPart && part.IsRecomposable())
-            {
-                SetConditionalReferenceForRecomposablePart(exportedValue, part);
-            }
-
-            return exportedValue;
-        }
-
-        private void ReleasePart(object exportedValue, ComposablePart part, AtomicComposition atomicComposition)
-        {
-            this.ThrowIfDisposed();
-            this.EnsureRunning();
-
-            Assumes.NotNull(part);
-
-            this._importEngine.ReleaseImports(part, atomicComposition);
-
-            if (exportedValue != null)
-            {
-                atomicComposition.AddCompleteActionAllowNull(() =>
-                {
-                    using (this._lock.LockStateForWrite())
-                    {
-                        this._conditionalReferencesForRecomposableParts.Remove(exportedValue);
-                    }
-                });
-            }
-
-            IDisposable diposablePart = part as IDisposable;
-            if (diposablePart != null)
-            {
-                atomicComposition.AddCompleteActionAllowNull(() =>
-                {
-                    bool removed = false;
-                    using (this._lock.LockStateForWrite())
-                    {
-                        removed = this._partsToDispose.Remove(diposablePart);
-                    }
-                    if (removed)
-                    {
-                        diposablePart.Dispose();
-                    }
-                });
-            }
-        }
-
-        private void SetConditionalReferenceForRecomposablePart(object exportedValue, ComposablePart part)
-        {
-            Assumes.NotNull(exportedValue, part);
-
-            List<ComposablePart> partList;
-
-            using (this._lock.LockStateForWrite())
-            {
-                if (!this._conditionalReferencesForRecomposableParts.TryGetValue(exportedValue, out partList))
-                {
-                    partList = new List<ComposablePart>();
-                    this._conditionalReferencesForRecomposableParts.Add(exportedValue, partList);
-                }
-
-                // There is one really obscure case (one part exporting exact value multiple times) where
-                // the part may already be in the list but it isn't a scenario that is interesting so 
-                // we simply always add. Later if we change this to support more than non-shared we may
-                // need to check if the part already exists to pervent adding it multiple times.
-                partList.Add(part);
-            }
-        }
-
-        private bool IsRejected(ComposablePartDefinition definition, AtomicComposition atomicComposition)
-        {
-            // Check to see if we're currently working on the definition in question.
-            // Recursive queries always answer optimistically, as if the definition hasn't
-            // been rejected - because if it is we can discard all decisions that were based
-            // on the faulty assumption in the first place.
-            var forceRejectionTest = false;
-            if (atomicComposition != null)
-            {
-                var atomicCompositionQuery = GetAtomicCompositionQuery(atomicComposition);
-                AtomicCompositionQueryState state = atomicCompositionQuery(definition);
-                switch (state)
-                {
-                    case AtomicCompositionQueryState.TreatAsRejected:
-                        return true;
-                    case AtomicCompositionQueryState.TreatAsValidated:
-                        return false;
-                    case AtomicCompositionQueryState.NeedsTesting:
-                        forceRejectionTest = true;
-                        break;
-                    default:
-                        Assumes.IsTrue(state == AtomicCompositionQueryState.Unknown);
-                        // Need to do the work to determine the state
-                        break;
-                }
-            }
-
-            if (!forceRejectionTest)
-            {
-                // Next, anything that has been activated is not rejected
-                using (this._lock.LockStateForRead())
-                {
-                    if (this._activatedParts.ContainsKey(definition))
-                    {
-                        return false;
-                    }
-
-                    // Last stop before doing the hard work: check a specific registry of rejected parts
-                    if (this._rejectedParts.Contains(definition))
-                    {
-                        return true;
-                    }
-                }
-            }
-
-            // Determine whether or not the definition's imports can be satisfied
-            return DetermineRejection(definition, atomicComposition);
-        }
-
-        private bool DetermineRejection(ComposablePartDefinition definition, AtomicComposition parentAtomicComposition)
-        {
-            ChangeRejectedException exception = null;
-
-            using (var localAtomicComposition = new AtomicComposition(parentAtomicComposition))
-            {
-                // The part definition we're currently working on is treated optimistically
-                // as if we know it hasn't been rejected.  This handles recursion, and if we
-                // later decide that it has been rejected we'll discard all nested progress so
-                // all side-effects of the mistake are erased.
-                //
-                // Note that this means that recursive failures that would be detected by the
-                // import engine are not discovered by rejection currently.  Loops among
-                // prerequisites, runaway import chains involving factories, and prerequisites
-                // that cannot be fully satisfied still result in runtime errors.  Doing
-                // otherwise would be possible but potentially expensive - and could be a v2
-                // improvement if deemed worthwhile.
-                UpdateAtomicCompositionQuery(localAtomicComposition,
-                    def => definition.Equals(def), AtomicCompositionQueryState.TreatAsValidated);
-
-                var newPart = definition.CreatePart();
-                try
-                {
-                    this._importEngine.PreviewImports(newPart, localAtomicComposition);
-
-                    // Reuse the partially-fleshed out part the next time we need a shared
-                    // instance to keep the expense of pre-validation to a minimum.  Note that
-                    // _activatedParts holds references to both shared and non-shared parts.
-                    // The non-shared parts will only be used for rejection purposes only but
-                    // the shared parts will be handed out when requested via GetExports as 
-                    // well as be used for rejection purposes.
-                    localAtomicComposition.AddCompleteActionAllowNull(() =>
-                    {
-                        using (this._lock.LockStateForWrite())
-                        {
-                            if (!this._activatedParts.ContainsKey(definition))
-                            {
-                                this._activatedParts.Add(definition, newPart);
-                                IDisposable newDisposablePart = newPart as IDisposable;
-                                if (newDisposablePart != null)
-                                {
-                                    this._partsToDispose.Add(newDisposablePart);
-                                }
-                            }
-                        }
-                    });
-
-                    // Success! Complete any recursive work that was conditioned on this part's validation
-                    localAtomicComposition.Complete();
-
-                    return false;
-                }
-                catch (ChangeRejectedException ex)
-                {
-                    exception = ex;                    
-                }
-            }
-
-            // If we've reached this point then this part has been rejected so we need to 
-            // record the rejection in our parent composition or execute it immediately if 
-            // one doesn't exist.
-            parentAtomicComposition.AddCompleteActionAllowNull(() =>
-            {
-                using (this._lock.LockStateForWrite())
-                {
-                    this._rejectedParts.Add(definition);
-                }
-
-                CompositionTrace.PartDefinitionRejected(definition, exception);
-
-            });
-            if (parentAtomicComposition != null)
-            {
-                UpdateAtomicCompositionQuery(parentAtomicComposition,
-                    def => definition.Equals(def), AtomicCompositionQueryState.TreatAsRejected);
-            }
-
-            return true;
-        }
-
-        private void UpdateRejections(IEnumerable<ExportDefinition> changedExports, AtomicComposition atomicComposition)
-        {
-            using (var localAtomicComposition = new AtomicComposition(atomicComposition))
-            {
-                // Reconsider every part definition that has been previously
-                // rejected to see if any of them can be added back.
-                var affectedRejections = new HashSet<ComposablePartDefinition>();
-                var atomicCompositionQuery = GetAtomicCompositionQuery(localAtomicComposition);
-
-                ComposablePartDefinition[] rejectedParts;
-                using (this._lock.LockStateForRead())
-                {
-                    rejectedParts = this._rejectedParts.ToArray();
-                }
-                foreach (var definition in rejectedParts)
-                {
-                    if (atomicCompositionQuery(definition) == AtomicCompositionQueryState.TreatAsValidated)
-                    {
-                        continue;
-                    }
-
-                    foreach (var import in definition.ImportDefinitions.Where(ImportEngine.IsRequiredImportForPreview))
-                    {
-                        if (changedExports.Any(export => import.IsConstraintSatisfiedBy(export)))
-                        {
-                            affectedRejections.Add(definition);
-                            break;
-                        }
-                    }
-                }
-                UpdateAtomicCompositionQuery(localAtomicComposition,
-                    def => affectedRejections.Contains(def), AtomicCompositionQueryState.NeedsTesting);
-
-                // Determine if any of the resurrectable parts is now available so that we can
-                // notify listeners of the exact changes to exports
-                var resurrectedExports = new List<ExportDefinition>();
-
-                foreach (var partDefinition in affectedRejections)
-                {
-                    if (!IsRejected(partDefinition, localAtomicComposition))
-                    {
-                        // Notify listeners of the newly available exports and
-                        // prepare to remove the rejected part from the list of rejections
-                        resurrectedExports.AddRange(partDefinition.ExportDefinitions);
-
-                        // Capture the local so that the closure below refers to the current definition
-                        // in the loop and not the value of 'partDefinition' when the closure executes
-                        var capturedPartDefinition = partDefinition;
-                        localAtomicComposition.AddCompleteAction(() =>
-                        {
-                            using (this._lock.LockStateForWrite())
-                            {
-                                this._rejectedParts.Remove(capturedPartDefinition);                                
-                            }
-
-                            CompositionTrace.PartDefinitionResurrected(capturedPartDefinition);
-                        });
-                    }
-                }
-
-                // Notify anyone sourcing exports that the resurrected exports have appeared
-                if (resurrectedExports.Any())
-                {
-                    this.OnExportsChanging(
-                        new ExportsChangeEventArgs(resurrectedExports, new ExportDefinition[0], localAtomicComposition));
-
-                    localAtomicComposition.AddCompleteAction(() => this.OnExportsChanged(
-                        new ExportsChangeEventArgs(resurrectedExports, new ExportDefinition[0], null)));
-                }
-
-                localAtomicComposition.Complete();
-            }
-        }
-
-        [DebuggerStepThrough]
-        private void ThrowIfDisposed()
-        {
-            if (this._isDisposed)
-            {
-                throw ExceptionBuilder.CreateObjectDisposed(this);
-            }
-        }
-
-        /// <summary>
-        ///  EnsureCanRun must be called from within a lock.
-        /// </summary>
-        [DebuggerStepThrough]
-        private void EnsureCanRun()
-        {
-            if ((this._sourceProvider == null) || (this._importEngine == null))
-            {
-                throw new InvalidOperationException(string.Format(CultureInfo.CurrentCulture, Strings.ObjectMustBeInitialized, "SourceProvider")); // NOLOC
-            }
-        }
-
-        [DebuggerStepThrough]
-        private void EnsureRunning()
-        {
-            if (!this._isRunning)
-            {
-                using (this._lock.LockStateForWrite())
-                {
-                    if (!this._isRunning)
-                    {
-                        this.EnsureCanRun();
-                        this._isRunning = true;
-                    }
-                }
-            }
-        }
-
-        /// <summary>
-        ///  EnsureCanSet<T> must be called from within a lock.
-        /// </summary>
-        /// <typeparam name="T"></typeparam>
-        /// <param name="currentValue"></param>
-        [DebuggerStepThrough]
-        private void EnsureCanSet<T>(T currentValue)
-            where T : class
-        {
-            if ((this._isRunning) || (currentValue != null))
-            {
-                throw new InvalidOperationException(string.Format(CultureInfo.CurrentCulture, Strings.ObjectAlreadyInitialized));
-            }
-        }
-
-        private Func<ComposablePartDefinition, AtomicCompositionQueryState> GetAtomicCompositionQuery(AtomicComposition atomicComposition)
-        {
-            Func<ComposablePartDefinition, AtomicCompositionQueryState> atomicCompositionQuery;
-            atomicComposition.TryGetValue(this, out atomicCompositionQuery);
-
-            if (atomicCompositionQuery == null)
-            {
-                return (definition) => AtomicCompositionQueryState.Unknown;
-            }
-
-            return atomicCompositionQuery;
-        }
-
-        private void UpdateAtomicCompositionQuery(
-            AtomicComposition atomicComposition,
-            Func<ComposablePartDefinition, bool> query,
-            AtomicCompositionQueryState state)
-        {
-            var parentQuery = GetAtomicCompositionQuery(atomicComposition);
-            Func<ComposablePartDefinition, AtomicCompositionQueryState> newQuery = definition =>
-            {
-                if (query(definition))
-                {
-                    return state;
-                }
-                return parentQuery(definition);
-            };
-
-            atomicComposition.SetValue(this, newQuery);
-        }
-
-        private enum AtomicCompositionQueryState
-        {
-            Unknown,
-            TreatAsRejected,
-            TreatAsValidated,
-            NeedsTesting
-        };
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ComposablePartCatalogChangeEventArgs.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ComposablePartCatalogChangeEventArgs.cs
deleted file mode 100644
index 9d2ee11..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ComposablePartCatalogChangeEventArgs.cs
+++ /dev/null
@@ -1,81 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Primitives;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    /// <summary>
-    ///     Provides data for the <see cref="INotifyComposablePartCatalogChanged.Changed"/> and
-    ///     <see cref="INotifyComposablePartCatalogChanged.Changing"/> events.
-    /// </summary>
-    public class ComposablePartCatalogChangeEventArgs : EventArgs
-    {
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ComposablePartCatalogChangeEventArgs"/>.
-        /// </summary>
-        /// <param name="addedDefinitions">
-        ///     An <see cref="IEnumerable{T}"/> of <see cref="ComposablePartDefinition"/> objects that 
-        ///     are being added to the <see cref="ComposablePartCatalog"/>.
-        /// </param>
-        /// <param name="removedDefinitions">
-        ///     An <see cref="IEnumerable{T}"/> of <see cref="ComposablePartDefinition"/> objects that 
-        ///     are being removed from the <see cref="ComposablePartCatalog"/>.
-        /// </param>
-        /// <param name="atomicComposition">
-        ///     A <see cref="AtomicComposition"/> representing all tentative changes that will
-        ///     be completed if the change is successful, or discarded if it is not. 
-        ///     <see langword="null"/> if being applied outside a <see cref="AtomicComposition"/> 
-        ///     or during a <see cref="INotifyComposablePartCatalogChanged.Changed"/> event.
-        /// </param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="addedDefinitions"/> or <paramref name="removedDefinitions"/> is <see langword="null"/>.
-        /// </exception>
-        public ComposablePartCatalogChangeEventArgs(IEnumerable<ComposablePartDefinition> addedDefinitions,
-            IEnumerable<ComposablePartDefinition> removedDefinitions, AtomicComposition atomicComposition)
-        {
-            Requires.NotNull(addedDefinitions, "addedDefinitions");
-            Requires.NotNull(removedDefinitions, "removedDefinitions");
-
-            this.AddedDefinitions = addedDefinitions.AsArray();
-            this.RemovedDefinitions = removedDefinitions.AsArray();
-            this.AtomicComposition = atomicComposition;
-        }
-
-        /// <summary>
-        ///     Gets the identifiers of the parts that have been added.
-        /// </summary>
-        /// <value>
-        ///     An <see cref="IEnumerable{T}"/> of <see cref="ComposablePartDefinition"/> objects that 
-        ///     have been added to the <see cref="ComposablePartCatalog"/>.
-        /// </value>
-        public IEnumerable<ComposablePartDefinition> AddedDefinitions { get; private set; }
-
-        /// <summary>
-        ///     Gets the identifiers of the parts that have been removed.
-        /// </summary>
-        /// <value>
-        ///     An <see cref="IEnumerable{T}"/> of <see cref="ComposablePartDefinition"/> objects that 
-        ///     have been removed from from the <see cref="ComposablePartCatalog"/>.
-        /// </value>
-        public IEnumerable<ComposablePartDefinition> RemovedDefinitions { get; private set; }
-
-        /// <summary>
-        ///     Gets the atomicComposition, if any, that this change applies to.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="AtomicComposition"/> that this set of changes applies too. 
-        ///     It can be <see langword="null"/> if the changes are being applied outside a 
-        ///     <see cref="AtomicComposition"/> or during a 
-        ///     <see cref="INotifyComposablePartCatalogChanged.Changed"/> event.
-        ///     
-        ///     When the value is non-null it should be used to record temporary changed state
-        ///     and actions that will be executed when the atomicComposition is completeed.
-        /// </value>
-        public AtomicComposition AtomicComposition { get; private set; }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ComposablePartCatalogCollection.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ComposablePartCatalogCollection.cs
deleted file mode 100644
index ed20128..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ComposablePartCatalogCollection.cs
+++ /dev/null
@@ -1,420 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.ObjectModel;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Primitives;
-using System.Linq;
-using System.Text;
-using System.Threading;
-using System.Diagnostics;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-using System.Collections;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    /// <summary>
-    ///     This class implements a threadsafe ICollection{T} of ComposablePartCatalog.
-    ///     It is exposed as an ICollection(ComposablePartCatalog)
-    ///     It is threadsafe, notifications are not marshalled using a SynchronizationContext.
-    ///     It is Disposable.
-    /// </summary>
-    internal class ComposablePartCatalogCollection : ICollection<ComposablePartCatalog>, INotifyComposablePartCatalogChanged, IDisposable
-    {
-        private readonly Lock _lock = new Lock();
-        private Action<ComposablePartCatalogChangeEventArgs> _onChanged;
-        private Action<ComposablePartCatalogChangeEventArgs> _onChanging;
-        private List<ComposablePartCatalog> _catalogs = new List<ComposablePartCatalog>();
-        private volatile bool _isCopyNeeded = false;
-        private volatile bool _isDisposed = false;
-        private bool _hasChanged = false;
-
-        public ComposablePartCatalogCollection(IEnumerable<ComposablePartCatalog> catalogs)
-            : this(catalogs, null, null)
-        {
-        }
-
-        public ComposablePartCatalogCollection(
-            IEnumerable<ComposablePartCatalog> catalogs,
-            Action<ComposablePartCatalogChangeEventArgs> onChanged,
-            Action<ComposablePartCatalogChangeEventArgs> onChanging)
-        {
-            catalogs = catalogs ?? Enumerable.Empty<ComposablePartCatalog>();
-            this._catalogs = new List<ComposablePartCatalog>(catalogs);
-            this._onChanged = onChanged;
-            this._onChanging = onChanging;
-
-            SubscribeToCatalogNotifications(catalogs);
-        }
-
-        public void Add(ComposablePartCatalog item)
-        {
-            Requires.NotNull(item, "item");
-
-            this.ThrowIfDisposed();
-
-            var addedParts = new Lazy<IEnumerable<ComposablePartDefinition>>(() => item.Parts.ToArray(), false);
-
-            using (var atomicComposition = new AtomicComposition())
-            {
-                this.RaiseChangingEvent(addedParts, null, atomicComposition);
- 
-                using (new WriteLock(this._lock))
-                {
-                    if (this._isCopyNeeded)
-                    {
-                        this._catalogs = new List<ComposablePartCatalog>(this._catalogs);
-                        this._isCopyNeeded = false;
-                    }
-                    this._hasChanged = true;
-                    this._catalogs.Add(item);
-                }
-                
-                this.SubscribeToCatalogNotifications(item);
-
-                // Complete after the catalog changes are written
-                atomicComposition.Complete();
-            }
-
-            this.RaiseChangedEvent(addedParts, null);
-        }
-
-        /// <summary>
-        /// Notify when the contents of the Catalog has changed.
-        /// </summary>
-        public event EventHandler<ComposablePartCatalogChangeEventArgs> Changed;
-
-        /// <summary>
-        /// Notify when the contents of the Catalog has changing.
-        /// </summary>
-        public event EventHandler<ComposablePartCatalogChangeEventArgs> Changing;
-
-        public void Clear()
-        {
-            this.ThrowIfDisposed();
-
-            // No action is required if we are already empty
-            ComposablePartCatalog[] catalogs = null;
-            using (new ReadLock(this._lock))
-            {
-                if (this._catalogs.Count == 0)
-                {
-                    return;
-                }
-                catalogs = this._catalogs.ToArray();
-            }
-
-            //TODO-MT: This is pretty suspect - we can easily eliminate catalogs that aren't listed as being
-            // removed.  Then again, the idea of trying to mutate the catalog on two threads at the same time is pretty
-            // suspect to begin with.  When would that ever result in a meaningful composition?
-
-            // We are doing this outside of the lock, so it's possible that the catalog will continute propagating events from things
-            // we are about to unsubscribe from. Given the non-specificity of our event, in the worst case scenario we would simply fire 
-            // unnecessary events.
-
-            var removedParts = new Lazy<IEnumerable<ComposablePartDefinition>>(() => catalogs.SelectMany(catalog => catalog.Parts).ToArray(), false);
-
-            // Validate the changes before applying them
-            using (var atomicComposition = new AtomicComposition())
-            {
-                this.RaiseChangingEvent(null, removedParts, atomicComposition);
-                this.UnsubscribeFromCatalogNotifications(catalogs);
-
-                using (new WriteLock(this._lock))
-                {
-                    this._catalogs = new List<ComposablePartCatalog>();
-
-                    this._isCopyNeeded = false;
-                    this._hasChanged = true;
-                }
-
-                // Complete after the catalog changes are written
-                atomicComposition.Complete();
-            }
-
-            this.RaiseChangedEvent(null, removedParts);
-        }
-
-        public bool Contains(ComposablePartCatalog item)
-        {
-            Requires.NotNull(item, "item");
-
-            this.ThrowIfDisposed();
-
-            using (new ReadLock(this._lock))
-            {
-                return this._catalogs.Contains(item);
-            }
-        }
-
-        public void CopyTo(ComposablePartCatalog[] array, int arrayIndex)
-        {
-            this.ThrowIfDisposed();
-
-            using (new ReadLock(this._lock))
-            {
-                this._catalogs.CopyTo(array, arrayIndex);
-            }
-        }
-
-        public int Count
-        {
-            get 
-            {
-                this.ThrowIfDisposed();
-
-                using (new ReadLock(this._lock))
-                {
-                    return this._catalogs.Count;
-                }
-            }
-        }
-
-        public bool IsReadOnly
-        {
-            get
-            {
-                this.ThrowIfDisposed();
-
-                return false;
-            }
-        }
-
-        public bool Remove(ComposablePartCatalog item)
-        {
-            Requires.NotNull(item, "item");
-
-            this.ThrowIfDisposed();
-
-            using (new ReadLock(this._lock))
-            {
-                if (!this._catalogs.Contains(item))
-                {
-                    return false;
-                }
-            }
-
-            bool isSuccessfulRemoval = false;
-
-            var removedParts = new Lazy<IEnumerable<ComposablePartDefinition>>(() => item.Parts.ToArray(), false);
-            using (var atomicComposition = new AtomicComposition())
-            {
-                this.RaiseChangingEvent(null, removedParts, atomicComposition);
-
-                using (new WriteLock(this._lock))
-                {
-                    if (_isCopyNeeded)
-                    {
-                        this._catalogs = new List<ComposablePartCatalog>(this._catalogs);
-                        this._isCopyNeeded = false;
-                    }
-
-                    isSuccessfulRemoval = this._catalogs.Remove(item);
-                    if (isSuccessfulRemoval)
-                    {
-                        this._hasChanged = true;
-                    }
-                }
-
-                this.UnsubscribeFromCatalogNotifications(item);
-
-                // Complete after the catalog changes are written
-                atomicComposition.Complete();
-            }
-
-            this.RaiseChangedEvent(null, removedParts);
-
-            return isSuccessfulRemoval;
-        }
-
-        internal bool HasChanged
-        {
-            get
-            {
-                this.ThrowIfDisposed();
-
-                using (new ReadLock(this._lock))
-                {
-                    return this._hasChanged;
-                }
-            }
-        }
-
-        public IEnumerator<ComposablePartCatalog> GetEnumerator()
-        {
-            this.ThrowIfDisposed();
-
-            using (new ReadLock(this._lock))
-            {
-                IEnumerator<ComposablePartCatalog> enumerator = this._catalogs.GetEnumerator();
-                this._isCopyNeeded = true;
-                return enumerator;
-            }
-        }
-
-        IEnumerator IEnumerable.GetEnumerator()
-        {
-            return this.GetEnumerator();
-        }
-
-        public void Dispose()
-        {
-            Dispose(true);
-            GC.SuppressFinalize(this);
-        }
-
-        protected virtual void Dispose(bool disposing)
-        {
-            if (disposing)
-            {
-                if (!this._isDisposed)
-                {
-                    bool disposeLock = false;
-                    IEnumerable<ComposablePartCatalog> catalogs = null;
-                    try
-                    {
-                        using (new WriteLock(this._lock))
-                        {
-                            if (!this._isDisposed)
-                            {
-                                disposeLock = true;
-
-                                catalogs = this._catalogs;
-                                this._catalogs = null;
-
-                                this._isDisposed = true;
-                            }
-                        }
-                    }
-                    finally
-                    {
-                        if (catalogs != null)
-                        {
-                            this.UnsubscribeFromCatalogNotifications(catalogs);
-                            catalogs.ForEach(catalog => catalog.Dispose());
-                        }
-
-                        if (disposeLock)
-                        {
-                            this._lock.Dispose();
-                        }
-                    }
-                }
-            }
-        }
-
-        private void RaiseChangedEvent(
-            Lazy<IEnumerable<ComposablePartDefinition>> addedDefinitions,
-            Lazy<IEnumerable<ComposablePartDefinition>> removedDefinitions)
-        {
-            if (this._onChanged == null || this.Changed == null)
-            {
-                return;
-            }
-
-            var added = (addedDefinitions == null ? Enumerable.Empty<ComposablePartDefinition>() : addedDefinitions.Value);
-            var removed = (removedDefinitions == null ? Enumerable.Empty<ComposablePartDefinition>() : removedDefinitions.Value);
-
-            this._onChanged.Invoke(new ComposablePartCatalogChangeEventArgs(added, removed, null));
-        }
-
-        public void OnChanged(object sender, ComposablePartCatalogChangeEventArgs e)
-        {
-            var changedEvent = this.Changed;
-            if (changedEvent != null)
-            {
-                changedEvent(sender, e);
-            }
-        }
-
-        private void RaiseChangingEvent(
-           Lazy<IEnumerable<ComposablePartDefinition>> addedDefinitions,
-           Lazy<IEnumerable<ComposablePartDefinition>> removedDefinitions,
-           AtomicComposition atomicComposition)
-        {
-            if (this._onChanging == null || this.Changing == null)
-            {
-                return;
-            }
-            var added = (addedDefinitions == null ? Enumerable.Empty<ComposablePartDefinition>() : addedDefinitions.Value);
-            var removed = (removedDefinitions == null ? Enumerable.Empty<ComposablePartDefinition>() : removedDefinitions.Value);
-
-            this._onChanging.Invoke(new ComposablePartCatalogChangeEventArgs(added, removed, atomicComposition));
-        }
-
-        public void OnChanging(object sender, ComposablePartCatalogChangeEventArgs e)
-        {
-            var changingEvent = this.Changing;
-            if (changingEvent != null)
-            {
-                changingEvent(sender, e);
-            }
-        }
-
-        private void OnContainedCatalogChanged(object sender, ComposablePartCatalogChangeEventArgs e)
-        {
-            if (this._onChanged == null || this.Changed == null)
-            {
-                return;
-            }
-
-            this._onChanged.Invoke(e);
-        }
-
-        private void OnContainedCatalogChanging(object sender, ComposablePartCatalogChangeEventArgs e)
-        {
-            if (this._onChanging == null || this.Changing == null)
-            {
-                return;
-            }
-
-            this._onChanging.Invoke(e);
-        }
-
-        private void SubscribeToCatalogNotifications(ComposablePartCatalog catalog)
-        {
-            INotifyComposablePartCatalogChanged notifyCatalog = catalog as INotifyComposablePartCatalogChanged;
-            if (notifyCatalog != null)
-            {
-                notifyCatalog.Changed += this.OnContainedCatalogChanged;
-                notifyCatalog.Changing += this.OnContainedCatalogChanging;
-            }
-        }
-
-        private void SubscribeToCatalogNotifications(IEnumerable<ComposablePartCatalog> catalogs)
-        {
-            foreach (var catalog in catalogs)
-            {
-                SubscribeToCatalogNotifications(catalog);
-            }
-        }
-
-        private void UnsubscribeFromCatalogNotifications(ComposablePartCatalog catalog)
-        {
-            INotifyComposablePartCatalogChanged notifyCatalog = catalog as INotifyComposablePartCatalogChanged;
-            if (notifyCatalog != null)
-            {
-                notifyCatalog.Changed -= this.OnContainedCatalogChanged;
-                notifyCatalog.Changing -= this.OnContainedCatalogChanging;
-            }
-        }
-
-        private void UnsubscribeFromCatalogNotifications(IEnumerable<ComposablePartCatalog> catalogs)
-        {
-            foreach (var catalog in catalogs)
-            {
-                UnsubscribeFromCatalogNotifications(catalog);
-            }
-        }
-
-        private void ThrowIfDisposed()
-        {
-            if (this._isDisposed)
-            {
-                throw ExceptionBuilder.CreateObjectDisposed(this);
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ComposablePartExportProvider.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ComposablePartExportProvider.cs
deleted file mode 100644
index 5337b4e..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ComposablePartExportProvider.cs
+++ /dev/null
@@ -1,396 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Primitives;
-using System.Diagnostics;
-using System.Globalization;
-using System.Linq;
-using System.Threading;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    public class ComposablePartExportProvider : ExportProvider, IDisposable
-    {
-        private List<ComposablePart> _parts = new List<ComposablePart>();
-        private volatile bool _isDisposed = false;
-        private volatile bool _isRunning = false;
-        private CompositionLock _lock = null;
-        private ExportProvider _sourceProvider;
-        private ImportEngine _importEngine;
-        private volatile bool _currentlyComposing;
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="ComposablePartExportProvider"/> class.
-        /// </summary>
-        public ComposablePartExportProvider() : 
-            this(false)
-        {
-        }
-
-        public ComposablePartExportProvider(bool isThreadSafe)
-        {
-            this._lock = new CompositionLock(isThreadSafe);
-        }
-
-        /// <summary>
-        /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-        /// </summary>
-        public void Dispose()
-        {
-            this.Dispose(true);
-            GC.SuppressFinalize(this);
-        }
-
-        /// <summary>
-        /// Releases unmanaged and - optionally - managed resources
-        /// </summary>
-        /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
-        protected virtual void Dispose(bool disposing)
-        {
-            if (disposing)
-            {
-                if (!this._isDisposed)
-                {
-                    bool disposeLock = false;
-                    ImportEngine oldImportEngine = null;
-                    try
-                    {
-                        using (this._lock.LockStateForWrite())
-                        {
-                            if (!this._isDisposed)
-                            {
-                                oldImportEngine = this._importEngine;
-                                this._importEngine = null;
-                                this._sourceProvider = null;
-                                this._isDisposed = true;
-                                disposeLock = true;
-                            }
-                        }
-                    }
-                    finally
-                    {
-                        if (oldImportEngine != null)
-                        {
-                            oldImportEngine.Dispose();
-                        }
-
-                        if (disposeLock)
-                        {
-                            this._lock.Dispose();
-                        }
-                    }
-                }
-            }
-        }
-
-        /// <summary>
-        ///     Gets the export provider which provides the provider access to
-        ///     exports.
-        /// </summary>
-        /// <value>
-        ///     The <see cref="ExportProvider"/> which provides the 
-        ///     <see cref="ComposablePartExportProvider"/> access to <see cref="Export"/> objects. 
-        ///     The default is <see langword="null"/>.
-        /// </value>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="value"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="InvalidOperationException">
-        ///     This property has already been set.
-        ///     <para>
-        ///         -or-
-        ///     </para>
-        ///     The methods on the <see cref="ComposablePartExportProvider"/> 
-        ///     have already been accessed.
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="ComposablePartExportProvider"/> has been disposed of.
-        /// </exception>
-        /// <remarks>
-        ///     This property must be set before accessing any methods on the 
-        ///     <see cref="ComposablePartExportProvider"/>.
-        /// </remarks>
-        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope", Justification = "EnsureCanSet ensures that the property is set only once, Dispose is not required")]
-        public ExportProvider SourceProvider
-        {
-            get
-            {
-                this.ThrowIfDisposed();
-
-                return this._sourceProvider;
-            }
-            set
-            {
-                this.ThrowIfDisposed();
-
-                Requires.NotNull(value, "value");
-                using (this._lock.LockStateForWrite())
-                {
-                    this.EnsureCanSet(this._sourceProvider);
-                    this._sourceProvider = value;
-                }
-
-                // This should be safe to do outside the lock, because only the first setter will ever win
-                // and others will throw
-                ImportEngine importEngine = new ImportEngine(this._sourceProvider, this._lock.IsThreadSafe);
-                Thread.MemoryBarrier();
-                this._importEngine = importEngine;
-            }
-        }
-
-        /// <summary>
-        /// Returns all exports that match the conditions of the specified import.
-        /// </summary>
-        /// <param name="definition">The <see cref="ImportDefinition"/> that defines the conditions of the
-        /// <see cref="Export"/> to get.</param>
-        /// <returns></returns>
-        /// <result>
-        /// An <see cref="IEnumerable{T}"/> of <see cref="Export"/> objects that match
-        /// the conditions defined by <see cref="ImportDefinition"/>, if found; otherwise, an
-        /// empty <see cref="IEnumerable{T}"/>.
-        /// </result>
-        /// <remarks>
-        /// 	<note type="inheritinfo">
-        /// The implementers should not treat the cardinality-related mismatches as errors, and are not
-        /// expected to throw exceptions in those cases.
-        /// For instance, if the import requests exactly one export and the provider has no matching exports or more than one,
-        /// it should return an empty <see cref="IEnumerable{T}"/> of <see cref="Export"/>.
-        /// </note>
-        /// </remarks>
-        protected override IEnumerable<Export> GetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition)
-        {
-            this.ThrowIfDisposed();
-            this.EnsureRunning();
-
-            // Determine whether there is a composition atomicComposition-specific list of parts to use,
-            // failing that use the usual list.  We never change the list of parts in place,
-            // but rather copy, change and write a new list atomically.  Therefore all we need
-            // to do here is to read the _parts member.
-            List<ComposablePart> parts = null;
-            using (this._lock.LockStateForRead())
-            {
-                parts = atomicComposition.GetValueAllowNull(this, this._parts);
-            }
-
-            if (parts.Count == 0)
-            {
-                return Enumerable.Empty<Export>();
-            }
-
-            List<Export> exports = new List<Export>();
-            foreach (var part in parts)
-            {
-                foreach (var exportDefinition in part.ExportDefinitions)
-                {
-                    if (definition.IsConstraintSatisfiedBy(exportDefinition))
-                    {
-                        exports.Add(this.CreateExport(part, exportDefinition));
-                    }
-                }
-            }
-            return exports;
-        }    
-
-        public void Compose(CompositionBatch batch)
-        {
-            this.ThrowIfDisposed();
-            this.EnsureRunning();
-
-            Requires.NotNull(batch, "batch");
-
-            // Quick exit test can be done prior to cloning since it's just an optimization, not a
-            // change in behavior
-            if ((batch.PartsToAdd.Count == 0) && (batch.PartsToRemove.Count == 0))
-            {
-                return;
-            }
-
-            CompositionResult result = CompositionResult.SucceededResult;
-
-            // Clone the batch, so that the external changes wouldn't happen half-way thorugh compose
-            // NOTE : this does not guarantee the atomicity of cloning, which is not the goal anyway, 
-            // rather the fact that all subsequent calls will deal with an unchanging batch
-            batch = new CompositionBatch(batch.PartsToAdd, batch.PartsToRemove);
-
-            var newParts = GetUpdatedPartsList(batch);
-
-            // Allow only recursive calls from the import engine to see the changes until
-            // they've been verified ...
-            using (var atomicComposition = new AtomicComposition())
-            {
-                // Don't allow reentrant calls to compose during previewing to prevent
-                // corrupted state.
-                if (this._currentlyComposing)
-                {
-                    throw new InvalidOperationException(Strings.ReentrantCompose);
-                }
-
-                this._currentlyComposing = true;
-
-                try
-                {
-                    // In the meantime recursive calls need to be able to see the list as well
-                    atomicComposition.SetValue(this, newParts);
-
-                    // Recompose any existing imports effected by the these changes first so that
-                    // adapters, resurrected parts, etc. can all play their role in satisfying
-                    // imports for added parts
-                    this.Recompose(batch, atomicComposition);
-
-                    // Ensure that required imports can be satisfied
-                    foreach (ComposablePart part in batch.PartsToAdd)
-                    {
-                        // collect the result of previewing all the adds in the batch
-                        try
-                        {
-                            this._importEngine.PreviewImports(part, atomicComposition);
-                        }
-                        catch (ChangeRejectedException ex)
-                        {
-                            result = result.MergeResult(new CompositionResult(ex.Errors));
-                        }
-                    }
-
-                    result.ThrowOnErrors(atomicComposition);
-
-                    // Complete the new parts since they passed previewing.`
-                    using (this._lock.LockStateForWrite())
-                    {
-                        this._parts = newParts;
-                    }
-
-                    atomicComposition.Complete();
-                }
-                finally
-                {
-                    this._currentlyComposing = false;
-                }
-            }
-
-            // Satisfy Imports
-            // - Satisfy imports on all newly added component parts
-            foreach (ComposablePart part in batch.PartsToAdd)
-            {
-                result = result.MergeResult(CompositionServices.TryInvoke(() =>
-                    this._importEngine.SatisfyImports(part)));
-            }
-
-            // return errors
-            result.ThrowOnErrors();
-        }
-
-        private List<ComposablePart> GetUpdatedPartsList(CompositionBatch batch)
-        {
-            Assumes.NotNull(batch);
-
-            // Copy the current list of parts - we are about to modify it
-            // This is an OK thing to do as this is the only method that can modify the List AND Compose can
-            // only be executed on one thread at a time - thus two different threads cannot tramp over each other
-            List<ComposablePart> parts = null;
-            using (this._lock.LockStateForRead())
-            {
-                parts = this._parts.ToList(); // this copies the list
-            }
-
-            foreach (ComposablePart part in batch.PartsToAdd)
-            {
-                parts.Add(part);
-            }
-
-            foreach (ComposablePart part in batch.PartsToRemove)
-            {
-                parts.Remove(part);
-            }
-
-            return parts;
-        }
-
-        private void Recompose(CompositionBatch batch, AtomicComposition atomicComposition)
-        {
-            Assumes.NotNull(batch);
-
-            // Unregister any removed component parts
-            foreach (ComposablePart part in batch.PartsToRemove)
-            {
-                this._importEngine.ReleaseImports(part, atomicComposition);
-            }
-
-            // Recompose any imports effected by the these changes (the changes are
-            // observable through GetExports in the appropriate atomicComposition, thus we can fire
-            // the event
-            IEnumerable<ExportDefinition> addedExports = batch.PartsToAdd.Count != 0 ?
-                batch.PartsToAdd.SelectMany(part => part.ExportDefinitions).ToArray() :
-                new ExportDefinition[0];
-
-            IEnumerable<ExportDefinition> removedExports = batch.PartsToRemove.Count != 0 ?
-                batch.PartsToRemove.SelectMany(part => part.ExportDefinitions).ToArray() :
-                new ExportDefinition[0];
-
-            this.OnExportsChanging(
-                new ExportsChangeEventArgs(addedExports, removedExports, atomicComposition));
-
-            atomicComposition.AddCompleteAction(() => this.OnExportsChanged(
-                new ExportsChangeEventArgs(addedExports, removedExports, null)));
-        }
-
-        private Export CreateExport(ComposablePart part, ExportDefinition export)
-        {
-            return new Export(export, () => GetExportedValue(part, export));
-        }
-
-        private object GetExportedValue(ComposablePart part, ExportDefinition export)
-        {
-            this.ThrowIfDisposed();
-            this.EnsureRunning();
-
-            return CompositionServices.GetExportedValueFromComposedPart(this._importEngine, part, export);
-        }
-
-        [DebuggerStepThrough]
-        private void ThrowIfDisposed()
-        {
-            if (this._isDisposed)
-            {
-                throw new ObjectDisposedException(this.GetType().Name);
-            }
-        }
-
-        [DebuggerStepThrough]
-        private void EnsureCanRun()
-        {
-            if ((this._sourceProvider == null) || (this._importEngine == null))
-            {
-                throw new InvalidOperationException(string.Format(CultureInfo.CurrentCulture, Strings.ObjectMustBeInitialized, "SourceProvider")); // NOLOC
-            }
-        }
-
-        [DebuggerStepThrough]
-        private void EnsureRunning()
-        {
-            if (!this._isRunning)
-            {
-                using (this._lock.LockStateForWrite())
-                {
-                    if (!this._isRunning)
-                    {
-                        this.EnsureCanRun();
-                        this._isRunning = true;
-                    }
-                }
-            }
-        }
-
-        [DebuggerStepThrough]
-        private void EnsureCanSet<T>(T currentValue)
-            where T : class
-        {
-            if ((this._isRunning) || (currentValue != null))
-            {
-                throw new InvalidOperationException(string.Format(CultureInfo.CurrentCulture, Strings.ObjectAlreadyInitialized));
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CompositionBatch.SingleExportComposablePart.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CompositionBatch.SingleExportComposablePart.cs
deleted file mode 100644
index fd5875e..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CompositionBatch.SingleExportComposablePart.cs
+++ /dev/null
@@ -1,62 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Primitives;
-using System.Linq;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    partial class CompositionBatch
-    {
-        // Represents a part that exports a single export
-        private class SingleExportComposablePart : ComposablePart
-        {
-            private readonly Export _export;
-
-            public SingleExportComposablePart(Export export)
-            {
-                Assumes.NotNull(export);
-
-                this._export = export;
-            }
-
-            public override IDictionary<string, object> Metadata
-            {
-                get { return MetadataServices.EmptyMetadata; }
-            }
-
-            public override IEnumerable<ExportDefinition> ExportDefinitions
-            {
-                get { return new ExportDefinition[] { _export.Definition }; }
-            }
-
-            public override IEnumerable<ImportDefinition> ImportDefinitions
-            {
-                get { return Enumerable.Empty<ImportDefinition>(); }
-            }
-
-            public override object GetExportedValue(ExportDefinition definition)
-            {
-                Requires.NotNull(definition, "definition");
-
-                if (definition != _export.Definition)
-                {
-                    throw ExceptionBuilder.CreateExportDefinitionNotOnThisComposablePart("definition");
-                }
-
-                return _export.Value;
-            }
-
-            public override void SetImport(ImportDefinition definition, IEnumerable<Export> exports)
-            {
-                Requires.NotNull(definition, "definition");
-                Requires.NotNullOrNullElements(exports, "exports");
-
-                throw ExceptionBuilder.CreateImportDefinitionNotOnThisComposablePart("definition");
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CompositionBatch.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CompositionBatch.cs
deleted file mode 100644
index 43dd7f9..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CompositionBatch.cs
+++ /dev/null
@@ -1,174 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Primitives;
-using System.Linq;
-using Microsoft.Internal;
-using System.Collections.ObjectModel;
-using System.Diagnostics.CodeAnalysis;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    public partial class CompositionBatch
-    {
-        private object _lock = new object();
-        private bool _copyNeededForAdd;
-        private bool _copyNeededForRemove;
-        private List<ComposablePart> _partsToAdd;
-        private ReadOnlyCollection<ComposablePart> _readOnlyPartsToAdd;
-        private List<ComposablePart> _partsToRemove;
-        private ReadOnlyCollection<ComposablePart> _readOnlyPartsToRemove;
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="CompositionBatch"/> class.
-        /// </summary>
-        public CompositionBatch() : 
-            this(null, null)
-        {
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="CompositionBatch"/> class.
-        /// </summary>
-        /// <param name="partsToAdd">The parts to add.</param>
-        /// <param name="partsToRemove">The parts to remove.</param>
-        public CompositionBatch(IEnumerable<ComposablePart> partsToAdd, IEnumerable<ComposablePart> partsToRemove)
-        {
-            this._partsToAdd = new List<ComposablePart>();
-            if (partsToAdd != null)
-            {
-                foreach (var part in partsToAdd)
-                {
-                    if (part == null)
-                    {
-                        throw ExceptionBuilder.CreateContainsNullElement("partsToAdd");
-                    }
-                    this._partsToAdd.Add(part);
-                }
-            }
-            this._readOnlyPartsToAdd = this._partsToAdd.AsReadOnly();
-
-            this._partsToRemove = new List<ComposablePart>();
-            if (partsToRemove != null)
-            {
-                foreach (var part in partsToRemove)
-                {
-                    if (part == null)
-                    {
-                        throw ExceptionBuilder.CreateContainsNullElement("partsToRemove");
-                    }
-                    this._partsToRemove.Add(part);
-                }
-            }
-            this._readOnlyPartsToRemove = this._partsToRemove.AsReadOnly();
-        }
-
-        /// <summary>
-        /// Returns the collection of parts that will be added.
-        /// </summary>
-        /// <value>The parts to be added.</value>
-        public ReadOnlyCollection<ComposablePart> PartsToAdd
-        {
-            get
-            {
-                lock (this._lock)
-                {
-                    this._copyNeededForAdd = true;
-                    return this._readOnlyPartsToAdd;
-                }
-            }
-        }
-
-        /// <summary>
-        /// Returns the collection of parts that will be removed.
-        /// </summary>
-        /// <value>The parts to be removed.</value>
-        public ReadOnlyCollection<ComposablePart> PartsToRemove
-        {
-            get
-            {
-                lock (this._lock)
-                {
-                    this._copyNeededForRemove = true;
-                    return this._readOnlyPartsToRemove;
-                }
-            }
-        }
-
-        /// <summary>
-        ///     Adds the specified part to the <see cref="CompositionBatch"/>.
-        /// </summary>
-        /// <param name="part">
-        /// The part.
-        /// </param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="part"/> is <see langword="null"/>.
-        /// </exception>
-        public void AddPart(ComposablePart part)
-        {
-            Requires.NotNull(part, "part");
-            lock (this._lock)
-            {
-                if (this._copyNeededForAdd)
-                {
-                    this._partsToAdd = new List<ComposablePart>(this._partsToAdd);
-                    this._readOnlyPartsToAdd = this._partsToAdd.AsReadOnly();
-                    this._copyNeededForAdd = false;
-                }
-                this._partsToAdd.Add(part);
-            }
-        }
-
-        /// <summary>
-        ///     Removes the specified part from the <see cref="CompositionBatch"/>.
-        /// </summary>
-        /// <param name="part">
-        /// The part.
-        /// </param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="part"/> is <see langword="null"/>.
-        /// </exception>
-        public void RemovePart(ComposablePart part)
-        {
-            Requires.NotNull(part, "part");
-            lock (this._lock)
-            {
-                if (this._copyNeededForRemove)
-                {
-                    this._partsToRemove = new List<ComposablePart>(this._partsToRemove);
-                    this._readOnlyPartsToRemove = this._partsToRemove.AsReadOnly();
-                    this._copyNeededForRemove = false;
-                }
-                this._partsToRemove.Add(part);
-            }
-        }
-
-        /// <summary>
-        ///     Adds the specified export to the <see cref="CompositionBatch"/>.
-        /// </summary>
-        /// <param name="export">
-        ///     The <see cref="Export"/> to add to the <see cref="CompositionBatch"/>.
-        /// </param>
-        /// <returns>
-        ///     A <see cref="ComposablePart"/> that can be used remove the <see cref="Export"/>
-        ///     from the <see cref="CompositionBatch"/>.
-        /// </returns>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="export"/> is <see langword="null"/>.
-        /// </exception>
-        /// <remarks>
-        /// </remarks>
-        public ComposablePart AddExport(Export export)
-        {
-            Requires.NotNull(export, "export");
-
-            ComposablePart part = new SingleExportComposablePart(export);
-
-            this.AddPart(part);
-
-            return part;
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CompositionConstants.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CompositionConstants.cs
deleted file mode 100644
index 5a1c29a..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CompositionConstants.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Primitives;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    public static class CompositionConstants
-    {
-        private const string CompositionNamespace = "System.ComponentModel.Composition";
-
-        public const string PartCreationPolicyMetadataName = CompositionNamespace + ".CreationPolicy";
-        public const string ExportTypeIdentityMetadataName = "ExportTypeIdentity";
-        internal const string ProductDefinitionMetadataName = "ProductDefinition";
-
-        internal const string PartCreatorContractName = CompositionNamespace + ".Contracts.ExportFactory";
-        internal static readonly string PartCreatorTypeIdentity = AttributedModelServices.GetTypeIdentity(typeof(ComposablePartDefinition));
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CompositionContainer.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CompositionContainer.cs
deleted file mode 100644
index 34c5e6c..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CompositionContainer.cs
+++ /dev/null
@@ -1,410 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.ComponentModel.Composition.Primitives;
-using System.Diagnostics;
-using System.Diagnostics.CodeAnalysis;
-using System.Linq;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-using System.Threading;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    public partial class CompositionContainer : ExportProvider, ICompositionService, IDisposable
-    {
-        private ImportEngine _importEngine;
-        private ComposablePartExportProvider _partExportProvider;
-        private AggregateExportProvider _aggregatingExportProvider;
-        private ExportProvider _rootProvider;
-        private CatalogExportProvider _catalogExportProvider;
-        private readonly ReadOnlyCollection<ExportProvider> _providers;
-        private volatile int _isDisposed = 0;
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="CompositionContainer"/> class.
-        /// </summary>
-        public CompositionContainer()
-            : this((ComposablePartCatalog)null)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="CompositionContainer"/> class 
-        ///     with the specified export providers.
-        /// </summary>
-        /// <param name="providers">
-        ///     A <see cref="Array"/> of <see cref="ExportProvider"/> objects which provide 
-        ///     the <see cref="CompositionContainer"/> access to <see cref="Export"/> objects,
-        ///     or <see langword="null"/> to set <see cref="Providers"/> to an empty
-        ///     <see cref="ReadOnlyCollection{T}"/>.
-        /// </param>
-        /// <exception cref="ArgumentException">
-        ///     <paramref name="providers"/> contains an element that is <see langword="null"/>.
-        /// </exception>
-        public CompositionContainer(params ExportProvider[] providers) : 
-            this((ComposablePartCatalog)null, providers)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="CompositionContainer"/> class 
-        ///     with the specified catalog and export providers.
-        /// </summary>
-        /// <param name="providers">
-        ///     A <see cref="Array"/> of <see cref="ExportProvider"/> objects which provide 
-        ///     the <see cref="CompositionContainer"/> access to <see cref="Export"/> objects,
-        ///     or <see langword="null"/> to set <see cref="Providers"/> to an empty 
-        ///     <see cref="ReadOnlyCollection{T}"/>.
-        /// </param>
-        /// <exception cref="ArgumentException">
-        ///     <paramref name="providers"/> contains an element that is <see langword="null"/>.
-        /// </exception>
-        public CompositionContainer(ComposablePartCatalog catalog, params ExportProvider[] providers): 
-            this(catalog, false, providers)
-        {
-        }
-
-        public CompositionContainer(ComposablePartCatalog catalog, bool isThreadSafe, params ExportProvider[] providers)
-        {
-            this._importEngine = new ImportEngine(this, isThreadSafe);
-            this._partExportProvider = new ComposablePartExportProvider(isThreadSafe);
-            this._partExportProvider.SourceProvider = this;
-            this._providers = new ReadOnlyCollection<ExportProvider>(providers != null ? (ExportProvider[])providers.Clone() : new ExportProvider[0]);
-
-            List<ExportProvider> providerList = new List<ExportProvider>();
-
-            providerList.Add(this._partExportProvider);
-
-            if (catalog != null)
-            {
-                this._catalogExportProvider = new CatalogExportProvider(catalog, isThreadSafe);
-                this._catalogExportProvider.SourceProvider = this;
-
-                providerList.Add(this._catalogExportProvider);
-            }
-
-            foreach (var provider in this._providers)
-            {
-                if (provider == null)
-                {
-                    throw ExceptionBuilder.CreateContainsNullElement("providers");
-                }
-                providerList.Add(provider);
-            }
-
-            // we only build the aggregating provider if necessary - that is, if we have more than one provider to aggregate
-            if (providerList.Count > 1)
-            {
-                this._aggregatingExportProvider = new AggregateExportProvider(providerList);
-                this._rootProvider = this._aggregatingExportProvider;
-            }
-            else
-            {
-                Assumes.IsTrue(providerList.Count == 1);
-                this._rootProvider = providerList[0];
-            }
-
-            this._rootProvider.ExportsChanged += this.OnExportsChangedInternal;
-            this._rootProvider.ExportsChanging += this.OnExportsChangingInternal;
-        }
-
-        /// <summary>
-        ///     Gets the catalog which provides the container access to exports produced
-        ///     from composable parts.
-        /// </summary>
-        /// <value>
-        ///     The <see cref="ComposablePartCatalog"/> which provides the 
-        ///     <see cref="CompositionContainer"/> access to exports produced from
-        ///     <see cref="ComposablePart"/> objects. The default is <see langword="null"/>.
-        /// </value>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="CompositionContainer"/> has been disposed of.
-        /// </exception>
-        public ComposablePartCatalog Catalog
-        {
-            get 
-            {
-                ThrowIfDisposed();
-
-                if (_catalogExportProvider != null)
-                {
-                    return _catalogExportProvider.Catalog;
-                }
-
-                return null;
-            }
-        }
-
-        /// <summary>
-        ///     Gets the export providers which provide the container access to additional exports.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="ReadOnlyCollection{T}"/> of <see cref="ExportProvider"/> objects
-        ///     which provide the <see cref="CompositionContainer"/> access to additional
-        ///     <see cref="Export"/> objects. The default is an empty 
-        ///     <see cref="ReadOnlyCollection{T}"/>.
-        /// </value>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="CompositionContainer"/> has been disposed of.
-        /// </exception>
-        public ReadOnlyCollection<ExportProvider> Providers
-        {
-            get
-            {
-                this.ThrowIfDisposed();
-
-                return this._providers;
-            }
-        }
-
-        /// <summary>
-        /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-        /// </summary>
-        public void Dispose()
-        {
-            this.Dispose(true);
-            GC.SuppressFinalize(this);
-        }
-
-        /// <summary>
-        /// Releases unmanaged and - optionally - managed resources
-        /// </summary>
-        /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
-        protected virtual void Dispose(bool disposing)
-        {
-            if (disposing)
-            {
-                // NOTE : According to http://msdn.microsoft.com/en-us/library/4bw5ewxy.aspx, the warning is bogus when used with Interlocked API.
-#pragma warning disable 420
-                if (Interlocked.CompareExchange(ref this._isDisposed, 1, 0) == 0)
-#pragma warning restore 420
-                {
-                    this._rootProvider.ExportsChanged -= this.OnExportsChangedInternal;
-                    this._rootProvider.ExportsChanging -= this.OnExportsChangingInternal;
-                    if (this._aggregatingExportProvider != null)
-                    {
-                        this._aggregatingExportProvider.Dispose();
-                    }
-                    this._partExportProvider.Dispose();
-                    if (this._catalogExportProvider != null)
-                    {
-                        this._catalogExportProvider.Dispose();
-                    }
-                    this._importEngine.Dispose();   
-                }
-            }
-        }
-  
-        public void Compose(CompositionBatch batch)
-        {
-            Requires.NotNull(batch, "batch");
-
-            this.ThrowIfDisposed();
-            this._partExportProvider.Compose(batch);
-        }
-
-        /// <summary>
-        ///     Releases the <see cref="Export"/> from the <see cref="CompositionContainer"/>. The behavior
-        ///     may vary depending on the implementation of the <see cref="ExportProvider"/> that produced 
-        ///     the <see cref="Export"/> instance. As a general rule non shared exports should be early 
-        ///     released causing them to be detached from the container.
-        ///
-        ///     For example the <see cref="CatalogExportProvider"/> will only release 
-        ///     an <see cref="Export"/> if it comes from a <see cref="ComposablePart"/> that was constructed
-        ///     under a <see cref="CreationPolicy.NonShared" /> context. Release in this context means walking
-        ///     the dependency chain of the <see cref="Export"/>s, detaching references from the container and 
-        ///     calling Dispose on the <see cref="ComposablePart"/>s as needed. If the <see cref="Export"/> 
-        ///     was constructed under a <see cref="CreationPolicy.Shared" /> context the 
-        ///     <see cref="CatalogExportProvider"/> will do nothing as it may be in use by other requestors. 
-        ///     Those will only be detached when the container is itself disposed.
-        /// </summary>
-        /// <param name="export"><see cref="Export"/> that needs to be released.</param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="export"/> is <see langword="null"/>.
-        /// </exception>
-        [SuppressMessage("Microsoft.Performance", "CA1822")]
-        public void ReleaseExport(Export export)
-        {
-            Requires.NotNull(export, "export");
-
-            IDisposable dependency = export as IDisposable;
-
-            if (dependency != null)
-            {
-                dependency.Dispose();
-            }
-        }
-
-        /// <summary>
-        ///     Releases the <see cref="Lazy{T}"/> from the <see cref="CompositionContainer"/>. The behavior
-        ///     may vary depending on the implementation of the <see cref="ExportProvider"/> that produced 
-        ///     the <see cref="Export"/> instance. As a general rule non shared exports should be early 
-        ///     released causing them to be detached from the container.
-        ///
-        ///     For example the <see cref="CatalogExportProvider"/> will only release 
-        ///     an <see cref="Lazy{T}"/> if it comes from a <see cref="ComposablePart"/> that was constructed
-        ///     under a <see cref="CreationPolicy.NonShared" /> context. Release in this context means walking
-        ///     the dependency chain of the <see cref="Export"/>s, detaching references from the container and 
-        ///     calling Dispose on the <see cref="ComposablePart"/>s as needed. If the <see cref="Export"/> 
-        ///     was constructed under a <see cref="CreationPolicy.Shared" /> context the 
-        ///     <see cref="CatalogExportProvider"/> will do nothing as it may be in use by other requestors. 
-        ///     Those will only be detached when the container is itself disposed.
-        /// </summary>
-        /// <param name="export"><see cref="Export"/> that needs to be released.</param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="export"/> is <see langword="null"/>.
-        /// </exception>
-        [SuppressMessage("Microsoft.Performance", "CA1822")]
-        public void ReleaseExport<T>(Lazy<T> export)
-        {
-            Requires.NotNull(export, "export");
-
-            IDisposable dependency = export as IDisposable;
-
-            if (dependency != null)
-            {
-                dependency.Dispose();
-            }
-        }
-
-        /// <summary>
-        ///     Releases a set of <see cref="Export"/>s from the <see cref="CompositionContainer"/>. 
-        ///     See also <see cref="ReleaseExport"/>.
-        /// </summary>
-        /// <param name="exports"><see cref="Export"/>s that need to be released.</param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="exports"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="ArgumentException">
-        ///     <paramref name="exports"/> contains an element that is <see langword="null"/>.
-        /// </exception>
-        public void ReleaseExports(IEnumerable<Export> exports)
-        {
-            Requires.NotNullOrNullElements(exports, "exports");
-
-            foreach (Export export in exports)
-            {
-                this.ReleaseExport(export);
-            }
-        }
-
-        /// <summary>
-        ///     Releases a set of <see cref="Export"/>s from the <see cref="CompositionContainer"/>. 
-        ///     See also <see cref="ReleaseExport"/>.
-        /// </summary>
-        /// <param name="exports"><see cref="Export"/>s that need to be released.</param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="exports"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="ArgumentException">
-        ///     <paramref name="exports"/> contains an element that is <see langword="null"/>.
-        /// </exception>
-        [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
-        public void ReleaseExports<T>(IEnumerable<Lazy<T>> exports)
-        {
-            Requires.NotNullOrNullElements(exports, "exports");
-
-            foreach (Lazy<T> export in exports)
-            {
-                this.ReleaseExport(export);
-            }
-        }
-
-        /// <summary>
-        ///     Releases a set of <see cref="Export"/>s from the <see cref="CompositionContainer"/>. 
-        ///     See also <see cref="ReleaseExport"/>.
-        /// </summary>
-        /// <param name="exports"><see cref="Export"/>s that need to be released.</param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="exports"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="ArgumentException">
-        ///     <paramref name="exports"/> contains an element that is <see langword="null"/>.
-        /// </exception>
-        [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
-        public void ReleaseExports<T, TMetadataView>(IEnumerable<Lazy<T, TMetadataView>> exports)
-        {
-            Requires.NotNullOrNullElements(exports, "exports");
-
-            foreach (Lazy<T, TMetadataView> export in exports)
-            {
-                this.ReleaseExport(export);
-            }
-        }
-
-        /// <summary>
-        ///     Sets the imports of the specified composable part exactly once and they will not
-        ///     ever be recomposed.
-        /// </summary>
-        /// <param name="part">
-        ///     The <see cref="ComposablePart"/> to set the imports.
-        /// </param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="part"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="CompositionException">
-        ///     An error occurred during composition. <see cref="CompositionException.Errors"/> will
-        ///     contain a collection of errors that occurred.
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="ICompositionService"/> has been disposed of.
-        /// </exception>
-        public void SatisfyImportsOnce(ComposablePart part)
-        {
-            this.ThrowIfDisposed();
-            this._importEngine.SatisfyImportsOnce(part);
-        }
-
-        internal void OnExportsChangedInternal(object sender, ExportsChangeEventArgs e)
-        {
-            this.OnExportsChanged(e);
-        }
-
-        internal void OnExportsChangingInternal(object sender, ExportsChangeEventArgs e)
-        {
-            this.OnExportsChanging(e);
-        }
-
-        /// <summary>
-        /// Returns all exports that match the conditions of the specified import.
-        /// </summary>
-        /// <param name="definition">The <see cref="ImportDefinition"/> that defines the conditions of the
-        /// <see cref="Export"/> to get.</param>
-        /// <returns></returns>
-        /// <result>
-        /// An <see cref="IEnumerable{T}"/> of <see cref="Export"/> objects that match
-        /// the conditions defined by <see cref="ImportDefinition"/>, if found; otherwise, an
-        /// empty <see cref="IEnumerable{T}"/>.
-        /// </result>
-        /// <remarks>
-        /// 	<note type="inheritinfo">
-        /// The implementers should not treat the cardinality-related mismatches as errors, and are not
-        /// expected to throw exceptions in those cases.
-        /// For instance, if the import requests exactly one export and the provider has no matching exports or more than one,
-        /// it should return an empty <see cref="IEnumerable{T}"/> of <see cref="Export"/>.
-        /// </note>
-        /// </remarks>
-        protected override IEnumerable<Export> GetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition)
-        {
-            this.ThrowIfDisposed();
-
-            IEnumerable<Export> exports = null;
-            this._rootProvider.TryGetExports(definition, atomicComposition, out exports);
-
-            return exports;
-        }
-
-        [DebuggerStepThrough]
-        private void ThrowIfDisposed()
-        {
-            if (this._isDisposed == 1)
-            {
-                throw ExceptionBuilder.CreateObjectDisposed(this);
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CompositionLock.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CompositionLock.cs
deleted file mode 100644
index 4edf397..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CompositionLock.cs
+++ /dev/null
@@ -1,153 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-#define SINGLETHREADEDLOCKENFORCEMENT
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Primitives;
-using System.Diagnostics;
-using System.Linq;
-using System.Runtime.CompilerServices;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-using System.Threading;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    // This a a lock class that needs to be held in order to perform any mutation of the parts/parts state in the composition
-    // Today's implementation relies on the AppDomain-wide re-entrant lock for changes on the composition, and a narrow lock for changes in 
-    // the state of the specific ImportEngine
-    // Today we make several assumptions to ensure thread-safety:
-    // 1. Each composition doesn't change lock affinity
-    // 2. Every part of the system that updates the status of the parts (in our case ImportEngine) needs to hold the same wide - lock
-    // 3. State of the import engine that gets accessed outside of the wide lock needs to be accessed in the context of the narrow lock
-    // 4. Narrow lock CAN be taken inside the wide lock
-    // 5. Wide lock CANNOT be taken inside the narrow lock
-    // 6. No 3rd party code will EVER get called inside the narrow lock
-    // Sadly, this means that we WILL be calling 3rd party code under a lock, but as long as the lock is re-entrant and they can't invoke us on anotehr thread
-    // we have no issue, other than potential overlocking
-    internal sealed class CompositionLock : IDisposable
-    {
-        // narrow lock
-        private readonly Lock _stateLock = null;
-        // wide lock
-        private static object _compositionLock = new object();
-
-        private int _isDisposed = 0;
-        private bool _isThreadSafe = false;
-
-        private static readonly EmptyLockHolder _EmptyLockHolder = new EmptyLockHolder();
-
-        public CompositionLock(bool isThreadSafe)
-        {
-            this._isThreadSafe = isThreadSafe;
-            if (isThreadSafe)
-            {
-                this._stateLock = new Lock();
-            }
-        }
-
-        public void Dispose()
-        {
-            if (this._isThreadSafe)
-            {
-                if (Interlocked.CompareExchange(ref this._isDisposed, 1, 0) == 0)
-                {
-                    this._stateLock.Dispose();
-                }
-            }
-        }
-
-        public bool IsThreadSafe
-        {
-            get
-            {
-                return this._isThreadSafe;
-            }
-        }
-
-        private void EnterCompositionLock()
-        {
-#pragma warning disable 618
-            if (this._isThreadSafe)
-            {
-                Monitor.Enter(_compositionLock);
-            }
-#pragma warning restore 618
-        }
-
-        private void ExitCompositionLock()
-        {
-            if (this._isThreadSafe)
-            {
-                Monitor.Exit(_compositionLock);
-            }
-        }
-
-        public IDisposable LockComposition()
-        {
-            if (this._isThreadSafe)
-            {
-                return new CompositionLockHolder(this);
-            }
-            else
-            {
-                return _EmptyLockHolder;
-            }
-        }
-
-        public IDisposable LockStateForRead()
-        {
-            if (this._isThreadSafe)
-            {
-                return new ReadLock(this._stateLock);
-            }
-            else
-            {
-                return _EmptyLockHolder;
-            }            
-        }
-
-        public IDisposable LockStateForWrite()
-        {
-            if (this._isThreadSafe)
-            {
-                return new WriteLock(this._stateLock);
-            }
-            else
-            {
-                return _EmptyLockHolder;
-            }   
-        }
-
-        // NOTE : this should NOT be changed to a struct as ImportEngine relies on it
-        public sealed class CompositionLockHolder : IDisposable
-        {
-            private CompositionLock _lock;
-            private int _isDisposed;
-
-            public CompositionLockHolder(CompositionLock @lock)
-            {
-                this._lock = @lock;
-
-                this._isDisposed = 0;
-                this._lock.EnterCompositionLock();
-            }
-
-            public void Dispose()
-            {
-                if (Interlocked.CompareExchange(ref this._isDisposed, 1, 0) == 0)
-                {
-                    this._lock.ExitCompositionLock();
-                }
-            }
-        }
-
-        private sealed class EmptyLockHolder : IDisposable
-        {
-            public void Dispose()
-            {
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CompositionServices.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CompositionServices.cs
deleted file mode 100644
index 77e5fdc..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/CompositionServices.cs
+++ /dev/null
@@ -1,522 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.ComponentModel.Composition;
-using System.ComponentModel.Composition.AttributedModel;
-using System.ComponentModel.Composition.Primitives;
-using System.Globalization;
-using System.Linq;
-using System.Reflection;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-using System.Collections.ObjectModel;
-using System.ComponentModel.Composition.ReflectionModel;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    internal static class CompositionServices
-    {
-        internal static readonly Type InheritedExportAttributeType = typeof(InheritedExportAttribute);
-        internal static readonly Type ExportAttributeType = typeof(ExportAttribute);
-        internal static readonly Type AttributeType = typeof(Attribute);
-        internal static readonly Type ObjectType = typeof(object);
-
-        private static readonly string[] reservedMetadataNames = new string[]
-        {
-            CompositionConstants.PartCreationPolicyMetadataName
-        };  
-
-        internal static Type GetDefaultTypeFromMember(this MemberInfo member)
-        {
-            Assumes.NotNull(member);
-
-            switch (member.MemberType)
-            {
-                case MemberTypes.Property:
-                    return ((PropertyInfo)member).PropertyType;
-
-                case MemberTypes.NestedType:
-                case MemberTypes.TypeInfo:
-                    return ((Type)member);
-
-                case MemberTypes.Field:
-                default:
-                    Assumes.IsTrue(member.MemberType == MemberTypes.Field);
-                    return ((FieldInfo)member).FieldType;
-            }
-        }
-
-        internal static string GetContractNameFromExport(this MemberInfo member, ExportAttribute export)
-        {
-            if (!string.IsNullOrEmpty(export.ContractName))
-            {
-                return export.ContractName;
-            }
-
-            if (export.ContractType != null)
-            {
-                return AttributedModelServices.GetContractName(export.ContractType);
-            }
-
-            if (member.MemberType == MemberTypes.Method)
-            {
-                return AttributedModelServices.GetTypeIdentity((MethodInfo)member);
-            }
-
-            return AttributedModelServices.GetContractName(member.GetDefaultTypeFromMember());
-        }
-
-        internal static string GetTypeIdentityFromExport(this MemberInfo member, ExportAttribute export)
-        {
-            if (export.ContractType != null)
-            {
-                return AttributedModelServices.GetTypeIdentity(export.ContractType);
-            }
-
-            if (member.MemberType == MemberTypes.Method)
-            {
-                return AttributedModelServices.GetTypeIdentity((MethodInfo)member);
-            }
-
-            return AttributedModelServices.GetTypeIdentity(member.GetDefaultTypeFromMember());
-        }
-
-        internal static Type GetContractTypeFromImport(this IAttributedImport import, ImportType importType)
-        {
-            if (import.ContractType != null)
-            {
-                return import.ContractType;
-            }
-
-            return importType.ContractType;
-        }
-
-        internal static string GetContractNameFromImport(this IAttributedImport import, ImportType importType)
-        {
-            if (!string.IsNullOrEmpty(import.ContractName))
-            {
-                return import.ContractName;
-            }
-
-            Type contractType = import.GetContractTypeFromImport(importType);
-
-            return AttributedModelServices.GetContractName(contractType); 
-        }
-
-        internal static string GetTypeIdentityFromImport(this IAttributedImport import, ImportType importType)
-        {
-            Type contractType = import.GetContractTypeFromImport(importType);
-
-            // For our importers we treat object as not having a type identity
-            if (contractType == CompositionServices.ObjectType)
-            {
-                return null;
-            }
-
-            return AttributedModelServices.GetTypeIdentity(contractType); 
-        }
-
-        internal static IDictionary<string, object> GetPartMetadataForType(this Type type, CreationPolicy creationPolicy)
-        {
-            IDictionary<string, object> dictionary = new Dictionary<string, object>(StringComparers.MetadataKeyNames);
-
-            if (creationPolicy != CreationPolicy.Any)
-            {
-                dictionary.Add(CompositionConstants.PartCreationPolicyMetadataName, creationPolicy);
-            }
-
-            foreach (PartMetadataAttribute partMetadata in type.GetAttributes<PartMetadataAttribute>())
-            {
-                if (reservedMetadataNames.Contains(partMetadata.Name, StringComparers.MetadataKeyNames) 
-                    || dictionary.ContainsKey(partMetadata.Name))
-                {
-                    // Perhaps we should log an error here so that people know this value is being ignored.
-                    continue;
-                }
-
-                dictionary.Add(partMetadata.Name, partMetadata.Value);
-            }
-
-            if (dictionary.Count == 0)
-            {
-                return MetadataServices.EmptyMetadata;
-            }
-            else
-            {
-                return dictionary;
-            }
-        }
-
-        internal static void TryExportMetadataForMember(this MemberInfo member, out IDictionary<string, object> dictionary)
-        {
-            dictionary = new Dictionary<string, object>();
-
-            foreach (var attr in member.GetAttributes<Attribute>())
-            {
-                var provider = attr as ExportMetadataAttribute;
-
-                if (provider != null)
-                {
-                    if (reservedMetadataNames.Contains(provider.Name, StringComparers.MetadataKeyNames))
-                    {
-                        throw ExceptionBuilder.CreateDiscoveryException(Strings.Discovery_ReservedMetadataNameUsed, member.GetDisplayName(), provider.Name);
-                    }
-
-                    // we pass "null" for valueType which would make it inferred. We don;t have additional type information when metadata
-                    // goes through the ExportMetadataAttribute path
-                    if (!dictionary.TryContributeMetadataValue(provider.Name, provider.Value, null, provider.IsMultiple))
-                    {
-                        throw ExceptionBuilder.CreateDiscoveryException(Strings.Discovery_DuplicateMetadataNameValues, member.GetDisplayName(), provider.Name);
-                    }
-                }
-                else
-                {
-                    Type attrType = attr.GetType();
-                    if ((attrType != CompositionServices.ExportAttributeType) && attrType.IsAttributeDefined<MetadataAttributeAttribute>(true))
-                    {
-                        bool allowsMultiple = false;
-                        AttributeUsageAttribute usage = attrType.GetFirstAttribute<AttributeUsageAttribute>(true);
-
-                        if (usage != null)
-                        {
-                            allowsMultiple = usage.AllowMultiple;
-                        }
-
-                        foreach (PropertyInfo pi in attrType.GetProperties())
-                        {
-                            if (pi.DeclaringType == CompositionServices.ExportAttributeType || pi.DeclaringType == CompositionServices.AttributeType)
-                            {
-                                // Don't contribute metadata properies from the base attribute types.
-                                continue;
-                            }
-                 
-                            if (reservedMetadataNames.Contains(pi.Name, StringComparers.MetadataKeyNames))
-                            {
-                                throw ExceptionBuilder.CreateDiscoveryException(Strings.Discovery_ReservedMetadataNameUsed, member.GetDisplayName(), provider.Name);
-                            }
-
-                            object value = pi.GetValue(attr, null);
-
-                            if (value != null && !IsValidAttributeType(value.GetType()))
-                            {
-                                throw ExceptionBuilder.CreateDiscoveryException(Strings.Discovery_MetadataContainsValueWithInvalidType, pi.GetDisplayName(), value.GetType().GetDisplayName());
-                            }
-
-                            if (!dictionary.TryContributeMetadataValue(pi.Name, value, pi.PropertyType, allowsMultiple))
-                            {
-                                throw ExceptionBuilder.CreateDiscoveryException(Strings.Discovery_DuplicateMetadataNameValues, member.GetDisplayName(), pi.Name);
-                            }
-                    }
-                    }
-                }
-            }
-
-            // Need Keys.ToArray because we alter the dictionary in the loop
-            foreach (var key in dictionary.Keys.ToArray())
-            {
-                var list = dictionary[key] as MetadataList;
-                if (list != null)
-                {
-                    dictionary[key] = list.ToArray();
-                }
-            }
-
-            return;
-        }
-
-        private static bool TryContributeMetadataValue(this IDictionary<string, object> dictionary, string name, object value, Type valueType, bool allowsMultiple)
-        {
-            object metadataValue;
-            if (!dictionary.TryGetValue(name, out metadataValue))
-            {
-                if (allowsMultiple)
-                {
-                    var list = new MetadataList();
-                    list.Add(value, valueType);
-                    value = list;
-                }
-
-                dictionary.Add(name, value);
-            }
-            else
-            {
-                var list = metadataValue as MetadataList;
-                if (!allowsMultiple || list == null)
-                {
-                    // Either single value already found when should be multiple
-                    // or a duplicate name already exists
-                    dictionary.Remove(name);
-                    return false;
-                }
-
-                list.Add(value, valueType);
-            }
-            return true;
-        }
-
-        private class MetadataList
-        {
-            private Type _arrayType = null;
-            private bool _containsNulls = false;
-            private static readonly Type ObjectType = typeof(object);
-            private static readonly Type TypeType = typeof(Type);
-            private Collection<object> _innerList = new Collection<object>();
-
-            public void Add(object item, Type itemType)
-            {
-                this._containsNulls |= (item == null);
-
-                // if we've been passed typeof(object), we basically have no type inmformation
-                if (itemType == ObjectType)
-                {
-                    itemType = null;
-                }
-
-                // if we have no type information, get it from the item, if we can
-                if ((itemType == null) && (item != null))
-                {
-                    itemType = item.GetType();
-                }
-
-                // Types are special, because the are abstract classes, so if the item casts to Type, we assume System.Type
-                if (item is Type)
-                {
-                    itemType = TypeType;
-                }
-
-                // only try to call this if we got a meaningful type
-                if (itemType != null)
-                {
-                    this.InferArrayType(itemType);
-                }
-
-                this._innerList.Add(item);
-            }
-
-            private void InferArrayType(Type itemType)
-            {
-                Assumes.NotNull(itemType);
-
-                if (this._arrayType == null)
-                {
-                    // this is the first typed element we've been given, it sets the type of the array
-                    this._arrayType = itemType;
-                }
-                else
-                {
-                    // if there's a disagreement on the array type, we flip to Object
-                    // NOTE : we can try to do better in the future to find common base class, but given that we support very limited set of types
-                    // in metadata right now, it's a moot point
-                    if (this._arrayType != itemType)
-                    {
-                        this._arrayType = ObjectType;
-                    }
-                }
-            }
-
-            public Array ToArray()
-            {
-                if (this._arrayType == null)
-                {
-                    // if the array type has not been set, assume Object 
-                    this._arrayType = ObjectType;
-                }
-                else if (this._containsNulls && this._arrayType.IsValueType)
-                {
-                    // if the array type is a value type and we have seen nulls, then assume Object
-                    this._arrayType = ObjectType;
-                }
-
-                Array array = Array.CreateInstance(this._arrayType, this._innerList.Count);
-
-                for(int i = 0; i < array.Length; i++)
-                {
-                    array.SetValue(this._innerList[i], i);
-                }
-                return array;
-            }
-        }
-
-        //UNDONE: Need to add these warnings somewhere...Dev10:472538 should address this.
-        //internal static CompositionResult MatchRequiredMetadata(this IDictionary<string, object> metadata, IEnumerable<string> requiredMetadata, string contractName)
-        //{
-        //    Assumes.IsTrue(metadata != null);
-
-        //    var result = CompositionResult.SucceededResult;
-
-        //    var missingMetadata = (requiredMetadata == null) ? null : requiredMetadata.Except<string>(metadata.Keys);
-        //    if (missingMetadata != null && missingMetadata.Any())
-        //    {
-        //        result = result.MergeIssue(
-        //            CompositionError.CreateIssueAsWarning(CompositionErrorId.RequiredMetadataNotFound,
-        //            Strings.RequiredMetadataNotFound,
-        //            contractName,
-        //            string.Join(", ", missingMetadata.ToArray())));
-
-        //        return new CompositionResult(false, result.Issues);
-        //    }
-
-        //    return result;
-        //}
-
-        internal static IEnumerable<KeyValuePair<string, Type>> GetRequiredMetadata(Type metadataViewType)
-        {
-            if ((metadataViewType == null) ||
-                ExportServices.IsDefaultMetadataViewType(metadataViewType) ||
-                ExportServices.IsDictionaryConstructorViewType(metadataViewType) ||
-                !metadataViewType.IsInterface)
-            {
-                return Enumerable.Empty<KeyValuePair<string, Type>>();
-            }
-
-            // A metadata view is required to be an Intrerface, and therefore only properties are allowed
-            List<PropertyInfo> properties = metadataViewType.GetAllProperties().
-                Where(property => property.GetFirstAttribute<DefaultValueAttribute>() == null).
-                ToList();
-
-            // NOTE : this is a carefully found balance between eager and delay-evaluation - the properties are filtered once and upfront
-            // whereas the key/Type pairs are created every time. The latter is fine as KVPs are structs and as such copied on access regardless.
-            // This also allows us to avoid creation of List<KVP> which - at least according to FxCop - leads to isues with NGEN
-            return properties.Select(property => new KeyValuePair<string, Type>(property.Name, property.PropertyType));
-        }
-
-        internal static object GetExportedValueFromComposedPart(ImportEngine engine, ComposablePart part, ExportDefinition definition)
-        {
-            try
-            {
-                engine.SatisfyImports(part);
-            }
-            catch (CompositionException ex)
-            {
-                throw ExceptionBuilder.CreateCannotGetExportedValue(part, definition, ex);
-            }
-
-            try
-            {
-                return part.GetExportedValue(definition);
-            }
-            catch (ComposablePartException ex)
-            {
-                throw ExceptionBuilder.CreateCannotGetExportedValue(part, definition, ex);
-            }
-        }
-        
-        internal static bool IsRecomposable(this ComposablePart part)
-        {
-            return part.ImportDefinitions.Any(import => import.IsRecomposable);
-        }
-
-        internal static CompositionResult<T> TryInvoke<T>(Func<T> action)
-        {
-            try
-            {
-                T value = action();
-                return new CompositionResult<T>(value);
-            }
-            catch (CompositionException ex)
-            {
-                return new CompositionResult<T>(ex.Errors);
-            }
-        }
-
-        internal static CompositionResult TryInvoke(Action action)
-        {
-            try
-            {
-                action();
-                return CompositionResult.SucceededResult;
-            }
-            catch (CompositionException ex)
-            {
-                return new CompositionResult(ex.Errors);
-            }
-        }
-
-        internal static CompositionResult TryFire<TEventArgs>(EventHandler<TEventArgs> _delegate, object sender, TEventArgs e)
-            where TEventArgs : EventArgs
-        {
-            CompositionResult result = CompositionResult.SucceededResult;
-            foreach (EventHandler<TEventArgs> _subscriber in _delegate.GetInvocationList())
-            {
-                try
-                {
-                    _subscriber.Invoke(sender, e);
-                }
-                catch (CompositionException ex)
-                {
-                    result = result.MergeErrors(ex.Errors);
-                }
-            }
-
-            return result;
-        }
-
-        internal static CreationPolicy GetRequiredCreationPolicy(this ImportDefinition definition)
-        {
-            ContractBasedImportDefinition contractDefinition = definition as ContractBasedImportDefinition;
-
-            if (contractDefinition != null)
-            {
-                return contractDefinition.RequiredCreationPolicy;
-            }
-
-            return CreationPolicy.Any;
-        }
-
-        /// <summary>
-        ///     Returns a value indicating whether cardinality is 
-        ///     <see cref="ImportCardinality.ZeroOrOne"/> or 
-        ///     <see cref="ImportCardinality.ExactlyOne"/>.
-        /// </summary>
-        internal static bool IsAtMostOne(this ImportCardinality cardinality)
-        {
-            return cardinality == ImportCardinality.ZeroOrOne || cardinality == ImportCardinality.ExactlyOne;
-        }
-
-        private static bool IsValidAttributeType(Type type)
-        {
-            return IsValidAttributeType(type, true);
-        }
-
-        private static bool IsValidAttributeType(Type type, bool arrayAllowed)
-        {
-            Assumes.NotNull(type);
-            // Definitions of valid attribute type taken from C# 3.0 Specification section 17.1.3.
-
-            // One of the following types: bool, byte, char, double, float, int, long, sbyte, short, string, uint, ulong, ushort.
-            if (type.IsPrimitive)
-            {
-                return true;
-            }
-
-            if (type == typeof(string))
-            {
-                return true;
-            }
-
-            // An enum type, provided it has public accessibility and the types in which it is nested (if any) also have public accessibility 
-            if (type.IsEnum && type.IsVisible)
-            {
-                return true;
-            }
-
-            if (typeof(Type).IsAssignableFrom(type))
-            {
-                return true;
-            }
-
-            // Single-dimensional arrays of the above types.
-            if (arrayAllowed && type.IsArray && 
-                type.GetArrayRank() == 1 &&
-                IsValidAttributeType(type.GetElementType(), false))
-            {
-                return true;
-            }
-
-            return false;
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/DirectoryCatalog.DirectoryCatalogDebuggerProxy.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/DirectoryCatalog.DirectoryCatalogDebuggerProxy.cs
deleted file mode 100644
index 5c1d7d9..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/DirectoryCatalog.DirectoryCatalogDebuggerProxy.cs
+++ /dev/null
@@ -1,71 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-#if !SILVERLIGHT
-
-using System;
-using System.Collections.ObjectModel;
-using System.ComponentModel.Composition.Primitives;
-using System.ComponentModel.Composition.ReflectionModel;
-using System.Linq;
-using System.Reflection;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    partial class DirectoryCatalog
-    {
-        internal class DirectoryCatalogDebuggerProxy
-        {
-            private readonly DirectoryCatalog _catalog;
-
-            public DirectoryCatalogDebuggerProxy(DirectoryCatalog catalog)
-            {
-                Requires.NotNull(catalog, "catalog");
-
-                this._catalog = catalog;
-            }
-
-            public ReadOnlyCollection<Assembly> Assemblies
-            {
-                get
-                {
-                    return this._catalog._assemblyCatalogs.Values.Select(catalog => catalog.Assembly)
-                                                                 .ToReadOnlyCollection();
-                }
-            }
-
-            public string SearchPattern
-            {
-                get { return this._catalog.SearchPattern; }
-            }
-
-            public string Path
-            {
-                get { return this._catalog._path; }
-            }
-
-            public string FullPath
-            {
-                get { return this._catalog._fullPath; }
-            }
-
-            public ReadOnlyCollection<string> LoadedFiles
-            {
-                get { return this._catalog._loadedFiles; }
-            }
-
-            public ReadOnlyCollection<ComposablePartDefinition> Parts
-            {
-                // NOTE: This shouldn't be cached, so that on every query of
-                // the current value of the underlying catalog is respected.
-                // We use ReadOnlyCollection as arrays do not have the 
-                // appropriate debugger display attributes applied to them.
-                get { return this._catalog.Parts.ToReadOnlyCollection(); }
-            }
-        }
-    }
-}
-
-#endif
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/DirectoryCatalog.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/DirectoryCatalog.cs
deleted file mode 100644
index c6430f2..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/DirectoryCatalog.cs
+++ /dev/null
@@ -1,542 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-#if !SILVERLIGHT
-
-using System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.ComponentModel.Composition.Diagnostics;
-using System.ComponentModel.Composition.Primitives;
-using System.Diagnostics;
-using System.Diagnostics.CodeAnalysis;
-using System.Globalization;
-using System.IO;
-using System.Linq;
-using System.Reflection;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-
-using IOPath = System.IO.Path;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    [DebuggerTypeProxy(typeof(DirectoryCatalogDebuggerProxy))]
-    public partial class DirectoryCatalog : ComposablePartCatalog, INotifyComposablePartCatalogChanged, ICompositionElement
-    {
-        private readonly Lock _thisLock = new Lock();
-        private ComposablePartCatalogCollection _catalogCollection;
-        private Dictionary<string, AssemblyCatalog> _assemblyCatalogs;
-        private volatile bool _isDisposed = false;
-        private string _path;
-        private string _fullPath;
-        private string _searchPattern;
-        private ReadOnlyCollection<string> _loadedFiles;
-        private IQueryable<ComposablePartDefinition> _partsQuery;
-
-        /// <summary>
-        ///     Creates a catalog of <see cref="ComposablePartDefinition"/>s based on all the *.dll files 
-        ///     in the given directory path.
-        ///     
-        ///     Possible exceptions that can be thrown are any that <see cref="Directory.GetFiles(string, string)"/> or 
-        ///     <see cref="Assembly.Load(AssemblyName)"/> can throw.
-        /// </summary>
-        /// <param name="path">
-        ///     Path to the directory to scan for assemblies to add to the catalog.
-        ///     The path needs to be absolute or relative to <see cref="AppDomain.BaseDirectory"/>
-        /// </param>
-        /// <exception cref="ArgumentException">
-        ///     If <paramref name="path"/> is a zero-length string, contains only white space, or 
-        ///     contains one or more implementation-specific invalid characters.
-        /// </exception>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="path"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="DirectoryNotFoundException">
-        ///     The specified <paramref name="path"/> is invalid (for example, it is on an unmapped drive). 
-        /// </exception>
-        /// <exception cref="PathTooLongException">
-        ///     The specified <paramref name="path"/>, file name, or both exceed the system-defined maximum length. 
-        ///     For example, on Windows-based platforms, paths must be less than 248 characters and file names must 
-        ///     be less than 260 characters. 
-        /// </exception>
-        /// <exception cref="UnauthorizedAccessException">
-        ///     The caller does not have the required permission. 
-        /// </exception>
-        public DirectoryCatalog(string path) : this(path, "*.dll")
-        {
-        }
-
-        /// <summary>
-        ///     Creates a catalog of <see cref="ComposablePartDefinition"/>s based on all the given searchPattern 
-        ///     over the files in the given directory path.
-        ///     
-        ///     Possible exceptions that can be thrown are any that <see cref="Directory.GetFiles(string, string)"/> or 
-        ///     <see cref="Assembly.Load(AssemblyName)"/> can throw.
-        /// </summary>
-        /// <param name="path">
-        ///     Path to the directory to scan for assemblies to add to the catalog.
-        ///     The path needs to be absolute or relative to <see cref="AppDomain.BaseDirectory"/>
-        /// </param>
-        /// <param name="searchPattern">
-        ///     Any valid searchPattern that <see cref="Directory.GetFiles(string, string)"/> will accept.
-        /// </param>
-        /// <exception cref="ArgumentException">
-        ///     If <paramref name="path"/> is a zero-length string, contains only white space, or 
-        ///     contains one or more implementation-specific invalid characters. Or <paramref name="searchPattern"/> 
-        ///     does not contain a valid pattern. 
-        /// </exception>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="path"/> is <see langword="null"/> or <paramref name="searchPattern"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="DirectoryNotFoundException">
-        ///     The specified <paramref name="path"/> is invalid (for example, it is on an unmapped drive). 
-        /// </exception>
-        /// <exception cref="PathTooLongException">
-        ///     The specified <paramref name="path"/>, file name, or both exceed the system-defined maximum length. 
-        ///     For example, on Windows-based platforms, paths must be less than 248 characters and file names must 
-        ///     be less than 260 characters. 
-        /// </exception>
-        /// <exception cref="UnauthorizedAccessException">
-        ///     The caller does not have the required permission. 
-        /// </exception>
-        public DirectoryCatalog(string path, string searchPattern)
-        {
-            Requires.NotNullOrEmpty(path, "path");
-            this.Initialize(path, searchPattern);
-        }
-
-        /// <summary>
-        ///     Translated absolute path of the path passed into the constructor of <see cref="DirectoryCatalog"/>. 
-        /// </summary>
-        public string FullPath
-        {
-            get
-            {
-                return this._fullPath;
-            }
-        }
-
-        /// <summary>
-        ///     Set of files that have currently been loaded into the catalog.
-        /// </summary>
-        public ReadOnlyCollection<string> LoadedFiles
-        {
-            get
-            {
-                using (new ReadLock(this._thisLock))
-                {
-                    return this._loadedFiles;
-                }
-            }
-        }
-
-        /// <summary>
-        ///     Path passed into the constructor of <see cref="DirectoryCatalog"/>.
-        /// </summary>
-        public string Path
-        {
-            get
-            {
-                return this._path;
-            }
-        }
-
-        /// <summary>
-        ///     Gets the part definitions of the directory catalog.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="IQueryable{T}"/> of <see cref="ComposablePartDefinition"/> objects of the 
-        ///     <see cref="DirectoryCatalog"/>.
-        /// </value>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="DirectoryCatalog"/> has been disposed of.
-        /// </exception>
-        public override IQueryable<ComposablePartDefinition> Parts
-        {
-            get
-            {
-                this.ThrowIfDisposed();
-                return this._partsQuery;
-            }
-        }
-
-        /// <summary>
-        ///   SearchPattern passed into the constructor of <see cref="DirectoryCatalog"/>, or the default *.dll.
-        /// </summary>
-        public string SearchPattern
-        {
-            get
-            {
-                return this._searchPattern;
-            }
-        }
-
-        /// <summary>
-        /// Notify when the contents of the Catalog has changed.
-        /// </summary>
-        public event EventHandler<ComposablePartCatalogChangeEventArgs> Changed;
-
-        /// <summary>
-        /// Notify when the contents of the Catalog has changing.
-        /// </summary>
-        public event EventHandler<ComposablePartCatalogChangeEventArgs> Changing;
-
-        /// <summary>
-        /// Releases unmanaged and - optionally - managed resources
-        /// </summary>
-        /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
-        protected override void Dispose(bool disposing)
-        {
-            try
-            {
-                if (disposing)
-                {
-                    if (!this._isDisposed)
-                    {
-                        bool disposeLock = false;
-                        ComposablePartCatalogCollection catalogs = null;
-
-                        try
-                        {
-                            using (new WriteLock(this._thisLock))
-                            {
-                                if (!this._isDisposed)
-                                {
-                                    disposeLock = true;
-                                    catalogs = this._catalogCollection;
-                                    this._catalogCollection = null;
-                                    this._assemblyCatalogs = null;
-                                    this._isDisposed = true;
-                                }
-                            }
-                        }
-                        finally
-                        {
-                            if (catalogs != null)
-                            {
-                                catalogs.Dispose();
-                            }
-
-                            if (disposeLock)
-                            {
-                                this._thisLock.Dispose();
-                            }
-                        }
-                    }
-                }
-            }
-            finally
-            {
-                base.Dispose(disposing);
-            }
-        }
-
-        /// <summary>
-        ///     Returns the export definitions that match the constraint defined by the specified definition.
-        /// </summary>
-        /// <param name="definition">
-        ///     The <see cref="ImportDefinition"/> that defines the conditions of the 
-        ///     <see cref="ExportDefinition"/> objects to return.
-        /// </param>
-        /// <returns>
-        ///     An <see cref="IEnumerable{T}"/> of <see cref="Tuple{T1, T2}"/> containing the 
-        ///     <see cref="ExportDefinition"/> objects and their associated 
-        ///     <see cref="ComposablePartDefinition"/> for objects that match the constraint defined 
-        ///     by <paramref name="definition"/>.
-        /// </returns>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="definition"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="DirectoryCatalog"/> has been disposed of.
-        /// </exception>
-        public override IEnumerable<Tuple<ComposablePartDefinition, ExportDefinition>> GetExports(ImportDefinition definition)
-        {
-            this.ThrowIfDisposed();
-
-            Requires.NotNull(definition, "definition");
-
-            return this._catalogCollection.SelectMany(catalog => catalog.GetExports(definition));
-        }
-
-        /// <summary>
-        ///     Raises the <see cref="INotifyComposablePartCatalogChanged.Changed"/> event.
-        /// </summary>
-        /// <param name="e">
-        ///     An <see cref="ComposablePartCatalogChangeEventArgs"/> containing the data for the event.
-        /// </param>
-        protected virtual void OnChanged(ComposablePartCatalogChangeEventArgs e)
-        {
-            EventHandler<ComposablePartCatalogChangeEventArgs> changedEvent = this.Changed;
-            if (changedEvent != null)
-            {
-                changedEvent(this, e);
-            }
-        }
-
-        /// <summary>
-        ///     Raises the <see cref="INotifyComposablePartCatalogChanged.Changing"/> event.
-        /// </summary>
-        /// <param name="e">
-        ///     An <see cref="ComposablePartCatalogChangeEventArgs"/> containing the data for the event.
-        /// </param>
-        protected virtual void OnChanging(ComposablePartCatalogChangeEventArgs e)
-        {
-            EventHandler<ComposablePartCatalogChangeEventArgs> changingEvent = this.Changing;
-            if (changingEvent != null)
-            {
-                changingEvent(this, e);
-            }
-        }
-
-        /// <summary>
-        ///     Refreshes the <see cref="ComposablePartDefinition"/>s with the latest files in the directory that match
-        ///     the searchPattern. If any files have been added they will be added to the catalog and if any files were
-        ///     removed they will be removed from the catalog. For files that have been removed keep in mind that the 
-        ///     assembly cannot be unloaded from the process so <see cref="ComposablePartDefinition"/>s for those files
-        ///     will simply be removed from the catalog.
-        /// 
-        ///     Possible exceptions that can be thrown are any that <see cref="Directory.GetFiles(string, string)"/> or 
-        ///     <see cref="Assembly.Load(AssemblyName)"/> can throw.
-        /// </summary>
-        /// <exception cref="DirectoryNotFoundException">
-        ///     The specified <paramref name="path"/> has been removed since object construction.
-        /// </exception>
-        public void Refresh()
-        {
-            this.ThrowIfDisposed();
-            Assumes.NotNull(this._loadedFiles);
-
-            List<Tuple<string, AssemblyCatalog>> catalogsToAdd;
-            List<Tuple<string, AssemblyCatalog>> catalogsToRemove;
-            ComposablePartDefinition[] addedDefinitions;
-            ComposablePartDefinition[] removedDefinitions;
-            object changeReferenceObject;
-            string[] afterFiles;
-            string[] beforeFiles;
-
-            while (true)
-            {
-                afterFiles = this.GetFiles();
-
-                using (new ReadLock(this._thisLock))
-                {
-                    changeReferenceObject = this._loadedFiles;
-                    beforeFiles = this._loadedFiles.ToArray();
-                }
-
-                this.DiffChanges(beforeFiles, afterFiles, out catalogsToAdd, out catalogsToRemove);
-
-                // Don't go any further if there's no work to do
-                if (catalogsToAdd.Count == 0 && catalogsToRemove.Count == 0)
-                {
-                    return;
-                }
-
-                // Notify listeners to give them a preview before completeting the changes
-                addedDefinitions = catalogsToAdd
-                    .SelectMany(cat => cat.Item2.Parts)
-                    .ToArray<ComposablePartDefinition>();
-
-                removedDefinitions = catalogsToRemove
-                    .SelectMany(cat => cat.Item2.Parts)
-                    .ToArray<ComposablePartDefinition>();
-
-                using (var atomicComposition = new AtomicComposition())
-                {
-                    var changingArgs = new ComposablePartCatalogChangeEventArgs(addedDefinitions, removedDefinitions, atomicComposition);
-                    this.OnChanging(changingArgs);
-       
-                    // if the change went through then write the catalog changes
-                    using (new WriteLock(this._thisLock))
-                    {
-                        if (changeReferenceObject != this._loadedFiles)
-                        {
-                            // Someone updated the list while we were diffing so we need to try the diff again
-                            continue;
-                        }
-
-                        foreach (var catalogToAdd in catalogsToAdd)
-                        {
-                            this._assemblyCatalogs.Add(catalogToAdd.Item1, catalogToAdd.Item2);
-                            this._catalogCollection.Add(catalogToAdd.Item2);
-                        }
-
-                        foreach (var catalogToRemove in catalogsToRemove)
-                        {
-                            this._assemblyCatalogs.Remove(catalogToRemove.Item1);
-                            this._catalogCollection.Remove(catalogToRemove.Item2);
-                        }
-
-                        this._partsQuery = this._catalogCollection.AsQueryable().SelectMany(catalog => catalog.Parts);
-                        this._loadedFiles = afterFiles.ToReadOnlyCollection();
-
-                        // Lastly complete any changes added to the atomicComposition during the change event
-                        atomicComposition.Complete();
-
-                        // Break out of the while(true)
-                        break;
-                    } // WriteLock
-                } // AtomicComposition
-            }   // while (true)
-
-            var changedArgs = new ComposablePartCatalogChangeEventArgs(addedDefinitions, removedDefinitions, null);
-            this.OnChanged(changedArgs);
-        }
-
-        /// <summary>
-        ///     Returns a string representation of the directory catalog.
-        /// </summary>
-        /// <returns>
-        ///     A <see cref="String"/> containing the string representation of the <see cref="DirectoryCatalog"/>.
-        /// </returns>
-        public override string ToString()
-        {
-            return GetDisplayName();
-        }
-
-        private AssemblyCatalog CreateAssemblyCatalogGuarded(string assemblyFilePath)
-        {
-            Exception exception = null;
-
-            try
-            {
-                return new AssemblyCatalog(assemblyFilePath, this);
-            }
-            catch (FileNotFoundException ex)
-            {   // Files should always exists but don't blow up here if they don't
-                exception = ex;
-            }
-            catch (FileLoadException ex)
-            {   // File was found but could not be loaded
-                exception = ex;
-            }
-            catch (BadImageFormatException ex)
-            {   // Dlls that contain native code are not loaded, but do not invalidate the Directory
-                exception = ex;
-            }
-            catch (ReflectionTypeLoadException ex)
-            {   // Dlls that have missing Managed dependencies are not loaded, but do not invalidate the Directory 
-                exception = ex;
-            }
-
-            CompositionTrace.AssemblyLoadFailed(this, assemblyFilePath, exception);
-
-            return null;
-        }
-
-        private void DiffChanges(string[] beforeFiles, string[] afterFiles,
-            out List<Tuple<string, AssemblyCatalog>> catalogsToAdd,
-            out List<Tuple<string, AssemblyCatalog>> catalogsToRemove)
-        {
-            catalogsToAdd = new List<Tuple<string, AssemblyCatalog>>();
-            catalogsToRemove = new List<Tuple<string, AssemblyCatalog>>();
-
-            IEnumerable<string> filesToAdd = afterFiles.Except(beforeFiles);
-            foreach (string file in filesToAdd)
-            {
-                AssemblyCatalog catalog = CreateAssemblyCatalogGuarded(file);
-
-                if (catalog != null)
-                {
-                    catalogsToAdd.Add(new Tuple<string, AssemblyCatalog>(file, catalog));
-                }
-            }
-
-            IEnumerable<string> filesToRemove = beforeFiles.Except(afterFiles);
-            using (new ReadLock(this._thisLock))
-            {
-                foreach (string file in filesToRemove)
-                {
-                    AssemblyCatalog catalog;
-                    if (this._assemblyCatalogs.TryGetValue(file, out catalog))
-                    {
-                        catalogsToRemove.Add(new Tuple<string, AssemblyCatalog>(file, catalog));
-                    }
-                }
-            }
-        }
-
-        private string GetDisplayName()
-        {
-            return string.Format(CultureInfo.CurrentCulture,
-                                "{0} (Path=\"{1}\")",   // NOLOC
-                                this.GetType().Name,
-                                this._path);
-        }
-
-        private string[] GetFiles()
-        {
-			return Directory.GetFiles(this._fullPath, this._searchPattern);
-        }
-
-        private static string GetFullPath(string path)
-        {
-            if (!IOPath.IsPathRooted(path) && AppDomain.CurrentDomain.BaseDirectory != null)
-            {
-                path = IOPath.Combine(AppDomain.CurrentDomain.BaseDirectory, path);
-            }
-
-            return IOPath.GetFullPath(path);
-        }
-
-        private void Initialize(string path, string searchPattern)
-        {
-            this._path = path;
-            this._fullPath = GetFullPath(path);
-            this._searchPattern = searchPattern;
-            this._assemblyCatalogs = new Dictionary<string, AssemblyCatalog>();
-            this._catalogCollection = new ComposablePartCatalogCollection(null);
-
-            this._loadedFiles = GetFiles().ToReadOnlyCollection();
-
-            foreach (string file in this._loadedFiles)
-            {
-                AssemblyCatalog assemblyCatalog = null;
-                assemblyCatalog = CreateAssemblyCatalogGuarded(file);
-
-                if (assemblyCatalog != null)
-                {
-                    this._assemblyCatalogs.Add(file, assemblyCatalog);
-                    this._catalogCollection.Add(assemblyCatalog);
-                }
-            }
-            this._partsQuery = this._catalogCollection.AsQueryable().SelectMany(catalog => catalog.Parts);
-        }
-
-        private void ThrowIfDisposed()
-        {
-            if (this._isDisposed)
-            {
-                throw ExceptionBuilder.CreateObjectDisposed(this);
-            }
-        }
-       
-        /// <summary>
-        ///     Gets the display name of the directory catalog.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="String"/> containing a human-readable display name of the <see cref="DirectoryCatalog"/>.
-        /// </value>
-        [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
-        string ICompositionElement.DisplayName
-        {
-            get { return this.GetDisplayName(); }
-        }
-
-        /// <summary>
-        ///     Gets the composition element from which the directory catalog originated.
-        /// </summary>
-        /// <value>
-        ///     This property always returns <see langword="null"/>.
-        /// </value>
-        [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
-        ICompositionElement ICompositionElement.Origin
-        {
-            get { return null; }
-        }
-    }
-}
-
-#endif
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ExportProvider.GetExportOverrides.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ExportProvider.GetExportOverrides.cs
deleted file mode 100644
index 2a4c582..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ExportProvider.GetExportOverrides.cs
+++ /dev/null
@@ -1,817 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Primitives;
-using System.Diagnostics.CodeAnalysis;
-using System.Globalization;
-using System.Linq;
-using System.Linq.Expressions;
-using System.Collections.ObjectModel;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    public abstract partial class ExportProvider
-    {
-        /// <summary>
-        ///     Returns the export with the contract name derived from the specified type parameter, 
-        ///     throwing an exception if there is not exactly one matching export.
-        /// </summary>
-        /// <typeparam name="T">
-        ///     The type of the <see cref="Lazy{T}"/> object to return. The contract name is also 
-        ///     derived from this type parameter.
-        /// </typeparam>
-        /// <returns>
-        ///     The <see cref="Lazy{T}"/> object with the contract name derived from 
-        ///     <typeparamref name="T"/>.
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         The returned <see cref="Lazy{T}"/> object is an instance of 
-        ///         <see cref="Lazy{T, TMetadataView}"/> underneath, where 
-        ///         <c>TMetadataView</c>
-        ///         is <see cref="IDictionary{TKey, TValue}"/> and where <c>TKey</c> 
-        ///         is <see cref="String"/> and <c>TValue</c> is <see cref="Object"/>.
-        ///     </para>
-        ///     <para>
-        ///         The contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on <typeparamref name="T"/>.
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        /// <exception cref="ImportCardinalityMismatchException">
-        ///     <para>
-        ///         There are zero <see cref="Lazy{T}"/> objects with the contract name derived 
-        ///         from <typeparamref name="T"/> in the <see cref="CompositionContainer"/>.
-        ///     </para>
-        ///     -or-
-        ///     <para>
-        ///         There are more than one <see cref="Lazy{T}"/> objects with the contract name 
-        ///         derived from <typeparamref name="T"/> in the <see cref="CompositionContainer"/>.
-        ///     </para>
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="CompositionContainer"/> has been disposed of.
-        /// </exception>
-        public Lazy<T> GetExport<T>()
-        {
-            return this.GetExport<T>((string)null);
-        }
-
-        /// <summary>
-        ///     Returns the export with the specified contract name, throwing an exception if there 
-        ///     is not exactly one matching export.
-        /// </summary>
-        /// <typeparam name="T">
-        ///     The type of the <see cref="Lazy{T}"/> object to return.
-        /// </typeparam>
-        /// <param name="contractName">
-        ///     A <see cref="String"/> containing the contract name of the <see cref="Lazy{T}"/> 
-        ///     object to return; or <see langword="null"/> or an empty string ("") to use the 
-        ///     default contract name.
-        /// </param>
-        /// <returns>
-        ///     The <see cref="Lazy{T}"/> object with the specified contract name.
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         The returned <see cref="Lazy{T}"/> object is an instance of 
-        ///         <see cref="Lazy{T, TMetadataView}"/> underneath, where 
-        ///         <c>TMetadataView</c>
-        ///         is <see cref="IDictionary{TKey, TValue}"/> and where <c>TKey</c> 
-        ///         is <see cref="String"/> and <c>TValue</c> is <see cref="Object"/>.
-        ///     </para>
-        ///     <para>
-        ///         The contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on <typeparamref name="T"/>.
-        ///     </para>
-        ///     <para>
-        ///         The default contract name is compared using a case-sensitive, non-linguistic 
-        ///         comparison using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        /// <exception cref="ImportCardinalityMismatchException">
-        ///     <para>
-        ///         There are zero <see cref="Lazy{T}"/> objects with the specified contract name 
-        ///         in the <see cref="CompositionContainer"/>.
-        ///     </para>
-        ///     -or-
-        ///     <para>
-        ///         There are more than one <see cref="Lazy{T}"/> objects with the specified contract
-        ///         name in the <see cref="CompositionContainer"/>.
-        ///     </para>
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="CompositionContainer"/> has been disposed of.
-        /// </exception>
-        public Lazy<T> GetExport<T>(string contractName)
-        {
-            return this.GetExportCore<T>(contractName);
-        }
-
-        /// <summary>
-        ///     Returns the export with the contract name derived from the specified type parameter, 
-        ///     throwing an exception if there is not exactly one matching export.
-        /// </summary>
-        /// <typeparam name="T">
-        ///     The type of the <see cref="Lazy{T, TMetadataView}"/> object to return. The 
-        ///     contract name is also derived from this type parameter.
-        /// </typeparam>
-        /// <typeparam name="TMetadataView">
-        ///     The type of the metadata view of the <see cref="Lazy{T, TMetadataView}"/> object
-        ///     to return.
-        /// </typeparam>
-        /// <returns>
-        ///     The <see cref="Lazy{T, TMetadataView}"/> object with the contract name derived 
-        ///     from <typeparamref name="T"/>.
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         The contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on <typeparamref name="T"/>.
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        /// <exception cref="ImportCardinalityMismatchException">
-        ///     <para>
-        ///         There are zero <see cref="Lazy{T, TMetadataView}"/> objects with the contract 
-        ///         name derived from <typeparamref name="T"/> in the 
-        ///         <see cref="CompositionContainer"/>.
-        ///     </para>
-        ///     -or-
-        ///     <para>
-        ///         There are more than one <see cref="Lazy{T, TMetadataView}"/> objects with the 
-        ///         contract name derived from <typeparamref name="T"/> in the 
-        ///         <see cref="CompositionContainer"/>.
-        ///     </para>
-        /// </exception>
-        /// <exception cref="InvalidOperationException">
-        ///     <typeparamref name="TMetadataView"/> is not a valid metadata view type.
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="CompositionContainer"/> has been disposed of.
-        /// </exception>
-        public Lazy<T, TMetadataView> GetExport<T, TMetadataView>()
-        {
-            return this.GetExport<T, TMetadataView>((string)null);
-        }
-
-        /// <summary>
-        ///     Returns the export with the specified contract name, throwing an exception if there 
-        ///     is not exactly one matching export.
-        /// </summary>
-        /// <typeparam name="T">
-        ///     The type of the <see cref="Lazy{T, TMetadataView}"/> object to return.
-        /// </typeparam>
-        /// <typeparam name="TMetadataView">
-        ///     The type of the metadata view of the <see cref="Lazy{T, TMetadataView}"/> object
-        ///     to return.
-        /// </typeparam>
-        /// <param name="contractName">
-        ///     A <see cref="String"/> containing the contract name of the 
-        ///     <see cref="Lazy{T, TMetadataView}"/> object to return; or <see langword="null"/> 
-        ///     or an empty string ("") to use the default contract name.
-        /// </param>
-        /// <returns>
-        ///     The <see cref="Lazy{T, TMetadataView}"/> object with the specified contract name.
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         The default contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on <typeparamref name="T"/>.
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        /// <exception cref="ImportCardinalityMismatchException">
-        ///     <para>
-        ///         There are zero <see cref="Lazy{T, TMetadataView}"/> objects with the 
-        ///         specified contract name in the <see cref="CompositionContainer"/>.
-        ///     </para>
-        ///     -or-
-        ///     <para>
-        ///         There are more than one <see cref="Lazy{T, TMetadataView}"/> objects with the 
-        ///         specified contract name in the <see cref="CompositionContainer"/>.
-        ///     </para>
-        /// </exception>
-        /// <exception cref="InvalidOperationException">
-        ///     <typeparamref name="TMetadataView"/> is not a valid metadata view type.
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="CompositionContainer"/> has been disposed of.
-        /// </exception>
-        public Lazy<T, TMetadataView> GetExport<T, TMetadataView>(string contractName)
-        {
-            return this.GetExportCore<T, TMetadataView>(contractName);
-        }
-
-        /// <summary>
-        ///     Returns the exports with the specified contract name.
-        /// </summary>
-        /// <param name="type">
-        ///     The <see cref="Type"/> of the <see cref="Export"/> objects to return.
-        /// </param>
-        /// <param name="metadataViewType">
-        ///     The <see cref="Type"/> of the metadata view of the <see cref="Export"/> objects to
-        ///     return.
-        /// </param>
-        /// <param name="contractName">
-        ///     A <see cref="String"/> containing the contract name of the 
-        ///     <see cref="Export"/> object to return; or <see langword="null"/> 
-        ///     or an empty string ("") to use the default contract name.
-        /// </param>
-        /// <returns>
-        ///     An <see cref="IEnumerable{T}"/> containing the <see cref="Lazy{Object, Object}"/> objects 
-        ///     with the specified contract name, if found; otherwise, an empty 
-        ///     <see cref="IEnumerable{T}"/>.
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         The returned <see cref="Export"/> objects are instances of 
-        ///         <see cref="Lazy{T, TMetadataView}"/> underneath, where <c>T</c>
-        ///         is <paramref name="type"/> and <c>TMetadataView</c> is 
-        ///         <paramref name="metadataViewType"/>.
-        ///     </para>
-        ///     <para>
-        ///         The default contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on <paramref name="type"/>.
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="type"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="InvalidOperationException">
-        ///     <paramref name="metadataViewType"/> is not a valid metadata view type.
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="CompositionContainer"/> has been disposed of.
-        /// </exception>
-        [SuppressMessage("Microsoft.Design", "CA1006")]
-        public IEnumerable<Lazy<object, object>> GetExports(Type type, Type metadataViewType, string contractName)
-        {
-            IEnumerable<Export> exports = this.GetExportsCore(type, metadataViewType, contractName, ImportCardinality.ZeroOrMore);
-            Collection<Lazy<object, object>> result = new Collection<Lazy<object, object>>();
-
-            Func<Export, Lazy<object, object>> typedExportFactory = ExportServices.CreateSemiStronglyTypedLazyFactory(type, metadataViewType);
-            foreach (Export export in exports)
-            {
-                result.Add(typedExportFactory.Invoke(export));
-            }
-
-            return result;
-        }
-
-        /// <summary>
-        ///     Returns the exports with the contract name derived from the specified type parameter.
-        /// </summary>
-        /// <typeparam name="T">
-        ///     The type of the <see cref="Lazy{T}"/> objects to return. The contract name is also 
-        ///     derived from this type parameter.
-        /// </typeparam>
-        /// <returns>
-        ///     An <see cref="IEnumerable{T}"/> containing the <see cref="Lazy{T}"/> objects
-        ///     with the contract name derived from <typeparamref name="T"/>, if found; otherwise,
-        ///     an empty <see cref="IEnumerable{T}"/>.
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         The returned <see cref="Lazy{T}"/> objects are instances of 
-        ///         <see cref="Lazy{T, TMetadataView}"/> underneath, where 
-        ///         <c>TMetadataView</c>
-        ///         is <see cref="IDictionary{TKey, TValue}"/> and where <c>TKey</c> 
-        ///         is <see cref="String"/> and <c>TValue</c> is <see cref="Object"/>.
-        ///     </para>
-        ///     <para>
-        ///         The contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on <typeparamref name="T"/>.
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="CompositionContainer"/> has been disposed of.
-        /// </exception>
-        [SuppressMessage("Microsoft.Design", "CA1006")]
-        public IEnumerable<Lazy<T>> GetExports<T>()
-        {
-            return this.GetExports<T>((string)null);
-        }
-
-        /// <summary>
-        ///     Returns the exports with the specified contract name.
-        /// </summary>
-        /// <typeparam name="T">
-        ///     The type of the <see cref="Lazy{T}"/> objects to return.
-        /// </typeparam>
-        /// <param name="contractName">
-        ///     A <see cref="String"/> containing the contract name of the <see cref="Lazy{T}"/> 
-        ///     objects to return; or <see langword="null"/> or an empty string ("") to use the 
-        ///     default contract name.
-        /// </param>
-        /// <returns>
-        ///     An <see cref="IEnumerable{T}"/> containing the <see cref="Lazy{T}"/> objects
-        ///     with the specified contract name, if found; otherwise, an empty 
-        ///     <see cref="IEnumerable{T}"/>.
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         The returned <see cref="Lazy{T}"/> objects are instances of 
-        ///         <see cref="Lazy{T, TMetadataView}"/> underneath, where 
-        ///         <c>TMetadataView</c>
-        ///         is <see cref="IDictionary{TKey, TValue}"/> and where <c>TKey</c> 
-        ///         is <see cref="String"/> and <c>TValue</c> is <see cref="Object"/>.
-        ///     </para>
-        ///     <para>
-        ///         The default contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on <typeparamref name="T"/>.
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="CompositionContainer"/> has been disposed of.
-        /// </exception>
-        [SuppressMessage("Microsoft.Design", "CA1006")]
-        public IEnumerable<Lazy<T>> GetExports<T>(string contractName)
-        {
-            return this.GetExportsCore<T>(contractName);
-        }
-
-        /// <summary>
-        ///     Returns the exports with the contract name derived from the specified type parameter.
-        /// </summary>
-        /// <typeparam name="T">
-        ///     The type of the <see cref="Lazy{T, TMetadataView}"/> objects to return. The 
-        ///     contract name is also derived from this type parameter.
-        /// </typeparam>
-        /// <typeparam name="TMetadataView">
-        ///     The type of the metadata view of the <see cref="Lazy{T, TMetadataView}"/> objects
-        ///     to return.
-        /// </typeparam>
-        /// <returns>
-        ///     An <see cref="IEnumerable{T}"/> containing the 
-        ///     <see cref="Lazy{T, TMetadataView}"/> objects with the contract name derived from 
-        ///     <typeparamref name="T"/>, if found; otherwise, an empty 
-        ///     <see cref="IEnumerable{T}"/>.
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         The contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on <typeparamref name="T"/>.
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        /// <exception cref="InvalidOperationException">
-        ///     <typeparamref name="TMetadataView"/> is not a valid metadata view type.
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="CompositionContainer"/> has been disposed of.
-        /// </exception>
-        [SuppressMessage("Microsoft.Design", "CA1006")]
-        public IEnumerable<Lazy<T, TMetadataView>> GetExports<T, TMetadataView>()
-        {
-            return this.GetExports<T, TMetadataView>((string)null);
-        }
-
-        /// <summary>
-        ///     Returns the exports with the specified contract name.
-        /// </summary>
-        /// <typeparam name="T">
-        ///     The type of the <see cref="Lazy{T, TMetadataView}"/> objects to return. The 
-        ///     contract name is also derived from this type parameter.
-        /// </typeparam>
-        /// <typeparam name="TMetadataView">
-        ///     The type of the metadata view of the <see cref="Lazy{T, TMetadataView}"/> objects
-        ///     to return.
-        /// </typeparam>
-        /// <param name="contractName">
-        ///     A <see cref="String"/> containing the contract name of the 
-        ///     <see cref="Lazy{T, TMetadataView}"/> objects to return; or <see langword="null"/> 
-        ///     or an empty string ("") to use the default contract name.
-        /// </param>
-        /// <returns>
-        ///     An <see cref="IEnumerable{T}"/> containing the 
-        ///     <see cref="Lazy{T, TMetadataView}"/> objects with the specified contract name if 
-        ///     found; otherwise, an empty <see cref="IEnumerable{T}"/>.
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         The default contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on <typeparamref name="T"/>.
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        /// <exception cref="InvalidOperationException">
-        ///     <typeparamref name="TMetadataView"/> is not a valid metadata view type.
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="CompositionContainer"/> has been disposed of.
-        /// </exception>
-        [SuppressMessage("Microsoft.Design", "CA1006")]
-        public IEnumerable<Lazy<T, TMetadataView>> GetExports<T, TMetadataView>(string contractName)
-        {
-            return this.GetExportsCore<T, TMetadataView>(contractName);
-        }
-
-        /// <summary>
-        ///     Returns the exported value with the contract name derived from the specified type 
-        ///     parameter, throwing an exception if there is not exactly one matching exported value.
-        /// </summary>
-        /// <typeparam name="T">
-        ///     The type of the exported value to return. The contract name is also 
-        ///     derived from this type parameter.
-        /// </typeparam>
-        /// <returns>
-        ///     The exported <see cref="Object"/> with the contract name derived from 
-        ///     <typeparamref name="T"/>.
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         The contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on <typeparamref name="T"/>.
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        /// <exception cref="CompositionContractMismatchException">
-        ///     The underlying exported value cannot be cast to <typeparamref name="T"/>.
-        /// </exception>
-        /// <exception cref="ImportCardinalityMismatchException">
-        ///     <para>
-        ///         There are zero exported values with the contract name derived from 
-        ///         <typeparamref name="T"/> in the <see cref="CompositionContainer"/>.
-        ///     </para>
-        ///     -or-
-        ///     <para>
-        ///         There are more than one exported values with the contract name derived from
-        ///         <typeparamref name="T"/> in the <see cref="CompositionContainer"/>.
-        ///     </para>
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="CompositionContainer"/> has been disposed of.
-        /// </exception>
-        /// <exception cref="CompositionException">
-        ///     An error occurred during composition. <see cref="CompositionException.Errors"/> will 
-        ///     contain a collection of errors that occurred.
-        /// </exception>
-        public T GetExportedValue<T>()
-        {
-            return this.GetExportedValue<T>((string)null);
-        }
-
-        /// <summary>
-        ///     Returns the exported value with the specified contract name, throwing an exception 
-        ///     if there is not exactly one matching exported value.
-        /// </summary>
-        /// <typeparam name="T">
-        ///     The type of the exported value to return.
-        /// </typeparam>
-        /// <param name="contractName">
-        ///     A <see cref="String"/> containing the contract name of the exported value to return,
-        ///     or <see langword="null"/> or an empty string ("") to use the default contract name.
-        /// </param>
-        /// <returns>
-        ///     The exported <see cref="Object"/> with the specified contract name.
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         The default contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on <typeparamref name="T"/>.
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        /// <exception cref="CompositionContractMismatchException">
-        ///     The underlying exported value cannot be cast to <typeparamref name="T"/>.
-        /// </exception>
-        /// <exception cref="ImportCardinalityMismatchException">
-        ///     <para>
-        ///         There are zero exported values with the specified contract name in the 
-        ///         <see cref="CompositionContainer"/>.
-        ///     </para>
-        ///     -or-
-        ///     <para>
-        ///         There are more than one exported values with the specified contract name in the
-        ///         <see cref="CompositionContainer"/>.
-        ///     </para>
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="CompositionContainer"/> has been disposed of.
-        /// </exception>
-        /// <exception cref="CompositionException">
-        ///     An error occurred during composition. <see cref="CompositionException.Errors"/> will 
-        ///     contain a collection of errors that occurred.
-        /// </exception>
-        public T GetExportedValue<T>(string contractName)
-        {
-            return this.GetExportedValueCore<T>(contractName, ImportCardinality.ExactlyOne);
-        }
-
-        /// <summary>
-        ///     Returns the exported value with the contract name derived from the specified type 
-        ///     parameter, throwing an exception if there is more than one matching exported value.
-        /// </summary>
-        /// <typeparam name="T">
-        ///     The type of the exported value to return. The contract name is also 
-        ///     derived from this type parameter.
-        /// </typeparam>
-        /// <returns>
-        ///     The exported <see cref="Object"/> with the contract name derived from 
-        ///     <typeparamref name="T"/>, if found; otherwise, the default value for
-        ///     <typeparamref name="T"/>.
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         If the exported value is not found, then this method returns the appropriate 
-        ///         default value for <typeparamref name="T"/>; for example, 0 (zero) for integer 
-        ///         types, <see langword="false"/> for Boolean types, and <see langword="null"/> 
-        ///         for reference types.
-        ///     </para>
-        ///     <para>
-        ///         The contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on <typeparamref name="T"/>.
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        /// <exception cref="CompositionContractMismatchException">
-        ///     The underlying exported value cannot be cast to <typeparamref name="T"/>.
-        /// </exception>
-        /// <exception cref="ImportCardinalityMismatchException">
-        ///     <para>
-        ///         There are more than one exported values with the contract name derived from
-        ///         <typeparamref name="T"/> in the <see cref="CompositionContainer"/>.
-        ///     </para>
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="CompositionContainer"/> has been disposed of.
-        /// </exception>
-        /// <exception cref="CompositionException">
-        ///     An error occurred during composition. <see cref="CompositionException.Errors"/> will 
-        ///     contain a collection of errors that occurred.
-        /// </exception>
-        public T GetExportedValueOrDefault<T>()
-        {
-            return this.GetExportedValueOrDefault<T>((string)null);
-        }
-
-        /// <summary>
-        ///     Returns the exported value with the specified contract name, throwing an exception 
-        ///     if there is more than one matching exported value.
-        /// </summary>
-        /// <typeparam name="T">
-        ///     The type of the exported value to return.
-        /// </typeparam>
-        /// <param name="contractName">
-        ///     A <see cref="String"/> containing the contract name of the exported value to return,
-        ///     or <see langword="null"/> or an empty string ("") to use the default contract name.
-        /// </param>
-        /// <returns>
-        ///     The exported <see cref="Object"/> with the specified contract name, if found; 
-        ///     otherwise, the default value for <typeparamref name="T"/>.
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         If the exported value is not found, then this method returns the appropriate 
-        ///         default value for <typeparamref name="T"/>; for example, 0 (zero) for integer 
-        ///         types, <see langword="false"/> for Boolean types, and <see langword="null"/> 
-        ///         for reference types.
-        ///     </para>
-        ///     <para>
-        ///         The default contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on <typeparamref name="T"/>.
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        /// <exception cref="CompositionContractMismatchException">
-        ///     The underlying exported value cannot be cast to <typeparamref name="T"/>.
-        /// </exception>
-        /// <exception cref="ImportCardinalityMismatchException">
-        ///     There are more than one exported values with the specified contract name in the
-        ///     <see cref="CompositionContainer"/>.
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="CompositionContainer"/> has been disposed of.
-        /// </exception>
-        /// <exception cref="CompositionException">
-        ///     An error occurred during composition. <see cref="CompositionException.Errors"/> will 
-        ///     contain a collection of errors that occurred.
-        /// </exception>
-        public T GetExportedValueOrDefault<T>(string contractName)
-        {
-            return this.GetExportedValueCore<T>(contractName, ImportCardinality.ZeroOrOne);
-        }
-
-        /// <summary>
-        ///     Returns the exported values with the contract name derived from the specified type 
-        ///     parameter.
-        /// </summary>
-        /// <typeparam name="T">
-        ///     The type of the exported value to return. The contract name is also 
-        ///     derived from this type parameter.
-        /// </typeparam>
-        /// <returns>
-        ///     An <see cref="Collection{T}"/> containing the exported values with the contract name 
-        ///     derived from the specified type parameter, if found; otherwise, an empty 
-        ///     <see cref="Collection{T}"/>.
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         The contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on <typeparamref name="T"/>.
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        /// <exception cref="CompositionContractMismatchException">
-        ///     One or more of the underlying exported values cannot be cast to 
-        ///     <typeparamref name="T"/>.
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="CompositionContainer"/> has been disposed of.
-        /// </exception>
-        /// <exception cref="CompositionException">
-        ///     An error occurred during composition. <see cref="CompositionException.Errors"/> will 
-        ///     contain a collection of errors that occurred.
-        /// </exception>
-        public IEnumerable<T> GetExportedValues<T>()
-        {
-            return this.GetExportedValues<T>((string)null);
-        }
-
-        /// <summary>
-        ///     Returns the exported values with the specified contract name.
-        /// </summary>
-        /// <typeparam name="T">
-        ///     The type of the exported value to return.
-        /// </typeparam>
-        /// <param name="contractName">
-        ///     A <see cref="String"/> containing the contract name of the exported values to 
-        ///     return; or <see langword="null"/> or an empty string ("") to use the default 
-        ///     contract name.
-        /// </param>
-        /// <returns>
-        ///     An <see cref="Collection{T}"/> containing the exported values with the specified 
-        ///     contract name, if found; otherwise, an empty <see cref="Collection{T}"/>.
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         The default contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on <typeparamref name="T"/>.
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        /// <exception cref="CompositionContractMismatchException">
-        ///     One or more of the underlying exported values cannot be cast to 
-        ///     <typeparamref name="T"/>.
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="CompositionContainer"/> has been disposed of.
-        /// </exception>
-        /// <exception cref="CompositionException">
-        ///     An error occurred during composition. <see cref="CompositionException.Errors"/> will 
-        ///     contain a collection of errors that occurred.
-        /// </exception>
-        public IEnumerable<T> GetExportedValues<T>(string contractName)
-        {
-            return this.GetExportedValuesCore<T>(contractName);
-        }
-
-        private IEnumerable<T> GetExportedValuesCore<T>(string contractName)
-        {
-            IEnumerable<Export> exports = this.GetExportsCore(typeof(T), (Type)null, contractName, ImportCardinality.ZeroOrMore);
-
-            Collection<T> result = new Collection<T>();
-            foreach (Export export in exports)
-            {
-                result.Add(ExportServices.GetCastedExportedValue<T>(export));
-            }
-            return result;
-        }
-
-        private T GetExportedValueCore<T>(string contractName, ImportCardinality cardinality)
-        {
-            Assumes.IsTrue(cardinality.IsAtMostOne());
-
-            Export export = this.GetExportsCore(typeof(T), (Type)null, contractName, cardinality).SingleOrDefault();
-
-            return (export != null) ? ExportServices.GetCastedExportedValue<T>(export) : default(T);
-        }
-
-        private IEnumerable<Lazy<T>> GetExportsCore<T>(string contractName)
-        {
-            IEnumerable<Export> exports = this.GetExportsCore(typeof(T), (Type)null, contractName, ImportCardinality.ZeroOrMore);
-
-            Collection<Lazy<T>> result = new Collection<Lazy<T>>();
-            foreach (Export export in exports)
-            {
-                result.Add(ExportServices.CreateStronglyTypedLazyOfT<T>(export));
-            }
-            return result;
-        }
-
-        private IEnumerable<Lazy<T, TMetadataView>> GetExportsCore<T, TMetadataView>(string contractName)
-        {
-            IEnumerable<Export> exports = this.GetExportsCore(typeof(T), typeof(TMetadataView), contractName, ImportCardinality.ZeroOrMore);
-
-            Collection<Lazy<T, TMetadataView>> result = new Collection<Lazy<T, TMetadataView>>();
-            foreach (Export export in exports)
-            {
-                result.Add(ExportServices.CreateStronglyTypedLazyOfTM<T, TMetadataView>(export));
-            }
-            return result;
-        }
-
-        private Lazy<T, TMetadataView> GetExportCore<T, TMetadataView>(string contractName)
-        {
-            Export export = this.GetExportsCore(typeof(T), typeof(TMetadataView), contractName, ImportCardinality.ExactlyOne).SingleOrDefault();
-
-            return (export != null) ? ExportServices.CreateStronglyTypedLazyOfTM<T, TMetadataView>(export) : null;
-        }
-
-        private Lazy<T> GetExportCore<T>(string contractName)
-        {
-            Export export = this.GetExportsCore(typeof(T), null, contractName, ImportCardinality.ExactlyOne).SingleOrDefault();
-
-            return (export != null) ? ExportServices.CreateStronglyTypedLazyOfT<T>(export) : null;
-        }
-
-        private IEnumerable<Export> GetExportsCore(Type type, Type metadataViewType, string contractName, ImportCardinality cardinality)
-        {
-            // Only 'type' cannot be null - the other parameters have sensible defaults.
-            Requires.NotNull(type, "type");
-
-            if (string.IsNullOrEmpty(contractName))
-            {
-                contractName = AttributedModelServices.GetContractName(type);
-            }
-
-            if (metadataViewType == null)
-            {
-                metadataViewType = ExportServices.DefaultMetadataViewType;
-            }
-
-            if (!MetadataViewProvider.IsViewTypeValid(metadataViewType))
-            {
-                throw new InvalidOperationException(string.Format(CultureInfo.CurrentCulture, Strings.InvalidMetadataView, metadataViewType.Name));
-            }
-
-            ImportDefinition importDefinition = BuildImportDefinition(type, metadataViewType, contractName, cardinality);
-            return this.GetExports(importDefinition, null);
-        }
-
-        private static ImportDefinition BuildImportDefinition(Type type, Type metadataViewType, string contractName, ImportCardinality cardinality)
-        {
-            Assumes.NotNull(type, metadataViewType, contractName);
-
-            IEnumerable<KeyValuePair<string, Type>> requiredMetadata = CompositionServices.GetRequiredMetadata(metadataViewType);
-
-            string requiredTypeIdentity = null;
-            if (type != typeof(object))
-            {
-                requiredTypeIdentity = AttributedModelServices.GetTypeIdentity(type);
-            }
-
-            return new ContractBasedImportDefinition(contractName, requiredTypeIdentity, requiredMetadata, cardinality, false, true, CreationPolicy.Any);
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ExportProvider.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ExportProvider.cs
deleted file mode 100644
index 39893dc..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ExportProvider.cs
+++ /dev/null
@@ -1,231 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Primitives;
-using System.Globalization;
-using System.Linq;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    /// <summary>
-    ///     Defines the <see langword="abstract"/> base class for export providers, which provide
-    ///     methods for retrieving <see cref="Export"/> objects.
-    /// </summary>
-    public abstract partial class ExportProvider
-    {
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ExportProvider"/> class.
-        /// </summary>
-        protected ExportProvider()
-        {
-        }
-
-        /// <summary>
-        ///     Occurs when the exports in the <see cref="ExportProvider"/> have changed.
-        /// </summary>
-        public event EventHandler<ExportsChangeEventArgs> ExportsChanged;
-
-        /// <summary>
-        ///     Occurs when the exports in the <see cref="ExportProvider"/> are changing.
-        /// </summary>
-        public event EventHandler<ExportsChangeEventArgs> ExportsChanging;
-
-        /// <summary>
-        ///     Returns all exports that match the conditions of the specified import.
-        /// </summary>
-        /// <param name="definition">
-        ///     The <see cref="ImportDefinition"/> that defines the conditions of the 
-        ///     <see cref="Export"/> objects to get.
-        /// </param>
-        /// <result>
-        ///     An <see cref="IEnumerable{T}"/> of <see cref="Export"/> objects that match 
-        ///     the conditions defined by <see cref="ImportDefinition"/>, if found; otherwise, an 
-        ///     empty <see cref="IEnumerable{T}"/>.
-        /// </result>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="definition"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="ImportCardinalityMismatchException">
-        ///     <para>
-        ///         <see cref="ImportDefinition.Cardinality"/> is <see cref="ImportCardinality.ExactlyOne"/> and 
-        ///         there are zero <see cref="Export"/> objects that match the conditions of the specified 
-        ///         <see cref="ImportDefinition"/>.
-        ///     </para>
-        ///     -or-
-        ///     <para>
-        ///         <see cref="ImportDefinition.Cardinality"/> is <see cref="ImportCardinality.ZeroOrOne"/> or 
-        ///         <see cref="ImportCardinality.ExactlyOne"/> and there are more than one <see cref="Export"/> 
-        ///         objects that match the conditions of the specified <see cref="ImportDefinition"/>.
-        ///     </para>
-        /// </exception>
-        public IEnumerable<Export> GetExports(ImportDefinition definition)
-        {
-            return GetExports(definition, null);
-        }
-
-        /// <summary>
-        ///     Returns all exports that match the conditions of the specified import.
-        /// </summary>
-        /// <param name="definition">
-        ///     The <see cref="ImportDefinition"/> that defines the conditions of the 
-        ///     <see cref="Export"/> objects to get.
-        /// </param>
-        /// <result>
-        ///     An <see cref="IEnumerable{T}"/> of <see cref="Export"/> objects that match 
-        ///     the conditions defined by <see cref="ImportDefinition"/>, if found; otherwise, an 
-        ///     empty <see cref="IEnumerable{T}"/>.
-        /// </result>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="definition"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="ImportCardinalityMismatchException">
-        ///     <para>
-        ///         <see cref="ImportDefinition.Cardinality"/> is <see cref="ImportCardinality.ExactlyOne"/> and 
-        ///         there are zero <see cref="Export"/> objects that match the conditions of the specified 
-        ///         <see cref="ImportDefinition"/>.
-        ///     </para>
-        ///     -or-
-        ///     <para>
-        ///         <see cref="ImportDefinition.Cardinality"/> is <see cref="ImportCardinality.ZeroOrOne"/> or 
-        ///         <see cref="ImportCardinality.ExactlyOne"/> and there are more than one <see cref="Export"/> 
-        ///         objects that match the conditions of the specified <see cref="ImportDefinition"/>.
-        ///     </para>
-        /// </exception>
-        public IEnumerable<Export> GetExports(ImportDefinition definition, AtomicComposition atomicComposition)
-        {
-            Requires.NotNull(definition, "definition");
-
-            IEnumerable<Export> exports;
-            ExportCardinalityCheckResult result = this.TryGetExportsCore(definition, atomicComposition, out exports);
-            switch(result)
-            {
-                case ExportCardinalityCheckResult.Match:
-                    return exports;
-                case ExportCardinalityCheckResult.NoExports:
-                    throw new ImportCardinalityMismatchException(string.Format(CultureInfo.CurrentCulture, Strings.CardinalityMismatch_NoExports, definition.Constraint.Body.ToString()));
-                default:
-                    Assumes.IsTrue(result == ExportCardinalityCheckResult.TooManyExports);
-                    throw new ImportCardinalityMismatchException(string.Format(CultureInfo.CurrentCulture, Strings.CardinalityMismatch_TooManyExports, definition.Constraint.Body.ToString()));
-            }
-        }
-
-        /// <summary>
-        ///     Returns all exports that match the conditions of the specified import.
-        /// </summary>
-        /// <param name="definition">
-        ///     The <see cref="ImportDefinition"/> that defines the conditions of the 
-        ///     <see cref="Export"/> objects to get.
-        /// </param>
-        /// <param name="exports">
-        ///     When this method returns, contains an <see cref="IEnumerable{T}"/> of <see cref="Export"/> 
-        ///     objects that match the conditions defined by <see cref="ImportDefinition"/>, if found; 
-        ///     otherwise, an empty <see cref="IEnumerable{T}"/>.
-        /// </param>
-        /// <returns>
-        ///     <see langword="true"/> if <see cref="ImportDefinition.Cardinality"/> is 
-        ///     <see cref="ImportCardinality.ZeroOrOne"/> or <see cref="ImportCardinality.ZeroOrMore"/> and 
-        ///     there are zero <see cref="Export"/> objects that match the conditions of the specified 
-        ///     <see cref="ImportDefinition"/>. <see langword="true"/> if 
-        ///     <see cref="ImportDefinition.Cardinality"/> is <see cref="ImportCardinality.ZeroOrOne"/> or 
-        ///     <see cref="ImportCardinality.ExactlyOne"/> and there is exactly one <see cref="Export"/> 
-        ///     that matches the conditions of the specified <see cref="ImportDefinition"/>; otherwise, 
-        ///     <see langword="false"/>.
-        /// </returns>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="definition"/> is <see langword="null"/>.
-        /// </exception>
-        public bool TryGetExports(ImportDefinition definition, AtomicComposition atomicComposition, out IEnumerable<Export> exports)
-        {
-            Requires.NotNull(definition, "definition");
-
-            exports = null;
-            ExportCardinalityCheckResult result = this.TryGetExportsCore(definition, atomicComposition, out exports);
-            return (result == ExportCardinalityCheckResult.Match);
-        }
-    
-        /// <summary>
-        ///     Returns all exports that match the constraint defined by the specified definition.
-        /// </summary>
-        /// <param name="definition">
-        ///     The <see cref="ImportDefinition"/> that defines the conditions of the 
-        ///     <see cref="Export"/> objects to return.
-        /// </param>
-        /// <result>
-        ///     An <see cref="IEnumerable{T}"/> of <see cref="Export"/> objects that match 
-        ///     the conditions defined by <see cref="ImportDefinition"/>, if found; otherwise, an 
-        ///     empty <see cref="IEnumerable{T}"/>.
-        /// </result>
-        /// <remarks>
-        ///     <note type="inheritinfo">
-        ///         Overriders of this method should not treat cardinality-related mismatches 
-        ///         as errors, and should not throw exceptions in those cases. For instance,
-        ///         if <see cref="ImportDefinition.Cardinality"/> is <see cref="ImportCardinality.ExactlyOne"/> 
-        ///         and there are zero <see cref="Export"/> objects that match the conditions of the 
-        ///         specified <see cref="ImportDefinition"/>, an <see cref="IEnumerable{T}"/> should be returned.
-        ///     </note>
-        /// </remarks>
-        protected abstract IEnumerable<Export> GetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition);
-
-        /// <summary>
-        ///     Raises the <see cref="ExportsChanged"/> event.
-        /// </summary>
-        /// <param name="e">
-        ///     An <see cref="ExportsChangeEventArgs"/> containing the data for the event.
-        /// </param>
-        protected virtual void OnExportsChanged(ExportsChangeEventArgs e)
-        {
-            EventHandler<ExportsChangeEventArgs> changedEvent = this.ExportsChanged;
-            if (changedEvent != null)
-            {
-                CompositionResult result = CompositionServices.TryFire(changedEvent, this, e);
-                result.ThrowOnErrors(e.AtomicComposition);
-            }
-        }
-
-        /// <summary>
-        ///     Raises the <see cref="ExportsChanging"/> event.
-        /// </summary>
-        /// <param name="e">
-        ///     An <see cref="ExportsChangeEventArgs"/> containing the data for the event.
-        /// </param>
-        protected virtual void OnExportsChanging(ExportsChangeEventArgs e)
-        {
-            EventHandler<ExportsChangeEventArgs> changingEvent = this.ExportsChanging;
-            if (changingEvent != null)
-            {
-                CompositionResult result = CompositionServices.TryFire(changingEvent, this, e);
-                result.ThrowOnErrors(e.AtomicComposition);
-            }
-        }
-
-        private ExportCardinalityCheckResult TryGetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition, out IEnumerable<Export> exports)
-        {
-            Assumes.NotNull(definition);
-
-            exports = this.GetExportsCore(definition, atomicComposition);
-
-            if (exports == null)
-            {
-                exports = Enumerable.Empty<Export>();
-            }
-
-            var checkResult = ExportServices.CheckCardinality(definition, exports);
-
-            // Export providers treat >1 match as zero for cardinality 0-1 imports
-            // If this policy is moved we need to revisit the assumption that the
-            // ImportEngine made during previewing the only required imports to 
-            // now also preview optional imports.
-            if (checkResult == ExportCardinalityCheckResult.TooManyExports &&
-                definition.Cardinality == ImportCardinality.ZeroOrOne)
-            {
-                checkResult = ExportCardinalityCheckResult.Match;
-                exports = Enumerable.Empty<Export>();
-            }
-
-            return checkResult;
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ExportsChangeEventArgs.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ExportsChangeEventArgs.cs
deleted file mode 100644
index 6cff6b6..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ExportsChangeEventArgs.cs
+++ /dev/null
@@ -1,110 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.Linq;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-using System.ComponentModel.Composition.Primitives;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    /// <summary>
-    ///     Provides data for the <see cref="ExportProvider.ExportsChanged"/> and 
-    ///     <see cref="ExportProvider.ExportsChanging"/> events.
-    /// </summary>
-    public class ExportsChangeEventArgs : EventArgs
-    {
-        private IEnumerable<string> _changedContractNames = null;
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ExportsChangeEventArgs"/> class with 
-        ///     the specified changed export definitions.
-        /// </summary>
-        /// <param name="addedExports">
-        ///     An <see cref="IEnumerable{T}"/> of <see cref="ExportDefinition"/>s of the exports
-        ///     that have been added.
-        /// </param>
-        /// <param name="removedExports">
-        ///     An <see cref="IEnumerable{T}"/> of <see cref="ExportDefinition"/>s of the exports
-        ///     that have been removed.
-        /// </param>
-        /// <param name="atomicComposition">
-        ///     A <see cref="AtomicComposition"/> representing all tentative changes that will
-        ///     be completed if the change is successful, or discarded if it is not. 
-        ///     <see langword="null"/> if being applied outside a <see cref="AtomicComposition"/> 
-        ///     or during a <see cref="ExportProvider.ExportsChanged"/> event.
-        /// </param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="addedExports"/> or <paramref name="removedExports"/> is <see langword="null"/>.
-        /// </exception>
-        public ExportsChangeEventArgs(IEnumerable<ExportDefinition> addedExports,
-                IEnumerable<ExportDefinition> removedExports, AtomicComposition atomicComposition)
-        {
-            Requires.NotNull(addedExports, "addedExports");
-            Requires.NotNull(removedExports, "removedExports");
-
-            this.AddedExports = addedExports.AsArray();
-            this.RemovedExports = removedExports.AsArray();
-            this.AtomicComposition = atomicComposition;
-        }
-
-        /// <summary>
-        ///     Gets the export definitions for the exports that have been added.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="IEnumerable{T}"/> of ExportDefinitions representing 
-        ///     the exports that have been added to the <see cref="CompositionContainer"/>.
-        /// </value>
-        public IEnumerable<ExportDefinition> AddedExports { get; private set; }
-
-        /// <summary>
-        ///     Gets the export definitions for the exports that have been removed.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="IEnumerable{T}"/> of ExportDefinitions representing 
-        ///     the exports that have been added to the <see cref="CompositionContainer"/>.
-        /// </value>
-        public IEnumerable<ExportDefinition> RemovedExports { get; private set; }
-
-        /// <summary>
-        ///     Gets the contract names of the exports that have changed.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="IEnumerable{T}"/> of strings representing the contract names of 
-        ///     the exports that have changed in the <see cref="CompositionContainer"/>.
-        /// </value>
-        public IEnumerable<string> ChangedContractNames 
-        {
-            get
-            {
-                if (this._changedContractNames == null)
-                {
-                    this._changedContractNames = this.AddedExports
-                        .Concat(this.RemovedExports)
-                        .Select(export => export.ContractName)
-                        .Distinct()
-                        .ToArray();
-                }
-                return this._changedContractNames;
-            }
-        }
-
-        /// <summary>
-        ///     Gets the atomicComposition, if any, that this change applies to.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="AtomicComposition"/> that this set of changes applies too. 
-        ///     
-        ///     It can be <see langword="null"/> if the changes are being applied outside a 
-        ///     <see cref="AtomicComposition"/> or during a 
-        ///     <see cref="ExportProvider.ExportsChanged"/> event.
-        ///     
-        ///     When the value is non-null it should be used to record temporary changed state
-        ///     and actions that will be executed when the atomicComposition is completeed.
-        /// </value>
-        public AtomicComposition AtomicComposition { get; private set; }
-    }
-}
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/INotifyComposablePartCatalogChanged.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/INotifyComposablePartCatalogChanged.cs
deleted file mode 100644
index 28d013b..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/INotifyComposablePartCatalogChanged.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    /// <summary>
-    ///     Notifications when a ComposablePartCatalog changes.
-    /// </summary>
-    public interface INotifyComposablePartCatalogChanged
-    {
-        event EventHandler<ComposablePartCatalogChangeEventArgs> Changed;
-        event EventHandler<ComposablePartCatalogChangeEventArgs> Changing;
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ImportEngine.EngineContext.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ImportEngine.EngineContext.cs
deleted file mode 100644
index d5fb427..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ImportEngine.EngineContext.cs
+++ /dev/null
@@ -1,84 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Primitives;
-using System.Diagnostics;
-using System.Linq;
-using System.Runtime.CompilerServices;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    public partial class ImportEngine 
-    {
-        /// <summary>
-        ///     Used to wrap the start and stop of enforcing export changes don't
-        ///     break required imports. This context is stored in a AtomicComposition.
-        /// </summary>
-        private class EngineContext
-        {
-            private ImportEngine _importEngine;
-            private List<PartManager> _addedPartManagers = new List<PartManager>();
-            private List<PartManager> _removedPartManagers = new List<PartManager>();
-            private EngineContext _parentEngineContext;
-
-            public EngineContext(ImportEngine importEngine, EngineContext parentEngineContext)
-            {
-                this._importEngine = importEngine;
-                this._parentEngineContext = parentEngineContext;
-            }
-
-            public void AddPartManager(PartManager part)
-            {
-                Assumes.NotNull(part);
-                if (!this._removedPartManagers.Remove(part))
-                {
-                    this._addedPartManagers.Add(part);
-                }
-            }
-
-            public void RemovePartManager(PartManager part)
-            {
-                Assumes.NotNull(part);
-                if (!this._addedPartManagers.Remove(part))
-                {
-                    this._removedPartManagers.Add(part);
-                }
-            }
-
-            public IEnumerable<PartManager> GetAddedPartManagers()
-            {
-                if (this._parentEngineContext != null)
-                {
-                    return this._addedPartManagers.ConcatAllowingNull(this._parentEngineContext.GetAddedPartManagers());
-                }
-                return this._addedPartManagers;
-            }
-
-            public IEnumerable<PartManager> GetRemovedPartManagers()
-            {
-                if (this._parentEngineContext != null)
-                {
-                    return this._removedPartManagers.ConcatAllowingNull(this._parentEngineContext.GetRemovedPartManagers());
-                }
-                return this._removedPartManagers;
-            }
-
-            public void Complete()
-            {
-                foreach (var partManager in this._addedPartManagers)
-                {
-                    this._importEngine.StartSatisfyingImports(partManager, null);
-                }
-
-                foreach (var partManager in this._removedPartManagers)
-                {
-                    this._importEngine.StopSatisfyingImports(partManager, null);
-                }
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ImportEngine.PartManager.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ImportEngine.PartManager.cs
deleted file mode 100644
index 2af4197..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ImportEngine.PartManager.cs
+++ /dev/null
@@ -1,211 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Primitives;
-using System.Diagnostics;
-using System.Linq;
-using System.Runtime.CompilerServices;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    public partial class ImportEngine
-    {
-        /// <summary>
-        ///     Used by the <see cref="ImportEngine"/> to manage the composition of a given part.
-        ///     It stores things like the list of disposable exports used to satisfy the imports as
-        ///     well as the caching of the exports discovered during previewing of a part.
-        /// </summary>
-        private class PartManager
-        {
-            private Dictionary<ImportDefinition, List<IDisposable>> _importedDisposableExports;
-            private Dictionary<ImportDefinition, Export[]> _importCache;
-            private string[] _importedContractNames;
-            private ComposablePart _part;
-            private ImportState _state = ImportState.NoImportsSatisfied;
-            private readonly ImportEngine _importEngine;
-
-            public PartManager(ImportEngine importEngine, ComposablePart part)
-            {
-                this._importEngine = importEngine;
-                this._part = part;
-            }
-
-            public ComposablePart Part
-            {
-                get
-                {
-                    return this._part;
-                }
-            }
-
-            public ImportState State
-            {
-                get
-                {
-                    using (this._importEngine._lock.LockStateForRead())
-                    {
-                        return this._state;
-                    }
-                }
-                set
-                {
-                    using (this._importEngine._lock.LockStateForWrite())
-                    {
-                        this._state = value;
-                    }
-                }
-            }
-
-            public bool TrackingImports { get; set; }
-
-            public IEnumerable<string> GetImportedContractNames()
-            {
-                if (this.Part == null)
-                {
-                    return Enumerable.Empty<string>();
-                }
-
-                if (this._importedContractNames == null)
-                {
-                    this._importedContractNames = this.Part.ImportDefinitions.Select(import => import.ContractName ?? ImportDefinition.EmptyContractName).Distinct().ToArray();
-                }
-                return this._importedContractNames;
-            }
-
-            public CompositionResult TrySetImport(ImportDefinition import, IEnumerable<Export> exports)
-            {
-                try
-                {
-                    this.Part.SetImport(import, exports);
-                    UpdateDisposableDependencies(import, exports);
-                    return CompositionResult.SucceededResult;
-                }
-                catch (CompositionException ex)
-                {   // Pulling on one of the exports failed
-
-                    return new CompositionResult(
-                        ErrorBuilder.CreatePartCannotSetImport(Part, import, ex));
-                }
-                catch (ComposablePartException ex)
-                {   // Type mismatch between export and import
-
-                    return new CompositionResult(
-                        ErrorBuilder.CreatePartCannotSetImport(Part, import, ex));
-                }
-            }
-
-            public void SetSavedImport(ImportDefinition import, Export[] exports, AtomicComposition atomicComposition)
-            {
-                if (atomicComposition != null)
-                {
-                    var savedExports = this.GetSavedImport(import);
-
-                    // Add a revert action to revert the stored exports
-                    // in the case that this atomicComposition gets rolled back.
-                    atomicComposition.AddRevertAction(() =>
-                        this.SetSavedImport(import, savedExports, null));
-                }
-
-                if (this._importCache == null)
-                {
-                    this._importCache = new Dictionary<ImportDefinition, Export[]>();
-                }
-
-                this._importCache[import] = exports;
-            }
-
-            public Export[] GetSavedImport(ImportDefinition import)
-            {
-                Export[] exports = null;
-                if (this._importCache != null)
-                {
-                    // We don't care about the return value we just want the exports
-                    // and if it isn't present we just return the initialized null value
-                    this._importCache.TryGetValue(import, out exports);
-                }
-                return exports;
-            }
-
-            public void ClearSavedImports()
-            {
-                this._importCache = null;
-            }
-
-            public CompositionResult TryOnComposed()
-            {
-                try
-                {
-                    this.Part.Activate();
-                    return CompositionResult.SucceededResult;
-                }
-                catch (ComposablePartException ex)
-                {   // Type failed to be constructed, imports could not be set, etc
-                    return new CompositionResult(
-                        ErrorBuilder.CreatePartCannotActivate(this.Part, ex));
-                }
-            }
-
-            public void UpdateDisposableDependencies(ImportDefinition import, IEnumerable<Export> exports)
-            {
-                // Determine if there are any new disposable exports, optimizing for the most
-                // likely case, which is that there aren't any
-                List<IDisposable> disposableExports = null;
-                foreach (var disposableExport in exports.OfType<IDisposable>())
-                {
-                    if (disposableExports == null)
-                    {
-                        disposableExports = new List<IDisposable>();
-                    }
-                    disposableExports.Add(disposableExport);
-                }
-
-                // Dispose any existing references previously set on this import
-                List<IDisposable> oldDisposableExports = null;
-                if (this._importedDisposableExports != null &&
-                    this._importedDisposableExports.TryGetValue(import, out oldDisposableExports))
-                {
-                    oldDisposableExports.ForEach(disposable => disposable.Dispose());
-
-                    // If there aren't any replacements, get rid of the old storage
-                    if (disposableExports == null)
-                    {
-                        this._importedDisposableExports.Remove(import);
-                        if (!this._importedDisposableExports.FastAny())
-                        {
-                            this._importedDisposableExports = null;
-                        }
-
-                        return;
-                    }
-                }
-
-                // Record the new collection
-                if (disposableExports != null)
-                {
-                    if (this._importedDisposableExports == null)
-                    {
-                        this._importedDisposableExports = new Dictionary<ImportDefinition, List<IDisposable>>();
-                    }
-                    this._importedDisposableExports[import] = disposableExports;
-                }
-            }
-
-            public void DisposeAllDependencies()
-            {
-                if (this._importedDisposableExports != null)
-                {
-                    IEnumerable<IDisposable> dependencies = this._importedDisposableExports.Values
-                        .SelectMany(exports => exports);
-
-                    this._importedDisposableExports = null;
-
-                    dependencies.ForEach(disposableExport => disposableExport.Dispose());
-                }
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ImportEngine.RecompositionManager.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ImportEngine.RecompositionManager.cs
deleted file mode 100644
index ba1f98a..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ImportEngine.RecompositionManager.cs
+++ /dev/null
@@ -1,159 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Primitives;
-using System.Diagnostics;
-using System.Linq;
-using System.Runtime.CompilerServices;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    public partial class ImportEngine
-    {
-        /// <summary>
-        ///     Used by the <see cref="ImportEngine"/> to effiecently store and retrieve the list of parts
-        ///     that will be affected by changes to exports. This allows the <see cref="ImportEngine"/> to properly
-        ///     block breaking changes and also recompose imports as appropriate.
-        /// </summary>
-        private class RecompositionManager
-        {
-            private WeakReferenceCollection<PartManager> _partsToIndex = new WeakReferenceCollection<PartManager>();
-            private WeakReferenceCollection<PartManager> _partsToUnindex = new WeakReferenceCollection<PartManager>();
-            private Dictionary<string, WeakReferenceCollection<PartManager>> _partManagerIndex = new Dictionary<string, WeakReferenceCollection<PartManager>>();
-
-            public void AddPartToIndex(PartManager partManager)
-            {
-                this._partsToIndex.Add(partManager);
-            }
-
-            public void AddPartToUnindex(PartManager partManager)
-            {
-                this._partsToUnindex.Add(partManager);
-            }
-
-            public IEnumerable<PartManager> GetAffectedParts(IEnumerable<string> changedContractNames)
-            {
-                this.UpdateImportIndex();
-
-                List<PartManager> parts = new List<PartManager>();
-
-                parts.AddRange(GetPartsImporting(ImportDefinition.EmptyContractName));
-
-                foreach (string contractName in changedContractNames)
-                {
-                    parts.AddRange(GetPartsImporting(contractName));
-                }
-
-                return parts;
-            }
-
-            public static IEnumerable<ImportDefinition> GetAffectedImports(ComposablePart part, IEnumerable<ExportDefinition> changedExports)
-            {
-                return part.ImportDefinitions.Where(import => IsAffectedImport(import, changedExports));
-            }
-
-            private static bool IsAffectedImport(ImportDefinition import, IEnumerable<ExportDefinition> changedExports)
-            {
-                // This could be more efficient still if the export definitions were indexed by contract name,
-                // only worth revisiting if we need to squeeze more performance out of recomposition
-                foreach (var export in changedExports)
-                {
-                    if (import.IsConstraintSatisfiedBy(export))
-                    {
-                        return true;
-                    }
-                }
-               
-                return false;
-            }
-
-            public IEnumerable<PartManager> GetPartsImporting(string contractName)
-            {
-                WeakReferenceCollection<PartManager> partManagerList;
-                if (!this._partManagerIndex.TryGetValue(contractName, out partManagerList))
-                {
-                    return Enumerable.Empty<PartManager>();
-                }
-
-                return partManagerList.AliveItemsToList();
-            }
-
-            private void AddIndexEntries(PartManager partManager)
-            {
-                foreach (string contractName in partManager.GetImportedContractNames())
-                {
-                    WeakReferenceCollection<PartManager> indexEntries;
-                    if (!this._partManagerIndex.TryGetValue(contractName, out indexEntries))
-                    {
-                        indexEntries = new WeakReferenceCollection<PartManager>();
-                        this._partManagerIndex.Add(contractName, indexEntries);
-                    }
-
-                    if (!indexEntries.Contains(partManager))
-                    {
-                        indexEntries.Add(partManager);
-                    }
-                }
-            }
-
-            private void RemoveIndexEntries(PartManager partManager)
-            {
-                foreach (string contractName in partManager.GetImportedContractNames())
-                {
-                    WeakReferenceCollection<PartManager> indexEntries;
-                    if (this._partManagerIndex.TryGetValue(contractName, out indexEntries))
-                    {
-                        indexEntries.Remove(partManager);
-                        var aliveItems = indexEntries.AliveItemsToList();
-
-                        if (aliveItems.Count == 0)
-                        {
-                            this._partManagerIndex.Remove(contractName);
-                        }
-                    }
-                }
-            }
-
-            private void UpdateImportIndex()
-            {
-                var partsToIndex = this._partsToIndex.AliveItemsToList();
-                this._partsToIndex.Clear();
-
-                var partsToUnindex = this._partsToUnindex.AliveItemsToList();
-                this._partsToUnindex.Clear();
-
-                if (partsToIndex.Count == 0 && partsToUnindex.Count == 0)
-                {
-                    return;
-                }
-
-                foreach (var partManager in partsToIndex)
-                {
-                    var index = partsToUnindex.IndexOf(partManager);
-
-                    // If the same part is being added and removed we can ignore both
-                    if (index >= 0)
-                    {
-                        partsToUnindex[index] = null;
-                    }
-                    else
-                    {
-                        AddIndexEntries(partManager);
-                    }
-                }
-
-                foreach (var partManager in partsToUnindex)
-                {
-                    if (partManager != null)
-                    {
-                        RemoveIndexEntries(partManager);
-                    }
-                }
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ImportEngine.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ImportEngine.cs
deleted file mode 100644
index 18b296a..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/ImportEngine.cs
+++ /dev/null
@@ -1,754 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Primitives;
-using System.Diagnostics;
-using System.Linq;
-using System.Runtime.CompilerServices;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    // This class guarantees thread-safety under the follwoing conditions:
-    // - Each composition is executed on a single thread
-    // - No recomposition ever takes place
-    // - The class is created with isThreadSafe=true
-    public partial class ImportEngine : ICompositionService, IDisposable
-    {
-        private const int MaximumNumberOfCompositionIterations = 100;
-
-        private volatile bool _isDisposed;
-        private ExportProvider _sourceProvider;
-        private Stack<PartManager> _recursionStateStack = new Stack<PartManager>();
-        private ConditionalWeakTable<ComposablePart, PartManager> _partManagers = new ConditionalWeakTable<ComposablePart, PartManager>();
-        private RecompositionManager _recompositionManager = new RecompositionManager();
-        private readonly CompositionLock _lock = null;
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ImportEngine"/> class.
-        /// </summary>
-        /// <param name="sourceProvider">
-        ///     The <see cref="ExportProvider"/> which provides the 
-        ///     <see cref="ImportEngine"/> access to <see cref="Export"/>s. 
-        /// </param>
-        public ImportEngine(ExportProvider sourceProvider)
-            : this(sourceProvider, false)
-        {
-        }
-
-        public ImportEngine(ExportProvider sourceProvider, bool isThreadSafe)
-        {
-            Requires.NotNull(sourceProvider, "sourceProvider");
-
-            this._sourceProvider = sourceProvider;
-            this._sourceProvider.ExportsChanging += this.OnExportsChanging;
-            this._lock = new CompositionLock(isThreadSafe);
-        }
-
-        /// <summary>
-        ///     Previews all the required imports for the given <see cref="ComposablePart"/> to 
-        ///     ensure they can all be satisified. The preview does not actually set the imports
-        ///     only ensures that they exist in the source provider. If the preview succeeds then
-        ///     the <see cref="ImportEngine"/> also enforces that changes to exports in the source
-        ///     provider will not break any of the required imports. If this enforcement needs to be
-        ///     lifted for this part then <see cref="ReleaseImports"/> needs to be called for this
-        ///     <see cref="ComposablePart"/>.
-        /// </summary>
-        /// <param name="part">
-        ///     The <see cref="ComposablePart"/> to preview the required imports.
-        /// </param>
-        /// <param name="atomicComposition"></param>
-        /// <exception cref="CompositionException">
-        ///     An error occurred during previewing and <paramref name="atomicComposition"/> is null. 
-        ///     <see cref="CompositionException.Errors"/> will contain a collection of errors that occurred.
-        ///     The pre-existing composition is in an unknown state, depending on the errors that occured.
-        /// </exception>
-        /// <exception cref="ChangeRejectedException">
-        ///     An error occurred during the previewing and <paramref name="atomicComposition"/> is not null.
-        ///     <see cref="CompositionException.Errors"/> will contain a collection of errors that occurred.
-        ///     The pre-existing composition remains in valid state.
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="ImportEngine"/> has been disposed of.
-        /// </exception>
-        public void PreviewImports(ComposablePart part, AtomicComposition atomicComposition)
-        {
-            this.ThrowIfDisposed();
-
-            Requires.NotNull(part, "part");
-
-            // NOTE : this is a very intricate area threading-wise, please use caution when changing, otherwise state corruption or deadlocks will ensue
-            // The gist of what we are doing is as follows:
-            // We need to lock the composition, as we will proceed modifying our internal state. The tricky part is when we release the lock
-            // Due to the fact that some actions will take place AFTER we leave this method, we need to KEEP THAT LOCK HELD until the transation is commiited or rolled back
-            // This is the reason we CAN'T use "using here.
-            // Instead, if the transaction is present we will queue up the release of the lock, otherwise we will release it when we exit this method
-            // We add the "release" lock to BOTH Commit and Revert queues, because they are mutually exclusive, and we need to release the lock regardless.
-
-            // This will take the lock, if necesary
-            IDisposable compositionLockHolder = this._lock.IsThreadSafe ? this._lock.LockComposition() : null;
-            bool compositionLockTaken = (compositionLockHolder != null);
-            try
-            {
-                // revert actions are processed in the reverse order, so we have to add the "release lock" action now
-                if (compositionLockTaken && (atomicComposition != null))
-                {
-                    atomicComposition.AddRevertAction(() => compositionLockHolder.Dispose());
-                }
-
-                var partManager = GetPartManager(part, true);
-                var result = TryPreviewImportsStateMachine(partManager, part, atomicComposition);
-                result.ThrowOnErrors(atomicComposition);
-
-                StartSatisfyingImports(partManager, atomicComposition);
-
-                // Add the "release lock" to the commit actions
-                if (compositionLockTaken && (atomicComposition != null))
-                {
-                    atomicComposition.AddCompleteAction(() => compositionLockHolder.Dispose());
-                }
-            }
-            finally
-            {
-                // We haven't updated the queues, so we can release the lock now
-                if (compositionLockTaken && (atomicComposition == null))
-                {
-                    compositionLockHolder.Dispose();
-                }
-            }
-        }
-
-        /// <summary>
-        ///     Satisfies the imports of the specified composable part. If the satisfy succeeds then
-        ///     the <see cref="ImportEngine"/> also enforces that changes to exports in the source
-        ///     provider will not break any of the required imports. If this enforcement needs to be
-        ///     lifted for this part then <see cref="ReleaseImports"/> needs to be called for this
-        ///     <see cref="ComposablePart"/>.
-        /// </summary>
-        /// <param name="part">
-        ///     The <see cref="ComposablePart"/> to set the imports.
-        /// </param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="part"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="CompositionException">
-        ///     An error occurred during composition. <see cref="CompositionException.Errors"/> will
-        ///     contain a collection of errors that occurred.
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="ImportEngine"/> has been disposed of.
-        /// </exception>
-        public void SatisfyImports(ComposablePart part)
-        {
-            this.ThrowIfDisposed();
-
-            Requires.NotNull(part, "part");
-
-            // NOTE : the following two calls use the state lock
-            PartManager partManager = this.GetPartManager(part, true);
-            if (partManager.State == ImportState.Composed)
-            {
-                return;
-            }
-
-            using (this._lock.LockComposition())
-            {
-                var result = TrySatisfyImports(partManager, part, true);
-                result.ThrowOnErrors(); // throw CompositionException not ChangeRejectedException
-            }
-        }
-
-        /// <summary>
-        ///     Sets the imports of the specified composable part exactly once and they will not
-        ///     ever be recomposed.
-        /// </summary>
-        /// <param name="part">
-        ///     The <see cref="ComposablePart"/> to set the imports.
-        /// </param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="part"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="CompositionException">
-        ///     An error occurred during composition. <see cref="CompositionException.Errors"/> will
-        ///     contain a collection of errors that occurred.
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="ICompositionService"/> has been disposed of.
-        /// </exception>
-        public void SatisfyImportsOnce(ComposablePart part)
-        {
-            this.ThrowIfDisposed();
-
-            Requires.NotNull(part, "part");
-
-            // NOTE : the following two calls use the state lock
-            PartManager partManager = this.GetPartManager(part, true);
-            if (partManager.State == ImportState.Composed)
-            {
-                return;
-            }
-
-            using (this._lock.LockComposition())
-            {
-                var result = TrySatisfyImports(partManager, part, false);
-                result.ThrowOnErrors(); // throw CompositionException not ChangeRejectedException
-            }
-        }
-
-        /// <summary>
-        ///     Removes any state stored in the <see cref="ImportEngine"/> for the associated 
-        ///     <see cref="ComposablePart"/> and releases all the <see cref="Export"/>s used to 
-        ///     satisfy the imports on the <see cref="ComposablePart"/>.
-        ///     
-        ///     Also removes the enforcement for changes that would break a required import on
-        ///     <paramref name="part"/>.
-        /// </summary>
-        /// <param name="part">
-        ///     The <see cref="ComposablePart"/> to release the imports on. 
-        /// </param>
-        /// <param name="atomicComposition">
-        ///     The <see cref="AtomicComposition"/> that the release imports is running under.
-        /// </param>
-        public void ReleaseImports(ComposablePart part, AtomicComposition atomicComposition)
-        {
-            this.ThrowIfDisposed();
-
-            Requires.NotNull(part, "part");
-
-            using (this._lock.LockComposition())
-            {
-                PartManager partManager = this.GetPartManager(part, false);
-                if (partManager != null)
-                {
-                    this.StopSatisfyingImports(partManager, atomicComposition);
-                }
-            }
-        }
-
-        /// <summary>
-        /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-        /// </summary>
-        public void Dispose()
-        {
-            this.Dispose(true);
-            GC.SuppressFinalize(this);
-        }
-
-        /// <summary>
-        /// Releases unmanaged and - optionally - managed resources
-        /// </summary>
-        /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
-        protected virtual void Dispose(bool disposing)
-        {
-            if (disposing)
-            {
-                if (!this._isDisposed)
-                {
-                    bool disposeLock = false;
-                    ExportProvider sourceProviderToUnsubscribeFrom = null;
-                    using (this._lock.LockStateForWrite())
-                    {
-                        if (!this._isDisposed)
-                        {
-                            sourceProviderToUnsubscribeFrom = this._sourceProvider;
-                            this._sourceProvider = null;
-                            this._recompositionManager = null;
-                            this._partManagers = null;
-                            this._isDisposed = true;
-                            disposeLock = true;
-                        }
-                    }
-
-                    if (sourceProviderToUnsubscribeFrom != null)
-                    {
-                        sourceProviderToUnsubscribeFrom.ExportsChanging -= this.OnExportsChanging;
-                    }
-
-                    if (disposeLock)
-                    {
-                        this._lock.Dispose();
-                    }
-                }
-            }
-        }
-
-        private CompositionResult TryPreviewImportsStateMachine(PartManager partManager,
-            ComposablePart part, AtomicComposition atomicComposition)
-        {
-            var result = CompositionResult.SucceededResult;
-
-            if (partManager.State == ImportState.ImportsPreviewing)
-            {
-                // We shouldn't nomally ever hit this case but if we do 
-                // then we should just error with a cycle error.
-                return new CompositionResult(ErrorBuilder.CreatePartCycle(part));
-            }
-
-            // Transition from NoImportsStatisified to ImportsPreviewed
-            if (partManager.State == ImportState.NoImportsSatisfied)
-            {
-                partManager.State = ImportState.ImportsPreviewing;
-
-                var requiredImports = part.ImportDefinitions.Where(IsRequiredImportForPreview);
-
-                // If this atomicComposition gets rolledback for any reason we need to reset our state
-                atomicComposition.AddRevertActionAllowNull(() => partManager.State = ImportState.NoImportsSatisfied);
-
-                result = result.MergeResult(
-                    this.TrySatisfyImportSubset(partManager, requiredImports, atomicComposition));
-
-                if (!result.Succeeded)
-                {
-                    partManager.State = ImportState.NoImportsSatisfied;
-                    return result;
-                }
-
-                partManager.State = ImportState.ImportsPreviewed;
-            }
-
-            return result;
-        }
-
-        private CompositionResult TrySatisfyImportsStateMachine(PartManager partManager, ComposablePart part)
-        {
-            var result = CompositionResult.SucceededResult;
-
-            while (partManager.State < ImportState.Composed)
-            {
-                var previousState = partManager.State;
-
-                switch (partManager.State)
-                {
-                    // "ed" states which represent a some sort of steady state and will
-                    // attempt to do a state transition
-                    case ImportState.NoImportsSatisfied:
-                    case ImportState.ImportsPreviewed:
-                    {
-                        partManager.State = ImportState.PreExportImportsSatisfying;
-
-                        var prereqImports = part.ImportDefinitions.Where(import => import.IsPrerequisite);
-                        result = result.MergeResult(
-                            this.TrySatisfyImportSubset(partManager, prereqImports, null));
-
-                        partManager.State = ImportState.PreExportImportsSatisfied;
-                        break;
-                    }
-                    case ImportState.PreExportImportsSatisfied:
-                    {
-                        partManager.State = ImportState.PostExportImportsSatisfying;
-
-                        var requiredImports = part.ImportDefinitions.Where(import => !import.IsPrerequisite);
-                        
-                        result = result.MergeResult(
-                            this.TrySatisfyImportSubset(partManager, requiredImports, null));
-
-                        partManager.State = ImportState.PostExportImportsSatisfied;
-                        break;
-                    }
-                    case ImportState.PostExportImportsSatisfied:
-                    {
-                        partManager.State = ImportState.ComposedNotifying;
-
-                        partManager.ClearSavedImports();
-                        result = result.MergeResult(partManager.TryOnComposed());
-  
-                        partManager.State = ImportState.Composed;
-                        break;
-                    }
- 
-
-                    // "ing" states which represent some sort of cycle
-                    // These state should always return, error or not, instead of breaking
-                    case ImportState.ImportsPreviewing:
-                    {
-                        // We shouldn't nomally ever hit this case but if we do 
-                        // then we should just error with a cycle error.
-                        return new CompositionResult(ErrorBuilder.CreatePartCycle(part));
-                    }
-                    case ImportState.PreExportImportsSatisfying:
-                    case ImportState.PostExportImportsSatisfying:
-                    {
-                        if (InPrerequisiteLoop())
-                        {
-                            return result.MergeError(ErrorBuilder.CreatePartCycle(part));
-                        }
-                        // Cycles in post export imports are allowed so just return in that case
-                        return result;
-                    }
-                    case ImportState.ComposedNotifying:
-                    {
-                        // We are currently notifying so don't notify again just return
-                        return result;
-                    }
-                }
-
-                // if an error occured while doing a state transition 
-                if (!result.Succeeded)
-                {
-                    // revert to the previous state and return the error
-                    partManager.State = previousState;
-                    return result;
-                }
-            }
-            return result;
-        }
-
-        private CompositionResult TrySatisfyImports(PartManager partManager, ComposablePart part, bool shouldTrackImports)
-        {
-            Assumes.NotNull(part);
-
-            var result = CompositionResult.SucceededResult;
-
-            // get out if the part is already composed
-            if (partManager.State == ImportState.Composed)
-            {
-                return result;
-            }
-
-            // Track number of recursive iterations and throw an exception before the stack
-            // fills up and debugging the root cause becomes tricky
-            if (this._recursionStateStack.Count >= MaximumNumberOfCompositionIterations)
-            {
-                return result.MergeError(
-                    ErrorBuilder.ComposeTookTooManyIterations(MaximumNumberOfCompositionIterations));
-            }
-
-            // Maintain the stack to detect whether recursive loops cross prerequisites
-            this._recursionStateStack.Push(partManager);
-            try
-            {
-                result = result.MergeResult(
-                    TrySatisfyImportsStateMachine(partManager, part));
-            }
-            finally
-            {
-                this._recursionStateStack.Pop();
-            }
-
-            if (shouldTrackImports)
-            {
-                StartSatisfyingImports(partManager, null);
-            }
-
-            return result;
-        }
-
-        private CompositionResult TrySatisfyImportSubset(PartManager partManager,
-            IEnumerable<ImportDefinition> imports, AtomicComposition atomicComposition)
-        {
-            CompositionResult result = CompositionResult.SucceededResult;
-
-            var part = partManager.Part;
-            foreach (ImportDefinition import in imports)
-            {
-                var exports = partManager.GetSavedImport(import);
-
-                if (exports == null)
-                {
-                    CompositionResult<IEnumerable<Export>> exportsResult = TryGetExports(
-                        this._sourceProvider, part, import, atomicComposition);
-
-                    if (!exportsResult.Succeeded)
-                    {
-                        result = result.MergeResult(exportsResult.ToResult());
-                        continue;
-                    }
-                    exports = exportsResult.Value.AsArray();
-                }
-
-                if (atomicComposition == null)
-                {
-                    result = result.MergeResult(
-                        partManager.TrySetImport(import, exports));
-                }
-                else
-                {
-                    partManager.SetSavedImport(import, exports, atomicComposition);
-                }
-            }
-            return result;
-        }
-
-        private void OnExportsChanging(object sender, ExportsChangeEventArgs e)
-        {
-            CompositionResult result = CompositionResult.SucceededResult;
-
-            // Prepare for the recomposition effort by minimizing the amount of work we'll have to do later
-            AtomicComposition atomicComposition = e.AtomicComposition;
-
-            IEnumerable<PartManager> affectedParts = this._recompositionManager.GetAffectedParts(e.ChangedContractNames);
-
-            // When in a atomicComposition account for everything that isn't yet reflected in the
-            // index
-            if (atomicComposition != null)
-            {
-                EngineContext engineContext;
-                if (atomicComposition.TryGetValue(this, out engineContext))
-                {
-                    // always added the new part managers to see if they will also be 
-                    // affected by these changes
-                    affectedParts = affectedParts.ConcatAllowingNull(engineContext.GetAddedPartManagers())
-                        .Except(engineContext.GetRemovedPartManagers());
-                }
-            }
-
-            var changedExports = e.AddedExports.ConcatAllowingNull(e.RemovedExports);
-
-            foreach (var partManager in affectedParts)
-            {
-                result = result.MergeResult(this.TryRecomposeImports(partManager, changedExports, atomicComposition));
-            }
-
-            result.ThrowOnErrors(atomicComposition);
-        }
-
-        private CompositionResult TryRecomposeImports(PartManager partManager, 
-            IEnumerable<ExportDefinition> changedExports, AtomicComposition atomicComposition)
-        {
-            var result = CompositionResult.SucceededResult;
-
-            switch (partManager.State)
-            {
-                case ImportState.ImportsPreviewed:
-                case ImportState.Composed:
-                    // Validate states to continue.
-                    break;
-
-                default:
-                {
-                    // All other states are invalid and for recomposition. 
-                    return new CompositionResult(ErrorBuilder.InvalidStateForRecompposition(partManager.Part));
-                }
-            }
-
-            var affectedImports = RecompositionManager.GetAffectedImports(partManager.Part, changedExports);
-            bool partComposed = (partManager.State == ImportState.Composed);
-
-            bool recomposedImport = false;
-            foreach (var import in affectedImports)
-            {
-                result = result.MergeResult(
-                    TryRecomposeImport(partManager, partComposed, import, atomicComposition));
-
-                recomposedImport = true;
-            }
-
-            // Knowing that the part has already been composed before and that the only possible
-            // changes are to recomposable imports, we can safely go ahead and do this now or
-            // schedule it for later
-            if (result.Succeeded && recomposedImport && partComposed)
-            {
-                if (atomicComposition == null)
-                {
-                    result = result.MergeResult(partManager.TryOnComposed());
-                }
-                else
-                {
-                    atomicComposition.AddCompleteAction(() => partManager.TryOnComposed().ThrowOnErrors());
-                }
-            }
-
-            return result;
-        }
-
-        private CompositionResult TryRecomposeImport(PartManager partManager, bool partComposed,
-            ImportDefinition import, AtomicComposition atomicComposition)
-        {
-            if (partComposed && !import.IsRecomposable)
-            {
-                return new CompositionResult(ErrorBuilder.PreventedByExistingImport(partManager.Part, import));
-            }
-
-            // During recomposition you must always requery with the new atomicComposition you cannot use any
-            // cached value in the part manager
-            var exportsResult = TryGetExports(this._sourceProvider, partManager.Part, import, atomicComposition);
-            if (!exportsResult.Succeeded)
-            {
-                return exportsResult.ToResult();
-            }
-            var exports = exportsResult.Value.AsArray();
-
-            if (partComposed)
-            {
-                // Knowing that the part has already been composed before and that the only possible
-                // changes are to recomposable imports, we can safely go ahead and do this now or
-                // schedule it for later
-                if (atomicComposition == null)
-                {
-                    return partManager.TrySetImport(import, exports);
-                }
-                else
-                {
-                    atomicComposition.AddCompleteAction(() => partManager.TrySetImport(import, exports).ThrowOnErrors());
-                }
-            }
-            else
-            {
-                partManager.SetSavedImport(import, exports, atomicComposition);
-            }
-
-            return CompositionResult.SucceededResult;
-        }
-
-        private void StartSatisfyingImports(PartManager partManager, AtomicComposition atomicComposition)
-        {
-            // When not running in a atomicCompositional state, schedule reindexing after ensuring
-            // that this isn't a redundant addition
-            if (atomicComposition == null)
-            {
-                if (!partManager.TrackingImports)
-                {
-                    partManager.TrackingImports = true;
-                    this._recompositionManager.AddPartToIndex(partManager);
-                }
-            }
-            else
-            {
-                // While in a atomicCompositional state use a less efficient but effective means
-                // of achieving the same results
-                GetEngineContext(atomicComposition).AddPartManager(partManager);
-            }
-        }
-
-        private void StopSatisfyingImports(PartManager partManager, AtomicComposition atomicComposition)
-        {
-            // When not running in a atomicCompositional state, schedule reindexing after ensuring
-            // that this isn't a redundant removal
-            if (atomicComposition == null)
-            {
-                this._partManagers.Remove(partManager.Part);
-
-                // Take care of lifetime requirements
-                partManager.DisposeAllDependencies();
-
-                if (partManager.TrackingImports)
-                {
-                    partManager.TrackingImports = false;
-                    this._recompositionManager.AddPartToUnindex(partManager);
-                }
-            }
-            else
-            {
-                // While in a atomicCompositional state use a less efficient but effective means
-                // of achieving the same results
-                GetEngineContext(atomicComposition).RemovePartManager(partManager);
-            }
-        }
-
-        private PartManager GetPartManager(ComposablePart part, bool createIfNotpresent)
-        {
-            PartManager partManager = null;
-            using (this._lock.LockStateForRead())
-            {
-                if (this._partManagers.TryGetValue(part, out partManager))
-                {
-                    return partManager;
-                }
-            }
-
-            if (createIfNotpresent)
-            {
-                using (this._lock.LockStateForWrite())
-                {
-                    if (!this._partManagers.TryGetValue(part, out partManager))
-                    {
-                        partManager = new PartManager(this, part);
-                        this._partManagers.Add(part, partManager);
-                    }
-                }
-            }
-            return partManager;
-        }
-
-
-        private EngineContext GetEngineContext(AtomicComposition atomicComposition)
-        {
-            Assumes.NotNull(atomicComposition);
-
-            EngineContext engineContext;
-            if (!atomicComposition.TryGetValue(this, true, out engineContext))
-            {
-                EngineContext parentContext;
-                atomicComposition.TryGetValue(this, false, out parentContext);
-                engineContext = new EngineContext(this, parentContext);
-                atomicComposition.SetValue(this, engineContext);
-                atomicComposition.AddCompleteAction(engineContext.Complete);
-            }
-            return engineContext;
-        }
-
-        private bool InPrerequisiteLoop()
-        {
-            PartManager firstPart = this._recursionStateStack.First();
-            PartManager lastPart = null;
-
-            foreach (PartManager testPart in this._recursionStateStack.Skip(1))
-            {
-                if (testPart.State == ImportState.PreExportImportsSatisfying)
-                {
-                    return true;
-                }
-
-                if (testPart == firstPart)
-                {
-                    lastPart = testPart;
-                    break;
-                }
-            }
-
-            // This should only be called when a loop has been detected - so it should always be on the stack
-            Assumes.IsTrue(lastPart == firstPart);
-            return false;
-        }
-
-        [DebuggerStepThrough]
-        private void ThrowIfDisposed()
-        {
-            if (this._isDisposed)
-            {
-                throw ExceptionBuilder.CreateObjectDisposed(this);
-            }
-        }
-
-        private static CompositionResult<IEnumerable<Export>> TryGetExports(ExportProvider provider,
-            ComposablePart part, ImportDefinition definition, AtomicComposition atomicComposition)
-        {
-            try
-            {
-                var exports = provider.GetExports(definition, atomicComposition).AsArray();
-                return new CompositionResult<IEnumerable<Export>>(exports);
-            }
-            catch (ImportCardinalityMismatchException ex)
-            {
-                // Either not enough or too many exports that match the definition
-                CompositionException exception = new CompositionException(ErrorBuilder.CreateImportCardinalityMismatch(ex, definition));
-
-                return new CompositionResult<IEnumerable<Export>>(
-                    ErrorBuilder.CreatePartCannotSetImport(part, definition, exception));
-            }
-        }
-
-        internal static bool IsRequiredImportForPreview(ImportDefinition import)
-        {
-            return import.Cardinality == ImportCardinality.ExactlyOne;
-        }
-
-        // Ordering of this enum is important so be sure to use caution if you
-        // try to reorder them.
-        private enum ImportState
-        {
-            NoImportsSatisfied          = 0,
-            ImportsPreviewing           = 1,
-            ImportsPreviewed            = 2,
-            PreExportImportsSatisfying  = 3,
-            PreExportImportsSatisfied   = 4,
-            PostExportImportsSatisfying = 5,
-            PostExportImportsSatisfied  = 6,
-            ComposedNotifying           = 7,
-            Composed                    = 8,
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/TypeCatalog.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/TypeCatalog.cs
deleted file mode 100644
index 6d3be39..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Hosting/TypeCatalog.cs
+++ /dev/null
@@ -1,347 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.AttributedModel;
-using System.ComponentModel.Composition.Primitives;
-using System.ComponentModel.Composition.ReflectionModel;
-using System.Diagnostics;
-using System.Diagnostics.CodeAnalysis;
-using System.Globalization;
-using System.Linq;
-using System.Text;
-using System.Threading;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.Hosting
-{
-    /// <summary>
-    ///     An immutable ComposablePartCatalog created from a type array or a list of managed types.  This class is threadsafe.
-    ///     It is Disposable.
-    /// </summary>
-    [DebuggerTypeProxy(typeof(ComposablePartCatalogDebuggerProxy))]
-    public class TypeCatalog : ComposablePartCatalog, ICompositionElement
-    {
-        private readonly object _thisLock = new object();
-        private Type[] _types = null;
-        private volatile IQueryable<ComposablePartDefinition> _queryableParts;
-        private volatile bool _isDisposed = false;
-        private readonly ICompositionElement _definitionOrigin;
-        private readonly Lazy<IDictionary<string, List<ComposablePartDefinition>>> _contractPartIndex;
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="TypeCatalog"/> class 
-        ///     with the specified types.
-        /// </summary>
-        /// <param name="types">
-        ///     An <see cref="Array"/> of attributed <see cref="Type"/> objects to add to the 
-        ///     <see cref="TypeCatalog"/>.
-        /// </param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="types"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="ArgumentException">
-        ///     <paramref name="types"/> contains an element that is <see langword="null"/>.
-        ///     <para>
-        ///         -or-
-        ///     </para>
-        ///     <paramref name="types"/> contains an element that was loaded in the Reflection-only context.
-        /// </exception>
-        public TypeCatalog(params Type[] types)
-            : this(types, (ICompositionElement)null)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="TypeCatalog"/> class
-        ///     with the specified types.
-        /// </summary>
-        /// <param name="types">
-        ///     An <see cref="IEnumerable{T}"/> of attributed <see cref="Type"/> objects to add 
-        ///     to the <see cref="TypeCatalog"/>.
-        /// </param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="types"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="ArgumentException">
-        ///     <paramref name="types"/> contains an element that is <see langword="null"/>.
-        ///     <para>
-        ///         -or-
-        ///     </para>
-        ///     <paramref name="types"/> contains an element that was loaded in the reflection-only context.
-        /// </exception>
-        public TypeCatalog(IEnumerable<Type> types)
-            : this(types, (ICompositionElement)null)
-        {
-        }
-
-        internal TypeCatalog(IEnumerable<Type> types, ICompositionElement definitionOrigin)
-        {
-            Requires.NotNull(types, "types");
-
-            foreach (Type type in types)
-            {
-                if (type == null)
-                {
-                    throw ExceptionBuilder.CreateContainsNullElement("types");
-                }
-#if !SILVERLIGHT
-                if (type.Assembly.ReflectionOnly)
-                {
-                    throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, Strings.Argument_ElementReflectionOnlyType, "types"), "types");
-                }
-#endif
-            }
-
-            this._types = types.ToArray();
-            this._definitionOrigin = definitionOrigin ?? this;
-#if !SILVERLIGHT
-            this._contractPartIndex = new Lazy<IDictionary<string, List<ComposablePartDefinition>>>(this.CreateIndex, true);
-#else
-            this._contractPartIndex = new Lazy<IDictionary<string, List<ComposablePartDefinition>>>(this.CreateIndex);
-#endif
-
-        }
-
-        /// <summary>
-        ///     Gets the part definitions of the catalog.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="IQueryable{T}"/> of <see cref="ComposablePartDefinition"/> objects of the 
-        ///     <see cref="TypeCatalog"/>.
-        /// </value>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="TypeCatalog"/> has been disposed of.
-        /// </exception>
-        public override IQueryable<ComposablePartDefinition> Parts
-        {
-            get
-            {
-                this.ThrowIfDisposed();
-
-                return this.PartsInternal;
-            }
-        }
-
-        /// <summary>
-        ///     Gets the display name of the type catalog.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="String"/> containing a human-readable display name of the <see cref="TypeCatalog"/>.
-        /// </value>
-        [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
-        string ICompositionElement.DisplayName
-        {
-            get { return this.GetDisplayName(); }
-        }
-
-        /// <summary>
-        ///     Gets the composition element from which the type catalog originated.
-        /// </summary>
-        /// <value>
-        ///     This property always returns <see langword="null"/>.
-        /// </value>
-        [SuppressMessage("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")]
-        ICompositionElement ICompositionElement.Origin
-        {
-            get { return null; }
-        }
-
-        private IQueryable<ComposablePartDefinition> PartsInternal
-        {
-            get
-            {
-                if (this._queryableParts == null)
-                {
-                    lock (this._thisLock)
-                    {
-                        if (this._queryableParts == null)
-                        {
-                            Assumes.NotNull(this._types);
-
-                            var collection = new List<ComposablePartDefinition>();
-                            foreach (Type type in this._types)
-                            {
-                                var definition = AttributedModelDiscovery.CreatePartDefinitionIfDiscoverable(type, _definitionOrigin);
-                                if (definition != null)
-                                {
-                                    collection.Add(definition);
-                                }
-                            }
-                            IQueryable<ComposablePartDefinition> queryableParts = collection.AsQueryable();
-                            Thread.MemoryBarrier();
-
-                            this._types = null;
-                            this._queryableParts = queryableParts;
-                        }
-                    }
-                }
-
-                return this._queryableParts;
-            }
-        }
-
-        /// <summary>
-        ///     Returns the export definitions that match the constraint defined by the specified definition.
-        /// </summary>
-        /// <param name="definition">
-        ///     The <see cref="ImportDefinition"/> that defines the conditions of the 
-        ///     <see cref="ExportDefinition"/> objects to return.
-        /// </param>
-        /// <returns>
-        ///     An <see cref="IEnumerable{T}"/> of <see cref="Tuple{T1, T2}"/> containing the 
-        ///     <see cref="ExportDefinition"/> objects and their associated 
-        ///     <see cref="ComposablePartDefinition"/> for objects that match the constraint defined 
-        ///     by <paramref name="definition"/>.
-        /// </returns>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="definition"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="ComposablePartCatalog"/> has been disposed of.
-        /// </exception>
-        /// <remarks>
-        ///     <note type="inheritinfo">
-        ///         Overriders of this property should never return <see langword="null"/>, if no 
-        ///         <see cref="ExportDefinition"/> match the conditions defined by 
-        ///         <paramref name="definition"/>, return an empty <see cref="IEnumerable{T}"/>.
-        ///     </note>
-        /// </remarks>
-        public override IEnumerable<Tuple<ComposablePartDefinition, ExportDefinition>> GetExports(ImportDefinition definition)
-        {
-            this.ThrowIfDisposed();
-
-            Requires.NotNull(definition, "definition");
-
-            IEnumerable<ComposablePartDefinition> candidateParts = this.GetCandidateParts(definition);
-            if (candidateParts == null)
-            {
-                return Enumerable.Empty<Tuple<ComposablePartDefinition, ExportDefinition>>();
-            }
-
-            var exports = new List<Tuple<ComposablePartDefinition, ExportDefinition>>();
-            foreach (var part in candidateParts)
-            {
-                foreach (var export in part.ExportDefinitions)
-                {
-                    if (definition.IsConstraintSatisfiedBy(export))
-                    {
-                        exports.Add(new Tuple<ComposablePartDefinition, ExportDefinition>(part, export));
-                    }
-                }
-            }
-            return exports;
-        }
-
-        private IEnumerable<ComposablePartDefinition> GetCandidateParts(ImportDefinition definition)
-        {
-            string contractName = definition.ContractName;
-
-            // Empty string represents a non-contract based import and thus the constraint needs
-            // to be applied to all the possible exports in this catalog.
-            if (string.IsNullOrEmpty(contractName))
-            {
-                return this.PartsInternal;
-            }
-
-            List<ComposablePartDefinition> candidateParts = null;
-            if (this._contractPartIndex.Value.TryGetValue(contractName, out candidateParts))
-            {
-                return candidateParts;
-            }
-            else
-            {
-                return null;
-            }
-        }
-
-        private IDictionary<string, List<ComposablePartDefinition>> CreateIndex()
-        {
-            Dictionary<string, List<ComposablePartDefinition>> index = new Dictionary<string, List<ComposablePartDefinition>>(StringComparers.ContractName);
-
-            foreach (var part in this.PartsInternal)
-            {
-                foreach (string contractName in part.ExportDefinitions.Select(export => export.ContractName).Distinct())
-                {
-                    List<ComposablePartDefinition> contractParts = null;
-                    if (!index.TryGetValue(contractName, out contractParts))
-                    {
-                        contractParts = new List<ComposablePartDefinition>();
-                        index.Add(contractName, contractParts);
-                    }
-                    contractParts.Add(part);
-                }
-            }
-            return index;
-        }
-
-        /// <summary>
-        ///     Returns a string representation of the type catalog.
-        /// </summary>
-        /// <returns>
-        ///     A <see cref="String"/> containing the string representation of the <see cref="TypeCatalog"/>.
-        /// </returns>
-        public override string ToString()
-        {
-            return this.GetDisplayName();
-        }
-
-        protected override void Dispose(bool disposing)
-        {
-            if (disposing)
-            {
-                this._isDisposed = true;
-            }
-
-            base.Dispose(disposing);
-        }
-
-        private string GetDisplayName()
-        {
-            return String.Format(CultureInfo.CurrentCulture,
-                                Strings.TypeCatalog_DisplayNameFormat,
-                                this.GetType().Name,
-                                this.GetTypesDisplay());
-        }
-
-        private string GetTypesDisplay()
-        {
-            int count = this.PartsInternal.Count();
-            if (count == 0)
-            {
-                return Strings.TypeCatalog_Empty;
-            }
-
-            const int displayCount = 2;
-            StringBuilder builder = new StringBuilder();
-            foreach (ReflectionComposablePartDefinition definition in this.PartsInternal.Take(displayCount))
-            {
-                if (builder.Length > 0)
-                {
-                    builder.Append(CultureInfo.CurrentCulture.TextInfo.ListSeparator);
-                    builder.Append(" ");
-                }
-
-                builder.Append(definition.GetPartType().GetDisplayName());
-            }
-
-            if (count > displayCount)
-            {   // Add an elipse to indicate that there 
-                // are more types than actually listed
-                builder.Append(CultureInfo.CurrentCulture.TextInfo.ListSeparator);
-                builder.Append(" ...");
-            }
-
-            return builder.ToString();
-        }
-
-        private void ThrowIfDisposed()
-        {
-            if (this._isDisposed)
-            {
-                throw ExceptionBuilder.CreateObjectDisposed(this);
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/IAttributedImport.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/IAttributedImport.cs
deleted file mode 100644
index 28b3b4f..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/IAttributedImport.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Primitives;
-
-namespace System.ComponentModel.Composition
-{
-    internal interface IAttributedImport
-    {
-        string ContractName { get; }
-        Type ContractType { get; }
-        bool AllowRecomposition { get; }
-        CreationPolicy RequiredCreationPolicy { get; }
-        ImportCardinality Cardinality { get; }
-    }
-}
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ICompositionError.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ICompositionError.cs
deleted file mode 100644
index 12af595..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ICompositionError.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-
-namespace System.ComponentModel.Composition
-{
-    // Internal interface for providing access to the composition error
-    // identifier for an exception or error that participates in composition.
-    internal interface ICompositionError
-    {
-        CompositionErrorId Id
-        {
-            get;
-        }
-
-        ICompositionElement Element
-        {
-            get;
-        }
-
-        Exception InnerException
-        {
-            get;
-        }
-    } 
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ICompositionService.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ICompositionService.cs
deleted file mode 100644
index 9cb9feb..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ICompositionService.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-
-namespace System.ComponentModel.Composition
-{
-    /// <summary>
-    ///     Provides methods for composing <see cref="ComposablePart"/> objects.
-    /// </summary>
-    public interface ICompositionService
-    {
-        /// <summary>
-        ///     Sets the imports of the specified composable part exactly once and they will not
-        ///     ever be recomposed.
-        /// </summary>
-        /// <param name="part">
-        ///     The <see cref="ComposablePart"/> to set the imports.
-        /// </param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="part"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="CompositionException">
-        ///     An error occurred during composition. <see cref="CompositionException.Errors"/> will
-        ///     contain a collection of errors that occurred.
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="ICompositionService"/> has been disposed of.
-        /// </exception>
-        void SatisfyImportsOnce(ComposablePart part);
-    }
-}
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/IPartImportsSatisfiedNotification.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/IPartImportsSatisfiedNotification.cs
deleted file mode 100644
index 7969e0c..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/IPartImportsSatisfiedNotification.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-
-namespace System.ComponentModel.Composition
-{
-    public interface IPartImportsSatisfiedNotification
-    {
-        void OnImportsSatisfied();
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ImportAttribute.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ImportAttribute.cs
deleted file mode 100644
index d2879f7..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ImportAttribute.cs
+++ /dev/null
@@ -1,181 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-using System.Diagnostics.CodeAnalysis;
-
-namespace System.ComponentModel.Composition
-{
-    /// <summary>
-    ///     Specifies that a property, field, or parameter imports a particular export.
-    /// </summary>
-    [SuppressMessage("Microsoft.Performance", "CA1813:AvoidUnsealedAttributes")]
-    [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter,
-                    AllowMultiple = false, Inherited = false)]
-    public class ImportAttribute : Attribute, IAttributedImport
-    {
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ImportAttribute"/> class, importing the 
-        ///     export with the default contract name.
-        /// </summary>
-        /// <remarks>
-        ///     <para>
-        ///         The default contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on the property, field, 
-        ///         or parameter type that this is marked with this attribute.
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        public ImportAttribute()
-            : this((string)null)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ImportAttribute"/> class, importing the
-        ///     export with the contract name derived from the specified type.
-        /// </summary>
-        /// <param name="contractType">
-        ///     A <see cref="Type"/> of which to derive the contract name of the export to import, or 
-        ///     <see langword="null"/> to use the default contract name.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         The contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on 
-        ///         <paramref name="contractType"/>.
-        ///     </para>
-        ///     <para>
-        ///         The default contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on the property, field, 
-        ///         or parameter type that is marked with this attribute.
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        public ImportAttribute(Type contractType) 
-            : this((string)null, contractType)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ImportAttribute"/> class, importing the
-        ///     export with the specified contract name.
-        /// </summary>
-        /// <param name="contractName">
-        ///      A <see cref="String"/> containing the contract name of the export to import, or 
-        ///      <see langword="null"/> or an empty string ("") to use the default contract name.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         The default contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on the property, field, 
-        ///         or parameter type that is marked with this attribute.
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        public ImportAttribute(string contractName)
-            : this(contractName, (Type)null)
-        {
-        }
-
-        public ImportAttribute(string contractName, Type contractType)
-        {
-            this.ContractName = contractName;
-            this.ContractType = contractType;
-        }
-
-        /// <summary>
-        ///     Gets the contract name of the export to import.
-        /// </summary>
-        /// <value>
-        ///      A <see cref="String"/> containing the contract name of the export to import. The 
-        ///      default value is an empty string ("").
-        /// </value>
-        public string ContractName { get; private set; }
-
-        /// <summary>
-        ///     Get the contract type of the export to import.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="Type"/> of the export that this import is expecting. The default value is
-        ///     <see langword="null"/> which means that the type will be obtained by looking at the type on
-        ///     the member that this import is attached to. If the type is <see cref="object"/> then the
-        ///     importer is delaring they can accept any exported type.
-        /// </value>
-        public Type ContractType { get; private set; }
-
-        /// <summary>
-        ///     Gets or sets a value indicating whether the property, field or parameter will be set 
-        ///     to its type's default value when an export with the contract name is not present in 
-        ///     the container.
-        /// </summary>
-        /// <value>
-        ///     <see langword="true"/> if the property, field or parameter will be set 
-        ///     its type's default value when an export with the <see cref="ContractName"/> is not 
-        ///     present in the <see cref="CompositionContainer"/>; otherwise, <see langword="false"/>. 
-        ///     The default value is <see langword="false"/>.
-        /// </value>
-        /// <remarks>
-        ///     <para>
-        ///         The default value of a property's, field's or parameter's type is 
-        ///         <see langword="null"/> for reference types and 0 for numeric value types. For 
-        ///         other value types, the default value will be each field of the value type 
-        ///         initialized to zero, if the field is a value type or <see langword="null"/> if 
-        ///         the field is a reference type.
-        ///     </para>
-        /// </remarks>
-        public bool AllowDefault { get; set; }
-
-        /// <summary>
-        ///     Gets or sets a value indicating whether the property or field will be recomposed
-        ///     when exports that provide the same contract that this import expects, have changed
-        ///     in the container. 
-        /// </summary>
-        /// <value>
-        ///     <see langword="true"/> if the property or field allows for recomposition when exports
-        ///     that provide the same <see cref="ContractName"/> are added or removed from the 
-        ///     <see cref="CompositionContainer"/>; otherwise, <see langword="false"/>. 
-        ///     The default value is <see langword="false"/>.
-        /// </value>
-        public bool AllowRecomposition { get; set; }
-
-        /// <summary>
-        ///     Gets or sets a value indicating that the importer requires a specific 
-        ///     <see cref="CreationPolicy"/> for the exports used to satisfy this import. T
-        /// </summary>
-        /// <value>
-        ///     <see cref="CreationPolicy.Any"/> - default value, used if the importer doesn't 
-        ///         require a specific <see cref="CreationPolicy"/>.
-        /// 
-        ///     <see cref="CreationPolicy.Shared"/> - Requires that all exports used should be shared
-        ///         by everyone in the container.
-        /// 
-        ///     <see cref="CreationPolicy.NonShared"/> - Requires that all exports used should be 
-        ///         non-shared in a container and thus everyone gets their own instance.
-        /// </value>
-        public CreationPolicy RequiredCreationPolicy { get; set; }
-
-        ImportCardinality IAttributedImport.Cardinality
-        {
-            get
-            {
-                if (this.AllowDefault == true)
-                {
-                    return ImportCardinality.ZeroOrOne;
-                }
-                return ImportCardinality.ExactlyOne;
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ImportCardinalityMismatchException.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ImportCardinalityMismatchException.cs
deleted file mode 100644
index e7e09c7..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ImportCardinalityMismatchException.cs
+++ /dev/null
@@ -1,91 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-using System.Runtime.Serialization;
-
-namespace System.ComponentModel.Composition
-{
-    /// <summary>
-    ///     The exception that is thrown when the cardinality of a <see cref="ImportDefinition"/>
-    ///     does not match the cardinality of the <see cref="Export"/> objects available in an 
-    ///     <see cref="ExportProvider"/>.
-    /// </summary>
-    [Serializable]
-    public class ImportCardinalityMismatchException : Exception
-    {
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ImportCardinalityMismatchException"/> class.
-        /// </summary>
-        public ImportCardinalityMismatchException()
-            : this((string)null, (Exception)null)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ImportCardinalityMismatchException"/> class 
-        ///     with the specified error message.
-        /// </summary>
-        /// <param name="message">
-        ///     A <see cref="String"/> containing a message that describes the 
-        ///     <see cref="ImportCardinalityMismatchException"/>; or <see langword="null"/> to set
-        ///     the <see cref="Exception.Message"/> property to its default value.
-        /// </param>
-        public ImportCardinalityMismatchException(string message)
-            : this(message, (Exception)null)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ImportCardinalityMismatchException"/> class 
-        ///     with the specified error message and exception that is the cause of the  
-        ///     exception.
-        /// </summary>
-        /// <param name="message">
-        ///     A <see cref="String"/> containing a message that describes the 
-        ///     <see cref="ImportCardinalityMismatchException"/>; or <see langword="null"/> to set
-        ///     the <see cref="Exception.Message"/> property to its default value.
-        /// </param>
-        /// <param name="innerException">
-        ///     The <see cref="Exception"/> that is the underlying cause of the 
-        ///     <see cref="ImportCardinalityMismatchException"/>; or <see langword="null"/> to set
-        ///     the <see cref="Exception.InnerException"/> property to <see langword="null"/>.
-        /// </param>
-        public ImportCardinalityMismatchException(string message, Exception innerException)
-            : base(message, innerException)
-        {
-        }
-
-#if !SILVERLIGHT
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ImportCardinalityMismatchException"/> class 
-        ///     with the specified serialization data.
-        /// </summary>
-        /// <param name="info">
-        ///     The <see cref="SerializationInfo"/> that holds the serialized object data about the 
-        ///     <see cref="ImportCardinalityMismatchException"/>.
-        /// </param>
-        /// <param name="context">
-        ///     The <see cref="StreamingContext"/> that contains contextual information about the 
-        ///     source or destination.
-        /// </param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="info"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="SerializationException">
-        ///     <paramref name="info"/> is missing a required value.
-        /// </exception>
-        /// <exception cref="InvalidCastException">
-        ///     <paramref name="info"/> contains a value that cannot be cast to the correct type.
-        /// </exception>
-        [System.Security.SecuritySafeCritical]
-        protected ImportCardinalityMismatchException(SerializationInfo info, StreamingContext context)
-            : base(info, context)
-        {
-        }
-#endif //!SILVERLIGHT
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ImportManyAttribute.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ImportManyAttribute.cs
deleted file mode 100644
index cdd1163..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ImportManyAttribute.cs
+++ /dev/null
@@ -1,152 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-using System.Diagnostics.CodeAnalysis;
-
-namespace System.ComponentModel.Composition
-{
-    /// <summary>
-    ///     Specifies that a property, field, or parameter imports a particular set of exports.
-    /// </summary>
-    [SuppressMessage("Microsoft.Performance", "CA1813:AvoidUnsealedAttributes")]
-    [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Parameter,
-                    AllowMultiple = false, Inherited = false)]
-    public class ImportManyAttribute : Attribute, IAttributedImport
-    {
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ImportManyAttribute"/> class, importing the 
-        ///     set of exports with the default contract name.
-        /// </summary>
-        /// <remarks>
-        ///     <para>
-        ///         The default contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on the element\item type of 
-        ///         theproperty, field, or parameter type that this is marked with this attribute.
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        public ImportManyAttribute()
-            : this((string)null)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ImportManyAttribute"/> class, importing the
-        ///     set of exports with the contract name derived from the specified type.
-        /// </summary>
-        /// <param name="contractType">
-        ///     A <see cref="Type"/> of which to derive the contract name of the exports to import, or 
-        ///     <see langword="null"/> to use the default contract name.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         The contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on 
-        ///         <paramref name="contractType"/>.
-        ///     </para>
-        ///     <para>
-        ///         The default contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on the property, field, 
-        ///         or parameter type that is marked with this attribute.
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        public ImportManyAttribute(Type contractType)
-            : this((string)null, contractType)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ImportManyAttribute"/> class, importing the
-        ///     set of exports with the specified contract name.
-        /// </summary>
-        /// <param name="contractName">
-        ///      A <see cref="String"/> containing the contract name of the exports to import, or 
-        ///      <see langword="null"/> or an empty string ("") to use the default contract name.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         The default contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on the property, field, 
-        ///         or parameter type that is marked with this attribute.
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        public ImportManyAttribute(string contractName)
-            : this(contractName, (Type)null)
-        {
-        }
-
-        public ImportManyAttribute(string contractName, Type contractType)
-        {
-            this.ContractName = contractName;
-            this.ContractType = contractType;
-        }
-
-        /// <summary>
-        ///     Gets the contract name of the exports to import.
-        /// </summary>
-        /// <value>
-        ///      A <see cref="String"/> containing the contract name of the exports to import. The 
-        ///      default value is an empty string ("").
-        /// </value>
-        public string ContractName { get; private set; }
-
-        /// <summary>
-        ///     Get the contract type of the export to import.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="Type"/> of the export that this import is expecting. The default value is
-        ///     <see langword="null"/> which means that the type will be obtained by looking at the type on
-        ///     the member that this import is attached to. If the type is <see cref="object"/> then the
-        ///     importer is delaring they can accept any exported type.
-        /// </value>
-        public Type ContractType { get; private set; }
-
-        /// <summary>
-        ///     Gets or sets a value indicating whether the property or field will be recomposed
-        ///     when exports that provide the same contract that this import expects, have changed
-        ///     in the container. 
-        /// </summary>
-        /// <value>
-        ///     <see langword="true"/> if the property or field allows for recomposition when exports
-        ///     that provide the same <see cref="ContractName"/> are added or removed from the 
-        ///     <see cref="CompositionContainer"/>; otherwise, <see langword="false"/>. 
-        ///     The default value is <see langword="false"/>.
-        /// </value>
-        public bool AllowRecomposition { get; set; }
-
-        /// <summary>
-        ///     Gets or sets a value indicating that the importer requires a specific 
-        ///     <see cref="CreationPolicy"/> for the exports used to satisfy this import. T
-        /// </summary>
-        /// <value>
-        ///     <see cref="CreationPolicy.Any"/> - default value, used if the importer doesn't 
-        ///         require a specific <see cref="CreationPolicy"/>.
-        /// 
-        ///     <see cref="CreationPolicy.Shared"/> - Requires that all exports used should be shared
-        ///         by everyone in the container.
-        /// 
-        ///     <see cref="CreationPolicy.NonShared"/> - Requires that all exports used should be 
-        ///         non-shared in a container and thus everyone gets their own instance.
-        /// </value>
-        public CreationPolicy RequiredCreationPolicy { get; set; }
-
-        ImportCardinality IAttributedImport.Cardinality
-        {
-            get { return ImportCardinality.ZeroOrMore; }
-        }
-    }
-}
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ImportingConstructorAttribute.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ImportingConstructorAttribute.cs
deleted file mode 100644
index db4a5eb..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ImportingConstructorAttribute.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Diagnostics.CodeAnalysis;
-
-namespace System.ComponentModel.Composition
-{
-    /// <summary>
-    ///     Specifies that a constructor should be used when constructing an attributed part.
-    /// </summary>
-    /// <remarks>
-    ///     By default, only a default parameter-less constructor, if available, is used to 
-    ///     construct an attributed part. Use this attribute to indicate that a specific constructor 
-    ///     should be used.
-    /// </remarks>
-    [SuppressMessage("Microsoft.Performance", "CA1813:AvoidUnsealedAttributes")]
-    [AttributeUsage(AttributeTargets.Constructor, AllowMultiple = false, Inherited = false)]
-    public class ImportingConstructorAttribute : Attribute
-    {
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ImportingConstructorAttribute"/> class.
-        /// </summary>
-        public ImportingConstructorAttribute()
-        {
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/InheritedExportAttribute.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/InheritedExportAttribute.cs
deleted file mode 100644
index fb411bc..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/InheritedExportAttribute.cs
+++ /dev/null
@@ -1,122 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Hosting;
-using System.Diagnostics.CodeAnalysis;
-
-namespace System.ComponentModel.Composition
-{
-    /// <summary>
-    ///     Specifies that a type or interface that provides a particular export.
-    /// </summary>
-    [SuppressMessage("Microsoft.Performance", "CA1813:AvoidUnsealedAttributes")]
-    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface, AllowMultiple = true, Inherited = true)]
-    public class InheritedExportAttribute : ExportAttribute
-    {
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ExportAttribute"/> class, exporting the
-        ///     type marked with this attribute under the default contract name.
-        /// </summary>
-        /// <remarks>
-        ///     <para>
-        ///         The default contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on the type itself, 
-        ///         that is marked with this attribute. 
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        public InheritedExportAttribute()
-            : this((string)null, (Type)null)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ExportAttribute"/> class, exporting the
-        ///     type marked with this attribute under a contract name derived from the specified type.
-        /// </summary>
-        /// <param name="contractType">
-        ///     A <see cref="Type"/> of which to derive the contract name to export the type  
-        ///     marked with this attribute, under; or <see langword="null"/> to use the 
-        ///     default contract name.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         The contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on 
-        ///         <paramref name="contractType"/>.
-        ///     </para>
-        ///     <para>
-        ///         The default contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on the type of the 
-        ///         itself, that is marked with this attribute. 
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        public InheritedExportAttribute(Type contractType)
-            : this((string)null, contractType)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ExportAttribute"/> class, exporting the
-        ///     type or member marked with this attribute under the specified contract name.
-        /// </summary>
-        /// <param name="contractName">
-        ///      A <see cref="String"/> containing the contract name to export the type 
-        ///      marked with this attribute, under; or <see langword="null"/> or an empty string 
-        ///      ("") to use the default contract name.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         The default contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on 
-        ///         the type itself that this is marked with this attribute. 
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        public InheritedExportAttribute(string contractName)
-            : this(contractName, (Type)null)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ExportAttribute"/> class, exporting the
-        ///     type or member marked with this attribute under the specified contract name.
-        /// </summary>
-        /// <param name="contractName">
-        ///      A <see cref="String"/> containing the contract name to export the type 
-        ///      marked with this attribute, under; or <see langword="null"/> or an empty string 
-        ///      ("") to use the default contract name.
-        /// </param>
-        /// <param name="contractType">
-        ///     A <see cref="Type"/> of which to derive the contract name to export the type  
-        ///     marked with this attribute, under; or <see langword="null"/> to use the 
-        ///     default contract name.
-        /// </param>
-        /// <remarks>
-        ///     <para>
-        ///         The default contract name is the result of calling 
-        ///         <see cref="AttributedModelServices.GetContractName(Type)"/> on 
-        ///         the type itself that this is marked with this attribute. 
-        ///     </para>
-        ///     <para>
-        ///         The contract name is compared using a case-sensitive, non-linguistic comparison 
-        ///         using <see cref="StringComparer.Ordinal"/>.
-        ///     </para>
-        /// </remarks>
-        public InheritedExportAttribute(string contractName, Type contractType)
-            : base(contractName, contractType)
-        {
-        }
-    }
-}
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/MetadataAttributeAttribute.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/MetadataAttributeAttribute.cs
deleted file mode 100644
index 81ad7e9..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/MetadataAttributeAttribute.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-
-namespace System.ComponentModel.Composition
-{
-    /// <summary>
-    ///     Specifies that an attribute can be used to provide metadata for a type, property, field,
-    ///     or method marked with the <see cref="ExportAttribute"/>.
-    /// </summary>
-    [AttributeUsage(AttributeTargets.Class,
-                    AllowMultiple=false, Inherited=true)]
-    public sealed class MetadataAttributeAttribute : Attribute
-    {
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="MetadataAttributeAttribute"/> class.
-        /// </summary>
-        public MetadataAttributeAttribute()
-        {
-        }
-    }
-}
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/MetadataServices.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/MetadataServices.cs
deleted file mode 100644
index fa363c0..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/MetadataServices.cs
+++ /dev/null
@@ -1,50 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-
-namespace System.ComponentModel.Composition
-{
-    internal static class MetadataServices
-    {
-        public static readonly IDictionary<string, object> EmptyMetadata = new ReadOnlyDictionary<string, object>(null);
-
-        public static IDictionary<string, object> AsReadOnly(this IDictionary<string, object> metadata)
-        {
-            if (metadata == null)
-            {
-                return EmptyMetadata;
-            }
-
-            if (metadata is ReadOnlyDictionary<string, object>)
-            {
-                return metadata;
-            }
-
-            return new ReadOnlyDictionary<string, object>(metadata);
-        }
-
-        public static T GetValue<T>(this IDictionary<string, object> metadata, string key)
-        {
-            Assumes.NotNull(metadata, "metadata");
-
-            object untypedValue = true;
-            if (!metadata.TryGetValue(key, out untypedValue))
-            {
-                return default(T);
-            }
-
-            if (untypedValue is T)
-            {
-                return (T)untypedValue;
-            }
-            else
-            {
-                return default(T);
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/MetadataViewGenerator.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/MetadataViewGenerator.cs
deleted file mode 100644
index e40aa62..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/MetadataViewGenerator.cs
+++ /dev/null
@@ -1,321 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Globalization;
-using System.Linq;
-using System.Reflection;
-using System.Threading;
-using Microsoft.Internal;
-using System.Reflection.Emit;
-using System.Collections;
-
-namespace System.ComponentModel.Composition
-{
-    // // Assume TMetadataView is
-    // //interface Foo
-    // //{
-    // //    public typeRecord1 Record1 { get; }
-    // //    public typeRecord2 Record2 { get; }
-    // //    public typeRecord3 Record3 { get; }
-    // //    public typeRecord4 Record4 { get; }
-    // //}
-    // // The class to be generated will look approximately like:
-    // public class __Foo__MedataViewProxy : TMetadataView
-    // {
-    //     public __Foo__MedataViewProxy (IDictionary<string, object> metadata)
-    //     {
-    //         if(metadata == null)
-    //         {
-    //             throw InvalidArgumentException("metadata");
-    //         }
-    //         try
-    //         {
-    //              Record1 = (typeRecord1)Record1;
-    //              Record2 = (typeRecord1)Record2;
-    //              Record3 = (typeRecord1)Record3;
-    //              Record4 = (typeRecord1)Record4;
-    //          }
-    //          catch(InvalidCastException ice)
-    //          {
-    //              //Annotate exception .Data with diagnostic info
-    //          }
-    //          catch(NulLReferenceException ice)
-    //          {
-    //              //Annotate exception .Data with diagnostic info
-    //          }
-    //     }
-    //     // Interface
-    //     public typeRecord1 Record1 { get; }
-    //     public typeRecord2 Record2 { get; }
-    //     public typeRecord3 Record3 { get; }
-    //     public typeRecord4 Record4 { get; }
-    // }
-    internal static class MetadataViewGenerator
-    {
-        public const string MetadataViewType       = "MetadataViewType";
-        public const string MetadataItemKey        = "MetadataItemKey";
-        public const string MetadataItemTargetType = "MetadataItemTargetType";
-        public const string MetadataItemSourceType = "MetadataItemSourceType";
-        public const string MetadataItemValue      = "MetadataItemValue";
-
-        private static Lock _lock = new Lock();
-        private static Dictionary<Type, Type> _proxies = new Dictionary<Type, Type>();
-
-        private static AssemblyName ProxyAssemblyName = new AssemblyName(string.Format(CultureInfo.InvariantCulture, "MetadataViewProxies_{0}", Guid.NewGuid()));
-        private static AssemblyBuilder ProxyAssemblyBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(ProxyAssemblyName, AssemblyBuilderAccess.Run);
-        private static ModuleBuilder ProxyModuleBuilder = ProxyAssemblyBuilder.DefineDynamicModule("MetadataViewProxiesModule");
-        private static Type[] CtorArgumentTypes = new Type[] { typeof(IDictionary<string, object>) };
-        private static MethodInfo _mdvDictionaryTryGet = CtorArgumentTypes[0].GetMethod("TryGetValue");
-        private static readonly MethodInfo ObjectGetType = typeof(object).GetMethod("GetType", Type.EmptyTypes);
-
-        public static Type GenerateView(Type viewType)
-        {
-            Assumes.NotNull(viewType);
-            Assumes.IsTrue(viewType.IsInterface);
-
-            Type proxyType;
-            bool foundProxy;
-
-            using (new ReadLock(_lock))
-            {
-                foundProxy = _proxies.TryGetValue(viewType, out proxyType);
-            }
-
-            // No factory exists
-            if(!foundProxy)
-            {
-                // Try again under a write lock if still none generate the proxy
-                using (new WriteLock(_lock))
-                {
-                    foundProxy = _proxies.TryGetValue(viewType, out proxyType);
-
-                    if (!foundProxy)
-                    {
-                        proxyType = GenerateInterfaceViewProxyType(viewType);
-                        Assumes.NotNull(proxyType);
-
-                        _proxies.Add(viewType, proxyType);
-                    }
-                }
-            }
-            return proxyType;
-        }
-
-        private static void GenerateLocalAssignmentFromDefaultAttribute(this ILGenerator IL, DefaultValueAttribute[] attrs, LocalBuilder local)
-        {
-            if (attrs.Length > 0)
-            {
-                DefaultValueAttribute defaultAttribute = attrs[0];
-                IL.LoadValue(defaultAttribute.Value);
-                if ((defaultAttribute.Value != null) && (defaultAttribute.Value.GetType().IsValueType))
-                {
-                    IL.Emit(OpCodes.Box, defaultAttribute.Value.GetType());
-                }
-                IL.Emit(OpCodes.Stloc, local);
-            }
-        }
-
-        private static void GenerateFieldAssignmentFromLocalValue(this ILGenerator IL, LocalBuilder local, FieldBuilder field)
-        {
-            IL.Emit(OpCodes.Ldarg_0);
-            IL.Emit(OpCodes.Ldloc, local);
-            IL.Emit(field.FieldType.IsValueType ? OpCodes.Unbox_Any : OpCodes.Castclass, field.FieldType);
-            IL.Emit(OpCodes.Stfld, field);
-        }
-
-        private static void GenerateLocalAssignmentFromFlag(this ILGenerator IL, LocalBuilder local, bool flag)
-        {
-            IL.Emit(flag ? OpCodes.Ldc_I4_1 : OpCodes.Ldc_I4_0);
-            IL.Emit(OpCodes.Stloc, local);
-        }
-
-        // This must be called with _readerWriterLock held for Write
-        private static Type GenerateInterfaceViewProxyType(Type viewType)
-        {
-            // View type is an interface let's cook an implementation
-            Type proxyType;
-            TypeBuilder proxyTypeBuilder;
-            Type[] interfaces = { viewType };
-
-            proxyTypeBuilder = ProxyModuleBuilder.DefineType(
-                string.Format(CultureInfo.InvariantCulture, "_proxy_{0}_{1}", viewType.FullName, Guid.NewGuid()),
-                TypeAttributes.Public,
-                typeof(object),
-                interfaces);
-
-            // Implement Constructor
-            ILGenerator proxyCtorIL = proxyTypeBuilder.CreateGeneratorForPublicConstructor(CtorArgumentTypes);
-            LocalBuilder exception = proxyCtorIL.DeclareLocal(typeof(Exception));
-            LocalBuilder exceptionData = proxyCtorIL.DeclareLocal(typeof(IDictionary));
-            LocalBuilder sourceType = proxyCtorIL.DeclareLocal(typeof(Type));
-            LocalBuilder value = proxyCtorIL.DeclareLocal(typeof(object));
-            LocalBuilder usesExportedMD = proxyCtorIL.DeclareLocal(typeof(bool));
-
-            Label tryConstructView = proxyCtorIL.BeginExceptionBlock();
-
-            // Implement interface properties
-            foreach (PropertyInfo propertyInfo in viewType.GetAllProperties())
-            {
-                string fieldName = string.Format(CultureInfo.InvariantCulture, "_{0}_{1}", propertyInfo.Name, Guid.NewGuid());
-
-                // Cache names and type for exception
-                string propertyName = string.Format(CultureInfo.InvariantCulture, "{0}", propertyInfo.Name);
-
-                Type[] propertyTypeArguments = new Type[] { propertyInfo.PropertyType };
-                Type[] optionalModifiers = null;
-                Type[] requiredModifiers = null;
-
-#if !SILVERLIGHT
-                // PropertyInfo does not support GetOptionalCustomModifiers and GetRequiredCustomModifiers on Silverlight
-                optionalModifiers = propertyInfo.GetOptionalCustomModifiers();
-                requiredModifiers = propertyInfo.GetRequiredCustomModifiers();
-                Array.Reverse(optionalModifiers);
-                Array.Reverse(requiredModifiers);
-#endif
-                // Generate field
-                FieldBuilder proxyFieldBuilder = proxyTypeBuilder.DefineField(
-                    fieldName,
-                    propertyInfo.PropertyType,
-                    FieldAttributes.Private);
-
-                // Generate property
-                PropertyBuilder proxyPropertyBuilder = proxyTypeBuilder.DefineProperty(
-                    propertyName,
-                    PropertyAttributes.None,
-                    propertyInfo.PropertyType,
-                    propertyTypeArguments);
-
-                // Generate constructor code for retrieving the metadata value and setting the field
-                Label tryCastValue = proxyCtorIL.BeginExceptionBlock();
-                Label innerTryCastValue;
-
-                DefaultValueAttribute[] attrs = propertyInfo.GetAttributes<DefaultValueAttribute>(false);
-                if(attrs.Length > 0)
-                {
-                    innerTryCastValue = proxyCtorIL.BeginExceptionBlock();
-                }
-
-                // In constructor set the backing field with the value from the dictionary
-                Label doneGettingDefaultValue = proxyCtorIL.DefineLabel();
-                GenerateLocalAssignmentFromFlag(proxyCtorIL, usesExportedMD, true);
-
-                proxyCtorIL.Emit(OpCodes.Ldarg_1);
-                proxyCtorIL.Emit(OpCodes.Ldstr, propertyInfo.Name);
-                proxyCtorIL.Emit(OpCodes.Ldloca, value);
-                proxyCtorIL.Emit(OpCodes.Callvirt, _mdvDictionaryTryGet);
-                proxyCtorIL.Emit(OpCodes.Brtrue, doneGettingDefaultValue);
-
-                proxyCtorIL.GenerateLocalAssignmentFromFlag(usesExportedMD, false);
-                proxyCtorIL.GenerateLocalAssignmentFromDefaultAttribute(attrs, value);
-
-                proxyCtorIL.MarkLabel(doneGettingDefaultValue);
-                proxyCtorIL.GenerateFieldAssignmentFromLocalValue(value, proxyFieldBuilder);
-                proxyCtorIL.Emit(OpCodes.Leave, tryCastValue);
-
-                // catch blocks for innerTryCastValue start here
-                if (attrs.Length > 0)
-                {
-                    proxyCtorIL.BeginCatchBlock(typeof(InvalidCastException));
-                    {
-                        Label notUsesExportedMd = proxyCtorIL.DefineLabel();
-                        proxyCtorIL.Emit(OpCodes.Ldloc, usesExportedMD);
-                        proxyCtorIL.Emit(OpCodes.Brtrue, notUsesExportedMd);
-                        proxyCtorIL.Emit(OpCodes.Rethrow);
-                        proxyCtorIL.MarkLabel(notUsesExportedMd);
-                        proxyCtorIL.GenerateLocalAssignmentFromDefaultAttribute(attrs, value);
-                        proxyCtorIL.GenerateFieldAssignmentFromLocalValue(value, proxyFieldBuilder);
-                    }
-                    proxyCtorIL.EndExceptionBlock();
-                }
-
-                // catch blocks for tryCast start here
-                proxyCtorIL.BeginCatchBlock(typeof(NullReferenceException));
-                {
-                    proxyCtorIL.Emit(OpCodes.Stloc, exception);
-
-                    proxyCtorIL.GetExceptionDataAndStoreInLocal(exception, exceptionData);
-                    proxyCtorIL.AddItemToLocalDictionary(exceptionData, MetadataItemKey, propertyName);
-                    proxyCtorIL.AddItemToLocalDictionary(exceptionData, MetadataItemTargetType, propertyInfo.PropertyType);
-                    proxyCtorIL.Emit(OpCodes.Rethrow);
-                }
-
-                proxyCtorIL.BeginCatchBlock(typeof(InvalidCastException));
-                {
-                    proxyCtorIL.Emit(OpCodes.Stloc, exception);
-
-                    proxyCtorIL.GetExceptionDataAndStoreInLocal(exception, exceptionData);
-                    proxyCtorIL.AddItemToLocalDictionary(exceptionData, MetadataItemKey, propertyName);
-                    proxyCtorIL.AddItemToLocalDictionary(exceptionData, MetadataItemTargetType, propertyInfo.PropertyType);
-                    proxyCtorIL.Emit(OpCodes.Rethrow);
-                }
-
-                proxyCtorIL.EndExceptionBlock();
-
-                if (propertyInfo.CanWrite)
-                {
-                    // The MetadataView '{0}' is invalid because property '{1}' has a property set method.
-                    throw new NotSupportedException(string.Format(CultureInfo.CurrentCulture,
-                        Strings.InvalidSetterOnMetadataField,
-                        viewType,
-                        propertyName));
-                }
-                if (propertyInfo.CanRead)
-                {
-                    // Generate "get" method implementation.
-                    MethodBuilder getMethodBuilder = proxyTypeBuilder.DefineMethod(
-                        string.Format(CultureInfo.InvariantCulture, "get_{0}", propertyName),
-                        MethodAttributes.Public | MethodAttributes.HideBySig | MethodAttributes.SpecialName | MethodAttributes.NewSlot | MethodAttributes.Virtual | MethodAttributes.Final,
-                        CallingConventions.HasThis,
-                        propertyInfo.PropertyType,
-                        requiredModifiers,
-                        optionalModifiers,
-                        Type.EmptyTypes, null, null);
-
-                    proxyTypeBuilder.DefineMethodOverride(getMethodBuilder, propertyInfo.GetGetMethod());
-                    ILGenerator getMethodIL = getMethodBuilder.GetILGenerator();
-                    getMethodIL.Emit(OpCodes.Ldarg_0);
-                    getMethodIL.Emit(OpCodes.Ldfld, proxyFieldBuilder);
-                    getMethodIL.Emit(OpCodes.Ret);
-
-                    proxyPropertyBuilder.SetGetMethod(getMethodBuilder);
-                }
-            }
-
-            proxyCtorIL.Emit(OpCodes.Leave, tryConstructView);
-
-            // catch blocks for constructView start here
-            proxyCtorIL.BeginCatchBlock(typeof(NullReferenceException));
-            {
-                proxyCtorIL.Emit(OpCodes.Stloc, exception);
-
-                proxyCtorIL.GetExceptionDataAndStoreInLocal(exception, exceptionData);
-                proxyCtorIL.AddItemToLocalDictionary(exceptionData, MetadataViewType, viewType);
-                proxyCtorIL.Emit(OpCodes.Rethrow);
-            }
-            proxyCtorIL.BeginCatchBlock(typeof(InvalidCastException));
-            {
-                proxyCtorIL.Emit(OpCodes.Stloc, exception);
-
-                proxyCtorIL.GetExceptionDataAndStoreInLocal(exception, exceptionData);
-                proxyCtorIL.Emit(OpCodes.Ldloc, value);
-                proxyCtorIL.Emit(OpCodes.Call, ObjectGetType);
-                proxyCtorIL.Emit(OpCodes.Stloc, sourceType);
-                proxyCtorIL.AddItemToLocalDictionary(exceptionData, MetadataViewType, viewType);
-                proxyCtorIL.AddLocalToLocalDictionary(exceptionData, MetadataItemSourceType, sourceType);
-                proxyCtorIL.AddLocalToLocalDictionary(exceptionData, MetadataItemValue, value);
-                proxyCtorIL.Emit(OpCodes.Rethrow);
-            }
-            proxyCtorIL.EndExceptionBlock();
-
-            // Finished implementing interface and constructor
-            proxyCtorIL.Emit(OpCodes.Ret);
-            proxyType = proxyTypeBuilder.CreateType();
-
-            return proxyType;
-        }
-             
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/MetadataViewProvider.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/MetadataViewProvider.cs
deleted file mode 100644
index a6efbd5..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/MetadataViewProvider.cs
+++ /dev/null
@@ -1,106 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Reflection;
-using System.Text;
-using Microsoft.Internal;
-using System.Globalization;
-using System.Runtime.InteropServices;
-using System.Diagnostics.CodeAnalysis;
-
-namespace System.ComponentModel.Composition
-{
-    internal static class MetadataViewProvider
-    {
-        [SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")]
-        public static TMetadataView GetMetadataView<TMetadataView>(IDictionary<string, object> metadata)
-        {
-            Type metadataViewType = typeof(TMetadataView);
-
-            // If the Metadata dictionary is cast compatible with the passed in type
-            if (metadataViewType.IsAssignableFrom(typeof(IDictionary<string, object>)))
-            {
-                return (TMetadataView)metadata;
-            }
-            // otherwise is it a metadata view
-            else
-            {
-                Type proxyType;
-                if (metadataViewType.IsInterface)
-                {
-                    try
-                    {
-                        proxyType = MetadataViewGenerator.GenerateView(metadataViewType);
-                    }
-                    catch (TypeLoadException ex)
-                    {
-                        throw new NotSupportedException(string.Format(CultureInfo.CurrentCulture, Strings.NotSupportedInterfaceMetadataView, metadataViewType.FullName), ex);
-                    }
-                }
-                else
-                {
-                    proxyType = metadataViewType;
-                }
-
-                // Now we have the type for the proxy create it
-                try
-                {
-                    return (TMetadataView)proxyType.SafeCreateInstance(metadata);
-                }
-                catch (MissingMethodException ex)
-                {
-                    // Unable to create an Instance of the Metadata view '{0}' because a constructor could not be selected.  Ensure that the type implements a constructor which takes an argument of type IDictionary<string, object>.
-                    throw new CompositionContractMismatchException(string.Format(CultureInfo.CurrentCulture,
-                        Strings.CompositionException_MetadataViewInvalidConstructor,
-                        proxyType.AssemblyQualifiedName), ex);
-                }
-                catch (TargetInvocationException ex)
-                {
-                    //Unwrap known failures that we want to present as CompositionContractMismatchException
-                    if(metadataViewType.IsInterface)
-                    {
-                        if(ex.InnerException.GetType() == typeof(InvalidCastException))
-                        {
-                            // Unable to create an Instance of the Metadata view {0} because the exporter exported the metadata for the item {1} with the value {2} as type {3} but the view imports it as type {4}.
-                            throw new CompositionContractMismatchException(string.Format(CultureInfo.CurrentCulture, 
-                                Strings.ContractMismatch_InvalidCastOnMetadataField,
-                                ex.InnerException.Data[MetadataViewGenerator.MetadataViewType],
-                                ex.InnerException.Data[MetadataViewGenerator.MetadataItemKey],
-                                ex.InnerException.Data[MetadataViewGenerator.MetadataItemValue],
-                                ex.InnerException.Data[MetadataViewGenerator.MetadataItemSourceType],
-                                ex.InnerException.Data[MetadataViewGenerator.MetadataItemTargetType]), ex);
-                        }
-                        else if (ex.InnerException.GetType() == typeof(NullReferenceException))
-                        {
-                            // Unable to create an Instance of the Metadata view {0} because the exporter exported the metadata for the item {1} with a null value and null is not a valid value for type {2}.
-                            throw new CompositionContractMismatchException(string.Format(CultureInfo.CurrentCulture,
-                                Strings.ContractMismatch_NullReferenceOnMetadataField,
-                                ex.InnerException.Data[MetadataViewGenerator.MetadataViewType],
-                                ex.InnerException.Data[MetadataViewGenerator.MetadataItemKey],
-                                ex.InnerException.Data[MetadataViewGenerator.MetadataItemTargetType]), ex);
-                        }
-                    }
-                    throw;
-                }
-            }
-        }
-
-        public static bool IsViewTypeValid(Type metadataViewType)
-        {
-            Assumes.NotNull(metadataViewType);
-
-            // If the Metadata dictionary is cast compatible with the passed in type
-            if (ExportServices.IsDefaultMetadataViewType(metadataViewType)
-            ||  metadataViewType.IsInterface
-            ||  ExportServices.IsDictionaryConstructorViewType(metadataViewType))
-            {
-                return true;
-            }
-
-            return false;
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/PartCreationPolicyAttribute.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/PartCreationPolicyAttribute.cs
deleted file mode 100644
index 43d0fc9..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/PartCreationPolicyAttribute.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Primitives;
-
-namespace System.ComponentModel.Composition
-{
-    /// <summary>
-    ///     Specifies <see cref="CreationPolicy"/> for a given <see cref="ComposablePart" />.
-    /// </summary>
-    [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)]
-    public sealed class PartCreationPolicyAttribute : Attribute
-    {
-        internal static PartCreationPolicyAttribute Default = new PartCreationPolicyAttribute(CreationPolicy.Any);
-        internal static PartCreationPolicyAttribute Shared = new PartCreationPolicyAttribute(CreationPolicy.Shared);
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="PartCreationPolicyAttribute"/> class.
-        /// </summary>
-        public PartCreationPolicyAttribute(CreationPolicy creationPolicy)
-        {
-            this.CreationPolicy = creationPolicy;
-        }
-
-        /// <summary>
-        ///     Gets or sets a value indicating the creation policy of the attributed part.
-        /// </summary>
-        /// <value>
-        ///     One of the <see cref="CreationPolicy"/> values indicating the creation policy of the 
-        ///     attributed part. The default is 
-        ///     <see cref="System.ComponentModel.Composition.CreationPolicy.Any"/>.
-        /// </value>
-        public CreationPolicy CreationPolicy { get; private set; }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/PartMetadataAttribute.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/PartMetadataAttribute.cs
deleted file mode 100644
index a75aa4e..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/PartMetadataAttribute.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Primitives;
-
-namespace System.ComponentModel.Composition
-{
-    /// <summary>
-    ///     Specifies metadata for a type to be used as a <see cref="ComposablePartDefinition"/> and
-    ///     <see cref="ComposablePart"/>.
-    /// </summary>
-    [AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = false)]
-    public sealed class PartMetadataAttribute : Attribute
-    {
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="PartMetadataAttribute"/> with the 
-        ///     specified name and metadata value.
-        /// </summary>
-        /// <param name="name">
-        ///     A <see cref="String"/> containing the name of the metadata value; or 
-        ///     <see langword="null"/> to use an empty string ("").
-        /// </param>
-        /// <param name="value">
-        ///     An <see cref="object"/> containing the metadata value. This can be 
-        ///     <see langword="null"/>.
-        /// </param>
-        public PartMetadataAttribute(string name, object value)
-        {
-            this.Name = name ?? string.Empty;
-            this.Value = value;
-        }
-
-        /// <summary>
-        ///     Gets the name of the metadata value.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="String"/> containing the name of the metadata value.
-        /// </value>
-        public string Name
-        {
-            get;
-            private set;
-        }
-
-        /// <summary>
-        ///     Gets the metadata value.
-        /// </summary>
-        /// <value>
-        ///     An <see cref="object"/> containing the metadata value.
-        /// </value>
-        public object Value
-        {
-            get;
-            private set;
-        }
-    }
-}
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/PartNotDiscoverableAttribute.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/PartNotDiscoverableAttribute.cs
deleted file mode 100644
index 02c8246..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/PartNotDiscoverableAttribute.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Primitives;
-
-namespace System.ComponentModel.Composition
-{
-    /// <summary>
-    ///     Place on a type that should not be discovered as a <see cref="ComposablePart" /> in
-    ///     a <see cref="ComposablePartCatalog" />.
-    /// </summary>
-    [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)]
-    public sealed class PartNotDiscoverableAttribute : Attribute
-    {
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="PartNotDiscoverableAttribute"/> class.
-        /// </summary>
-        public PartNotDiscoverableAttribute()
-        {
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ComposablePart.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ComposablePart.cs
deleted file mode 100644
index 0632fee..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ComposablePart.cs
+++ /dev/null
@@ -1,210 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Hosting;
-
-namespace System.ComponentModel.Composition.Primitives
-{
-    /// <summary>
-    ///     Defines the <see langword="abstract"/> base class for composable parts, which 
-    ///     import and produce exported values.
-    /// </summary>
-    public abstract class ComposablePart
-    {
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ComposablePart"/> class.
-        /// </summary>
-        protected ComposablePart()
-        {
-        }
-
-        /// <summary>
-        ///     Gets the export definitions that describe the exported values provided by the part.
-        /// </summary>
-        /// <value>
-        ///     An <see cref="IEnumerable{T}"/> of <see cref="ExportDefinition"/> objects describing
-        ///     the exported values provided by the <see cref="ComposablePart"/>.
-        /// </value>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="ComposablePart"/> has been disposed of.
-        /// </exception>
-        /// <remarks>
-        ///     <para>
-        ///         <note type="inheritinfo">
-        ///             If the <see cref="ComposablePart"/> was created from a 
-        ///             <see cref="ComposablePartDefinition"/>, this property should return the result of 
-        ///             <see cref="ComposablePartDefinition.ExportDefinitions"/>.
-        ///         </note>
-        ///      </para>
-        ///      <para>
-        ///         <note type="inheritinfo">
-        ///             Overriders of this property should never return <see langword="null"/>.
-        ///             If the <see cref="ComposablePart"/> does not have exports, return an empty 
-        ///             <see cref="IEnumerable{T}"/> instead.
-        ///         </note>
-        ///     </para>
-        /// </remarks>
-        public abstract IEnumerable<ExportDefinition> ExportDefinitions { get; }
-
-        /// <summary>
-        ///     Gets the import definitions that describe the imports required by the part.
-        /// </summary>
-        /// <value>
-        ///     An <see cref="IEnumerable{T}"/> of <see cref="ImportDefinition"/> objects describing
-        ///     the imports required by the <see cref="ComposablePart"/>.
-        /// </value>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="ComposablePart"/> has been disposed of.
-        /// </exception>
-        /// <remarks>
-        ///     <para>
-        ///         <note type="inheritinfo">
-        ///             If the <see cref="ComposablePart"/> was created from a 
-        ///             <see cref="ComposablePartDefinition"/>, this property should return the result of 
-        ///             <see cref="ComposablePartDefinition.ImportDefinitions"/>.
-        ///         </note>
-        ///      </para>
-        ///      <para>
-        ///         <note type="inheritinfo">
-        ///             Overrides of this property should never return <see langword="null"/>.
-        ///             If the <see cref="ComposablePart"/> does not have imports, return an empty 
-        ///             <see cref="IEnumerable{T}"/> instead.
-        ///         </note>
-        ///     </para>
-        /// </remarks>
-        public abstract IEnumerable<ImportDefinition> ImportDefinitions { get; }
-
-        /// <summary>
-        ///     Gets the metadata of the part.
-        /// </summary>
-        /// <value>
-        ///     An <see cref="IDictionary{TKey, TValue}"/> containing the metadata of the 
-        ///     <see cref="ComposablePart"/>. The default is an empty, read-only
-        ///     <see cref="IDictionary{TKey, TValue}"/>.
-        /// </value>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="ComposablePart"/> has been disposed of.
-        /// </exception>
-        /// <remarks>
-        ///     <para>
-        ///         <note type="inheritinfo">
-        ///             If the <see cref="ComposablePart"/> was created from a 
-        ///             <see cref="ComposablePartDefinition"/>, this property should return the result of 
-        ///             <see cref="ComposablePartDefinition.Metadata"/>.
-        ///         </note>
-        ///      </para>
-        ///      <para>
-        ///         <note type="inheritinfo">
-        ///             Overriders of this property should return a read-only
-        ///             <see cref="IDictionary{TKey, TValue}"/> object with a case-sensitive, 
-        ///             non-linguistic comparer, such as <see cref="StringComparer.Ordinal"/>, 
-        ///             and should never return <see langword="null"/>. If the 
-        ///             <see cref="ComposablePart"/> does not contain metadata, return an 
-        ///             empty <see cref="IDictionary{TKey, TValue}"/> instead.
-        ///         </note>
-        ///      </para>
-        /// </remarks>
-        public virtual IDictionary<string, object> Metadata
-        {
-            get 
-            {
-                return MetadataServices.EmptyMetadata; 
-            }
-        }
-
-        /// <summary>
-        ///     Called by the composition engine when all required imports on the part have been
-        ///     satisfied.
-        /// </summary>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="ComposablePart"/> has been disposed of.
-        /// </exception>
-        /// <exception cref="ComposablePartException">
-        ///     An error occurred activating the <see cref="ComposablePart"/>.
-        /// </exception>
-        public virtual void Activate()
-        {
-        }
-
-        /// <summary>
-        ///     Gets the exported value described by the specified definition.
-        /// </summary>
-        /// <param name="definition">
-        ///     One of the <see cref="ExportDefinition"/> objects from the 
-        ///     <see cref="ExportDefinitions"/> property describing the exported value
-        ///     to return.
-        /// </param>
-        /// <returns>
-        ///     The exported value described by <paramref name="definition"/>.
-        /// </returns>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="definition"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="ArgumentException">
-        ///     <paramref name="definition"/> did not originate from the <see cref="ExportDefinitions"/>
-        ///     property on the <see cref="ComposablePart"/>.
-        /// </exception>
-        /// <exception cref="InvalidOperationException">
-        ///     One or more pre-requisite imports, indicated by <see cref="ImportDefinition.IsPrerequisite"/>,
-        ///     have not been set.
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="ComposablePart"/> has been disposed of.
-        /// </exception>
-        /// <exception cref="ComposablePartException">
-        ///     An error occurred getting the exported value described by the <see cref="ExportDefinition"/>.
-        /// </exception>
-        public abstract object GetExportedValue(ExportDefinition definition);
-
-        /// <summary>
-        ///     Sets the import described by the specified definition with the specified exports.
-        /// </summary>
-        /// <param name="definition">
-        ///     One of the <see cref="ImportDefinition"/> objects from the 
-        ///     <see cref="ImportDefinitions"/> property describing the import to be set.
-        /// </param>
-        /// <param name="exports">
-        ///     An <see cref="IEnumerable{T}"/> of <see cref="Export"/> objects of which 
-        ///     to set the import described by <paramref name="definition"/>.
-        /// </param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="definition"/> is <see langword="null"/>.
-        ///     <para>
-        ///         -or-
-        ///     </para>
-        ///     <paramref name="exports"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="ArgumentException">
-        ///     <paramref name="definition"/> did not originate from the <see cref="ImportDefinitions"/>
-        ///     property on the <see cref="ComposablePart"/>.
-        ///     <para>
-        ///         -or-
-        ///     </para>
-        ///     <paramref name="exports"/> contains an element that is <see langword="null"/>.
-        ///     <para>
-        ///         -or-
-        ///     </para>
-        ///     <paramref name="exports"/> is empty and <see cref="ImportDefinition.Cardinality"/> is 
-        ///     <see cref="ImportCardinality.ExactlyOne"/>.
-        ///     <para>
-        ///         -or-
-        ///     </para>
-        ///     <paramref name="exports"/> contains more than one element and 
-        ///     <see cref="ImportDefinition.Cardinality"/> is <see cref="ImportCardinality.ZeroOrOne"/> or 
-        ///     <see cref="ImportCardinality.ExactlyOne"/>.
-        /// </exception>
-        /// <exception cref="InvalidOperationException">
-        ///     <see cref="Activate"/> has been previously called and 
-        ///     <see cref="ImportDefinition.IsRecomposable"/> is <see langword="false"/>.
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="ComposablePart"/> has been disposed of.
-        /// </exception>
-        /// <exception cref="ComposablePartException">
-        ///     An error occurred setting the import described by the <see cref="ImportDefinition"/>.
-        /// </exception>
-        public abstract void SetImport(ImportDefinition definition, IEnumerable<Export> exports);
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ComposablePartCatalog.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ComposablePartCatalog.cs
deleted file mode 100644
index 59b55b2..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ComposablePartCatalog.cs
+++ /dev/null
@@ -1,129 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Hosting;
-using System.Diagnostics;
-using System.Diagnostics.CodeAnalysis;
-using System.Linq;
-using System.Linq.Expressions;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.Primitives
-{
-    /// <summary>
-    ///     Defines the <see langword="abstract"/> base class for composable part catalogs, which produce
-    ///     and return <see cref="ComposablePartDefinition"/> objects.
-    /// </summary>
-    /// <remarks>
-    ///     This type is thread safe.
-    /// </remarks>
-    [DebuggerTypeProxy(typeof(ComposablePartCatalogDebuggerProxy))]
-    public abstract class ComposablePartCatalog : IDisposable
-    {
-        private bool _isDisposed;
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ComposablePartCatalog"/> class.
-        /// </summary>
-        protected ComposablePartCatalog()
-        {
-        }
-
-        /// <summary>
-        ///     Gets the part definitions of the catalog.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="IQueryable{T}"/> of <see cref="ComposablePartDefinition"/> objects of the 
-        ///     <see cref="ComposablePartCatalog"/>.
-        /// </value>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="ComposablePartCatalog"/> has been disposed of.
-        /// </exception>
-        /// <remarks>
-        ///     <note type="inheritinfo">
-        ///         Overriders of this property should never return <see langword="null"/>.
-        ///     </note>
-        /// </remarks>
-        public abstract IQueryable<ComposablePartDefinition> Parts 
-        { 
-            get; 
-        }
-
-        /// <summary>
-        ///     Returns the export definitions that match the constraint defined by the specified definition.
-        /// </summary>
-        /// <param name="definition">
-        ///     The <see cref="ImportDefinition"/> that defines the conditions of the 
-        ///     <see cref="ExportDefinition"/> objects to return.
-        /// </param>
-        /// <returns>
-        ///     An <see cref="IEnumerable{T}"/> of <see cref="Tuple{T1, T2}"/> containing the 
-        ///     <see cref="ExportDefinition"/> objects and their associated 
-        ///     <see cref="ComposablePartDefinition"/> for objects that match the constraint defined 
-        ///     by <paramref name="definition"/>.
-        /// </returns>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="definition"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="ObjectDisposedException">
-        ///     The <see cref="ComposablePartCatalog"/> has been disposed of.
-        /// </exception>
-        /// <remarks>
-        ///     <note type="inheritinfo">
-        ///         Overriders of this property should never return <see langword="null"/>, if no 
-        ///         <see cref="ExportDefinition"/> match the conditions defined by 
-        ///         <paramref name="definition"/>, return an empty <see cref="IEnumerable{T}"/>.
-        ///     </note>
-        /// </remarks>
-        [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
-        public virtual IEnumerable<Tuple<ComposablePartDefinition, ExportDefinition>> GetExports(ImportDefinition definition)
-        {
-            this.ThrowIfDisposed();
-
-            Requires.NotNull(definition, "definition");
-
-            var exports = new List<Tuple<ComposablePartDefinition, ExportDefinition>>();
-            foreach (var part in this.Parts)
-            {
-                foreach (var export in part.ExportDefinitions)
-                {
-                    if (definition.IsConstraintSatisfiedBy(export))
-                    {
-                        exports.Add(new Tuple<ComposablePartDefinition, ExportDefinition>(part, export));
-                    }
-                }
-            }
-            return exports;
-
-        }
-
-        /// <summary>
-        ///     Releases the unmanaged resources used by the <see cref="ComposablePartCatalog"/> and 
-        ///     optionally releases the managed resources.
-        /// </summary>
-        /// <param name="disposing">
-        ///     <see langword="true"/> to release both managed and unmanaged resources; 
-        ///     <see langword="false"/> to release only unmanaged resources.
-        /// </param>
-        public void Dispose()
-        {
-            Dispose(true);
-            GC.SuppressFinalize(this);
-        }
-
-        protected virtual void Dispose(bool disposing) 
-        {
-            this._isDisposed = true;
-        }
-
-        private void ThrowIfDisposed()
-        {
-            if (this._isDisposed)
-            {
-                throw ExceptionBuilder.CreateObjectDisposed(this);
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ComposablePartCatalogDebuggerProxy.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ComposablePartCatalogDebuggerProxy.cs
deleted file mode 100644
index 15f0031..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ComposablePartCatalogDebuggerProxy.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.ObjectModel;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-
-namespace System.ComponentModel.Composition.Primitives
-{
-    // This proxy is needed to pretty up ComposablePartCatalog.Parts; IQueryable<T> 
-    // instances are not displayed in a very friendly way in the debugger.
-    internal class ComposablePartCatalogDebuggerProxy
-    {
-        private readonly ComposablePartCatalog _catalog;
-
-        public ComposablePartCatalogDebuggerProxy(ComposablePartCatalog catalog) 
-        {
-            Requires.NotNull(catalog, "catalog");
-
-            this._catalog = catalog;
-        }
-
-        public ReadOnlyCollection<ComposablePartDefinition> Parts
-        {
-            // NOTE: This shouldn't be cached, so that on every query of
-            // the current value of the underlying catalog is respected.
-            // We use ReadOnlyCollection as arrays do not have the 
-            // appropriate debugger display attributes applied to them.
-            get { return this._catalog.Parts.ToReadOnlyCollection(); }
-        }
-    }
-}
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ComposablePartDefinition.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ComposablePartDefinition.cs
deleted file mode 100644
index b82f590..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ComposablePartDefinition.cs
+++ /dev/null
@@ -1,102 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-
-namespace System.ComponentModel.Composition.Primitives
-{
-    /// <summary>
-    ///     Defines the <see langword="abstract"/> base class for composable part definitions, which 
-    ///     describe, and allow the creation of, <see cref="ComposablePart"/> objects.
-    /// </summary>
-    public abstract class ComposablePartDefinition
-    {
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ComposablePartDefinition"/> class.
-        /// </summary>
-        protected ComposablePartDefinition()
-        {
-        }
-
-        /// <summary>
-        ///     Gets the export definitions that describe the exported values provided by parts 
-        ///     created by the definition.
-        /// </summary>
-        /// <value>
-        ///     An <see cref="IEnumerable{T}"/> of <see cref="ExportDefinition"/> objects describing
-        ///     the exported values provided by <see cref="ComposablePart"/> objects created by the 
-        ///     <see cref="ComposablePartDefinition"/>.
-        /// </value>
-        /// <remarks>
-         ///     <note type="inheritinfo">
-        ///         Overrides of this property should never return <see langword="null"/>.
-        ///         If the <see cref="ComposablePart"/> objects created by the 
-        ///         <see cref="ComposablePartDefinition"/> do not provide exported values, return 
-        ///         an empty <see cref="IEnumerable{T}"/> instead.
-        ///     </note>
-        /// </remarks>
-        public abstract IEnumerable<ExportDefinition> ExportDefinitions { get; }
-
-        /// <summary>
-        ///     Gets the import definitions that describe the imports required by parts created 
-        ///     by the definition.
-        /// </summary>
-        /// <value>
-        ///     An <see cref="IEnumerable{T}"/> of <see cref="ImportDefinition"/> objects describing
-        ///     the imports required by <see cref="ComposablePart"/> objects created by the 
-        ///     <see cref="ComposablePartDefinition"/>.
-        /// </value>
-        /// <remarks>
-        ///     <note type="inheritinfo">
-        ///         Overriders of this property should never return <see langword="null"/>.
-        ///         If the <see cref="ComposablePart"/> objects created by the 
-        ///         <see cref="ComposablePartDefinition"/> do not have imports, return an empty 
-        ///         <see cref="IEnumerable{T}"/> instead.
-        ///     </note>
-        /// </remarks>
-        public abstract IEnumerable<ImportDefinition> ImportDefinitions { get; }
-
-        /// <summary>
-        ///     Gets the metadata of the definition.
-        /// </summary>
-        /// <value>
-        ///     An <see cref="IDictionary{TKey, TValue}"/> containing the metadata of the 
-        ///     <see cref="ComposablePartDefinition"/>. The default is an empty, read-only
-        ///     <see cref="IDictionary{TKey, TValue}"/>.
-        /// </value>
-        /// <remarks>
-        ///     <para>
-        ///         <note type="inheritinfo">
-        ///             Overriders of this property should return a read-only
-        ///             <see cref="IDictionary{TKey, TValue}"/> object with a case-sensitive, 
-        ///             non-linguistic comparer, such as <see cref="StringComparer.Ordinal"/>, 
-        ///             and should never return <see langword="null"/>. If the 
-        ///             <see cref="ComposablePartDefinition"/> does contain metadata, 
-        ///             return an empty <see cref="IDictionary{TKey, TValue}"/> instead.
-        ///         </note>
-        ///     </para>
-        /// </remarks>
-        public virtual IDictionary<string, object> Metadata 
-        {
-            get { return MetadataServices.EmptyMetadata; } 
-        }
-
-        /// <summary>
-        ///     Creates a new instance of a part that the definition describes.
-        /// </summary>
-        /// <returns>
-        ///     The created <see cref="ComposablePart"/>.
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         <note type="inheritinfo">
-        ///             Derived types overriding this method should return a new instance of a 
-        ///             <see cref="ComposablePart"/> on every invoke and should never return 
-        ///             <see langword="null"/>.
-        ///         </note>
-        ///     </para>
-        /// </remarks>
-        public abstract ComposablePart CreatePart();
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ComposablePartException.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ComposablePartException.cs
deleted file mode 100644
index 72b1a33..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ComposablePartException.cs
+++ /dev/null
@@ -1,214 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Hosting;
-using System.Runtime.Serialization;
-using System.Security.Permissions;
-using Microsoft.Internal;
-
-#if !SILVERLIGHT
-using Microsoft.Internal.Runtime.Serialization;
-#endif
-
-namespace System.ComponentModel.Composition.Primitives
-{
-    /// <summary>
-    ///     The exception that is thrown when an error occurs when calling methods on a
-    ///     <see cref="ComposablePart"/>.
-    /// </summary>
-    [Serializable]
-    public class ComposablePartException : Exception, ICompositionError
-    {
-        private readonly CompositionErrorId _id;
-        private readonly ICompositionElement _element;
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ComposablePartException"/> class.
-        /// </summary>
-        public ComposablePartException()
-            : this(CompositionErrorId.Unknown, (string)null, (ICompositionElement)null, (Exception)null)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ComposablePartException"/> class 
-        ///     with the specified error message.
-        /// </summary>
-        /// <param name="message">
-        ///     A <see cref="String"/> containing a message that describes the 
-        ///     <see cref="ComposablePartException"/>; or <see langword="null"/> to set
-        ///     the <see cref="Exception.Message"/> property to its default value.
-        /// </param>
-        /// <param name="element">
-        ///     The <see cref="ICompositionElement"/> that is the cause of the
-        ///     <see cref="ComposablePartException"/>; or <see langword="null"/> to set
-        ///     the <see cref="ComposablePartException.Element"/> property to 
-        ///     <see langword="null"/>.
-        /// </param>
-        public ComposablePartException(string message)
-            : this(CompositionErrorId.Unknown, message, (ICompositionElement)null, (Exception)null)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ComposablePartException"/> class 
-        ///     with the specified error message and composition element that is the cause of
-        ///     the exception.
-        /// </summary>
-        /// <param name="message">
-        ///     A <see cref="String"/> containing a message that describes the 
-        ///     <see cref="ComposablePartException"/>; or <see langword="null"/> to set
-        ///     the <see cref="Exception.Message"/> property to its default value.
-        /// </param>
-        public ComposablePartException(string message, ICompositionElement element)
-            : this(CompositionErrorId.Unknown, message, element, (Exception)null)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ComposablePartException"/> class 
-        ///     with the specified error message and exception that is the cause of the  
-        ///     exception.
-        /// </summary>
-        /// <param name="message">
-        ///     A <see cref="String"/> containing a message that describes the 
-        ///     <see cref="ComposablePartException"/>; or <see langword="null"/> to set
-        ///     the <see cref="Exception.Message"/> property to its default value.
-        /// </param>
-        /// <param name="innerException">
-        ///     The <see cref="Exception"/> that is the underlying cause of the 
-        ///     <see cref="ComposablePartException"/>; or <see langword="null"/> to set
-        ///     the <see cref="Exception.InnerException"/> property to <see langword="null"/>.
-        /// </param>
-        public ComposablePartException(string message, Exception innerException)
-            : this(CompositionErrorId.Unknown, message, (ICompositionElement)null, innerException)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ComposablePartException"/> class 
-        ///     with the specified error message, and composition element and exception that 
-        ///     are the cause of the exception.
-        /// </summary>
-        /// <param name="message">
-        ///     A <see cref="String"/> containing a message that describes the 
-        ///     <see cref="ComposablePartException"/>; or <see langword="null"/> to set
-        ///     the <see cref="Exception.Message"/> property to its default value.
-        /// </param>
-        /// <param name="element">
-        ///     The <see cref="ICompositionElement"/> that is the cause of the
-        ///     <see cref="ComposablePartException"/>; or <see langword="null"/> to set
-        ///     the <see cref="ComposablePartException.Element"/> property to 
-        ///     <see langword="null"/>.
-        /// </param>
-        /// <param name="innerException">
-        ///     The <see cref="Exception"/> that is the underlying cause of the 
-        ///     <see cref="ComposablePartException"/>; or <see langword="null"/> to set
-        ///     the <see cref="Exception.InnerException"/> property to <see langword="null"/>.
-        /// </param>
-        public ComposablePartException(string message, ICompositionElement element, Exception innerException)
-            : this(CompositionErrorId.Unknown, message, element, innerException)
-        {
-        }
-
-        internal ComposablePartException(CompositionErrorId id, string message)
-            : this(id, message, (ICompositionElement)null, (Exception)null)
-        {
-        }
-
-        internal ComposablePartException(CompositionErrorId id, string message, Exception exception)
-            : this(id, message, (ICompositionElement)null, exception)
-        {
-        }
-
-        internal ComposablePartException(CompositionErrorId id, string message, ICompositionElement element)
-            : this(id, message, (ICompositionElement)element, (Exception)null)
-        {
-        }
-
-        internal ComposablePartException(CompositionErrorId id, string message, ICompositionElement element, Exception innerException)
-            : base(message, innerException)
-        {
-            _id = id;
-            _element = element;
-        }
-
-#if !SILVERLIGHT
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ComposablePartException"/> class 
-        ///     with the specified serialization data.
-        /// </summary>
-        /// <param name="info">
-        ///     The <see cref="SerializationInfo"/> that holds the serialized object data about the 
-        ///     <see cref="ComposablePartException"/>.
-        /// </param>
-        /// <param name="context">
-        ///     The <see cref="StreamingContext"/> that contains contextual information about the 
-        ///     source or destination.
-        /// </param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="info"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="SerializationException">
-        ///     <paramref name="info"/> is missing a required value.
-        /// </exception>
-        /// <exception cref="InvalidCastException">
-        ///     <paramref name="info"/> contains a value that cannot be cast to the correct type.
-        /// </exception>
-        [System.Security.SecuritySafeCritical]
-        protected ComposablePartException(SerializationInfo info, StreamingContext context)
-            : base(info, context)
-        {
-            _id = info.GetValue<CompositionErrorId>("Id");
-            _element = info.GetValue<ICompositionElement>("Element");
-        }
-
-#endif
-
-        /// <summary>
-        ///     Gets the composition element that is the cause of the exception.
-        /// </summary>
-        /// <value>
-        ///     The <see cref="ICompositionElement"/> that is the cause of the
-        ///     <see cref="ComposablePartException"/>. The default is <see langword="null"/>.
-        /// </value>
-        public ICompositionElement Element
-        {
-            get { return _element; }
-        }
-
-        CompositionErrorId ICompositionError.Id
-        {
-            get { return _id; }
-        }
-
-#if !SILVERLIGHT
-
-        /// <summary>
-        ///     Gets the serialization data of the exception.
-        /// </summary>
-        /// <param name="info">
-        ///     The <see cref="SerializationInfo"/> that holds the serialized object data about the 
-        ///     <see cref="ComposablePartException"/>.
-        /// </param>
-        /// <param name="context">
-        ///     The <see cref="StreamingContext"/> that contains contextual information about the 
-        ///     source or destination.
-        /// </param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="info"/> is <see langword="null"/>.
-        /// </exception>
-        [System.Security.SecurityCritical]
-        public override void GetObjectData(SerializationInfo info, StreamingContext context)
-        {
-            base.GetObjectData(info, context);
-
-            info.AddValue("Id", _id);
-            info.AddValue("Element", _element.ToSerializableElement());
-        }
-
-#endif
-    }
-}
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/CompositionElement.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/CompositionElement.cs
deleted file mode 100644
index 23f7677..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/CompositionElement.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Diagnostics;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.Primitives
-{
-    // Represents the ICompositionElement placeholder for an 
-    // object that does not implement ICompositionElement
-    [DebuggerTypeProxy(typeof(CompositionElementDebuggerProxy))]
-    [Serializable]
-    internal class CompositionElement : SerializableCompositionElement
-    {
-        private static readonly ICompositionElement UnknownOrigin = new SerializableCompositionElement(Strings.CompositionElement_UnknownOrigin, (ICompositionElement)null);
-        private readonly object _underlyingObject;
-
-        public CompositionElement(object underlyingObject)
-            : base(underlyingObject.ToString(), UnknownOrigin)
-        {
-            this._underlyingObject = underlyingObject;
-        }
-
-        public object UnderlyingObject
-        {
-            get { return _underlyingObject; }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/CompositionElementDebuggerProxy.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/CompositionElementDebuggerProxy.cs
deleted file mode 100644
index 00442c5..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/CompositionElementDebuggerProxy.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.Primitives
-{
-    // Because the debugger displays only the members available on ICompositionElement 
-    // when viewing CompositionError.Element in the watch and data tips windows, we 
-    // need this proxy so that the underlying object wrapped by the CompositionElement 
-    // placeholder is displayed by default.
-    internal class CompositionElementDebuggerProxy
-    {
-        private readonly CompositionElement _element;
-
-        public CompositionElementDebuggerProxy(CompositionElement element) 
-        {
-            Requires.NotNull(element, "element");
-
-            this._element = element;
-        }
-
-        public string DisplayName
-        {
-            get { return this._element.DisplayName; }
-        }
-
-        public ICompositionElement Origin
-        {
-            get { return this._element.Origin; }
-        }
-
-        public object UnderlyingObject
-        {
-            get { return this._element.UnderlyingObject; }
-        }
-    }
-}
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/CompositionElementExtensions.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/CompositionElementExtensions.cs
deleted file mode 100644
index 0f34d72..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/CompositionElementExtensions.cs
+++ /dev/null
@@ -1,82 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.Primitives
-{
-    internal static class CompositionElementExtensions
-    {
-#if !SILVERLIGHT
-        public static ICompositionElement ToSerializableElement(this ICompositionElement element)
-        {
-            return SerializableCompositionElement.FromICompositionElement(element);
-        }
-#endif
-        public static ICompositionElement ToElement(this Export export)
-        {
-            // First try the export
-            ICompositionElement element = export as ICompositionElement;
-            if (element != null)
-            {
-                return element;
-            }
-
-            // Otherwise, try the definition
-            return ToElement(export.Definition);
-        }
-
-        public static ICompositionElement ToElement(this ExportDefinition definition)
-        {
-            return ToElementCore(definition);
-        }
-
-        public static ICompositionElement ToElement(this ImportDefinition definition)
-        {
-            return ToElementCore(definition);
-        }
-
-        public static ICompositionElement ToElement(this ComposablePart part)
-        {
-            return ToElementCore(part);
-        }
-
-        public static ICompositionElement ToElement(this ComposablePartDefinition definition)
-        {
-            return ToElementCore(definition);
-        }
-
-        public static string GetDisplayName(this ComposablePartDefinition definition)
-        {
-            return GetDisplayNameCore(definition);
-        }
-
-        public static string GetDisplayName(this ComposablePartCatalog catalog)
-        {
-            return GetDisplayNameCore(catalog);
-        }
-
-        private static string GetDisplayNameCore(object value)
-        {
-            ICompositionElement element = value as ICompositionElement;
-            if (element != null)
-            {
-                return element.DisplayName;
-            }
-
-            return value.ToString();
-        }
-
-        private static ICompositionElement ToElementCore(object value)
-        {
-            ICompositionElement element = value as ICompositionElement;
-            if (element != null)
-            {
-                return element;
-            }
-
-            return new CompositionElement(value);
-        }
-    }
-}
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ContractBasedImportDefinition.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ContractBasedImportDefinition.cs
deleted file mode 100644
index 148f46b..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ContractBasedImportDefinition.cs
+++ /dev/null
@@ -1,309 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Hosting;
-using System.Diagnostics.CodeAnalysis;
-using System.Linq;
-using System.Linq.Expressions;
-using Microsoft.Internal;
-using System.Globalization;
-
-namespace System.ComponentModel.Composition.Primitives
-{
-    /// <summary>
-    ///     Represents a contract name and metadata-based import 
-    ///     required by a <see cref="ComposablePart"/> object.
-    /// </summary>
-    public class ContractBasedImportDefinition : ImportDefinition
-    {
-        // Unlike contract name, required metadata has a sensible default; set it to an empty 
-        // enumerable, so that derived definitions only need to override ContractName by default.
-        private readonly IEnumerable<KeyValuePair<string, Type>> _requiredMetadata = Enumerable.Empty<KeyValuePair<string, Type>>();
-        private Expression<Func<ExportDefinition, bool>> _constraint;
-        private readonly CreationPolicy _requiredCreationPolicy = CreationPolicy.Any;
-        private readonly string _requiredTypeIdentity = null;
-        private bool _isRequiredMetadataValidated = false;
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ContractBasedImportDefinition"/> class.
-        /// </summary>
-        /// <remarks>
-        ///     <note type="inheritinfo">
-        ///         Derived types calling this constructor can optionally override the 
-        ///         <see cref="ImportDefinition.ContractName"/>, <see cref="RequiredTypeIdentity"/>,
-        ///         <see cref="RequiredMetadata"/>, <see cref="ImportDefinition.Cardinality"/>, 
-        ///         <see cref="ImportDefinition.IsPrerequisite"/>, <see cref="ImportDefinition.IsRecomposable"/> 
-        ///         and <see cref="RequiredCreationPolicy"/> properties.
-        ///     </note>
-        /// </remarks>
-        protected ContractBasedImportDefinition()
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ContractBasedImportDefinition"/> class 
-        ///     with the specified contract name, required metadataq, cardinality, value indicating 
-        ///     if the import definition is recomposable and a value indicating if the import definition 
-        ///     is a prerequisite.
-        /// </summary>
-        /// <param name="contractName">
-        ///     A <see cref="String"/> containing the contract name of the 
-        ///     <see cref="Export"/> required by the <see cref="ContractBasedImportDefinition"/>.
-        /// </param>
-        /// <param name="requiredTypeIdentity">
-        ///     The type identity of the export type expected. Use <see cref="AttributedModelServices.GetTypeIdentity(Type)"/>
-        ///     to generate a type identity for a given type. If no specific type is required pass <see langword="null"/>.
-        /// </param>
-        /// <param name="requiredMetadata">
-        ///     An <see cref="IEnumerable{T}"/> of <see cref="String"/> objects containing
-        ///     the metadata names of the <see cref="Export"/> required by the 
-        ///     <see cref="ContractBasedImportDefinition"/>; or <see langword="null"/> to
-        ///     set the <see cref="RequiredMetadata"/> property to an empty <see cref="IEnumerable{T}"/>.
-        /// </param>
-        /// <param name="cardinality">
-        ///     One of the <see cref="ImportCardinality"/> values indicating the 
-        ///     cardinality of the <see cref="Export"/> objects required by the
-        ///     <see cref="ContractBasedImportDefinition"/>.
-        /// </param>
-        /// <param name="isRecomposable">
-        ///     <see langword="true"/> if the <see cref="ContractBasedImportDefinition"/> can be satisfied 
-        ///     multiple times throughout the lifetime of a <see cref="ComposablePart"/>, otherwise, 
-        ///     <see langword="false"/>.
-        /// </param>
-        /// <param name="isPrerequisite">
-        ///     <see langword="true"/> if the <see cref="ContractBasedImportDefinition"/> is required to be 
-        ///     satisfied before a <see cref="ComposablePart"/> can start producing exported 
-        ///     objects; otherwise, <see langword="false"/>.
-        /// </param>
-        /// <param name="requiredCreationPolicy">
-        ///     A value indicating that the importer requires a specific <see cref="CreationPolicy"/> for 
-        ///     the exports used to satisfy this import. If no specific <see cref="CreationPolicy"/> is needed
-        ///     pass the default <see cref="CreationPolicy.Any"/>.
-        /// </param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="contractName"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="ArgumentException">
-        ///     <paramref name="contractName"/> is an empty string ("").
-        ///     <para>
-        ///         -or-
-        ///     </para>
-        ///     <paramref name="requiredMetadata"/> contains an element that is <see langword="null"/>.
-        ///     <para>
-        ///         -or-
-        ///     </para>
-        ///     <paramref name="cardinality"/> is not one of the <see cref="ImportCardinality"/> 
-        ///     values.
-        /// </exception>
-        [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
-        public ContractBasedImportDefinition(string contractName, string requiredTypeIdentity, IEnumerable<KeyValuePair<string, Type>> requiredMetadata, 
-            ImportCardinality cardinality, bool isRecomposable, bool isPrerequisite, CreationPolicy requiredCreationPolicy)
-            : base(contractName, cardinality, isRecomposable, isPrerequisite)
-        {
-            Requires.NotNullOrEmpty(contractName, "contractName");
-
-            this._requiredTypeIdentity = requiredTypeIdentity;
-
-            if (requiredMetadata != null)
-            {
-                this._requiredMetadata = requiredMetadata;
-            }
-
-            this._requiredCreationPolicy = requiredCreationPolicy;
-        }
-
-        /// <summary>
-        ///     The type identity of the export type expected.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="string"/> that is generated by <see cref="AttributedModelServices.GetTypeIdentity(Type)"/>
-        ///     on the type that this import expects. If the value is <see langword="null"/> then this import
-        ///     doesn't expect a particular type.
-        /// </value>
-        public virtual string RequiredTypeIdentity
-        {
-            get { return this._requiredTypeIdentity; }
-        }
-
-        /// <summary>
-        ///     Gets the metadata names of the export required by the import definition.
-        /// </summary>
-        /// <value>
-        ///     An <see cref="IEnumerable{T}"/> of pairs of metadata keys and types of the <see cref="Export"/> required by the 
-        ///     <see cref="ContractBasedImportDefinition"/>. The default is an empty 
-        ///     <see cref="IEnumerable{T}"/>.
-        /// </value>
-        /// <remarks>
-        ///     <note type="inheritinfo">
-        ///         Overriders of this property should never return <see langword="null"/>
-        ///         or return an <see cref="IEnumerable{T}"/> that contains an element that is
-        ///         <see langword="null"/>. If the definition does not contain required metadata, 
-        ///         return an empty <see cref="IEnumerable{T}"/> instead.
-        ///     </note>
-        /// </remarks>
-        [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
-        public virtual IEnumerable<KeyValuePair<string, Type>> RequiredMetadata
-        {
-            get
-            {
-                // NOTE : unlike other arguments, we validate this one as late as possible, because its validation may lead to type loading
-                this.ValidateRequiredMetadata();
-
-                return this._requiredMetadata;
-            }
-        }
-
-        private void ValidateRequiredMetadata()
-        {
-            if (!this._isRequiredMetadataValidated)
-            {
-                foreach (KeyValuePair<string, Type> metadataItem in this._requiredMetadata)
-                {
-                    if ((metadataItem.Key == null) || (metadataItem.Value == null))
-                    {
-                        throw new InvalidOperationException(
-                            string.Format(CultureInfo.CurrentCulture, Strings.Argument_NullElement, "requiredMetadata"));
-                    }
-                }
-                this._isRequiredMetadataValidated = true;
-            }
-        }
-
-        /// <summary>
-        ///     Gets or sets a value indicating that the importer requires a specific 
-        ///     <see cref="CreationPolicy"/> for the exports used to satisfy this import. T
-        /// </summary>
-        /// <value>
-        ///     <see cref="CreationPolicy.Any"/> - default value, used if the importer doesn't 
-        ///         require a specific <see cref="CreationPolicy"/>.
-        /// 
-        ///     <see cref="CreationPolicy.Shared"/> - Requires that all exports used should be shared
-        ///         by everyone in the container.
-        /// 
-        ///     <see cref="CreationPolicy.NonShared"/> - Requires that all exports used should be 
-        ///         non-shared in a container and thus everyone gets their own instance.
-        /// </value>
-        public virtual CreationPolicy RequiredCreationPolicy
-        {
-            get { return this._requiredCreationPolicy; }
-        }
-
-        /// <summary>
-        ///     Gets an expression that defines conditions that must be matched for the import 
-        ///     described by the import definition to be satisfied.
-        /// </summary>
-        /// <returns>
-        ///     A <see cref="Expression{TDelegate}"/> containing a <see cref="Func{T, TResult}"/> 
-        ///     that defines the conditions that must be matched for the 
-        ///     <see cref="ImportDefinition"/> to be satisfied by an <see cref="Export"/>.
-        /// </returns>
-        /// <remarks>
-        ///     <para>
-        ///         This property returns an expression that defines conditions based on the 
-        ///         <see cref="ImportDefinition.ContractName"/>, <see cref="RequiredTypeIdentity"/>, 
-        ///         <see cref="RequiredMetadata"/>, and <see cref="RequiredCreationPolicy"/>
-        ///         properties. 
-        ///     </para>
-        /// </remarks>
-        public override Expression<Func<ExportDefinition, bool>> Constraint
-        {   
-            get
-            {
-                if (this._constraint == null)
-                {
-                    this._constraint = ConstraintServices.CreateConstraint(this.ContractName, this.RequiredTypeIdentity, this.RequiredMetadata, this.RequiredCreationPolicy);
-                }
-
-                return this._constraint;
-            }
-        }
-
-        /// <summary>
-        ///     Executes an optimized version of the contraint given by the <see cref="Constraint"/> property
-        /// </summary>
-        /// <param name="exportDefinition">
-        ///     A definition for a <see cref="Export"/> used to determine if it satisfies the
-        ///     requirements for this <see cref="ImportDefinition"/>.
-        /// </param>
-        /// <returns>
-        ///     <see langword="True"/> if the <see cref="Export"/> satisfies the requirements for
-        ///     this <see cref="ImportDefinition"/>, otherwise returns <see langword="False"/>.
-        /// </returns>
-        /// <remarks>
-        ///     <note type="inheritinfo">
-        ///         Overrides of this method can provide a more optimized execution of the 
-        ///         <see cref="Constraint"/> property but the result should remain consistent.
-        ///     </note>
-        /// </remarks>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="exportDefinition"/> is <see langword="null"/>.
-        /// </exception>
-        public override bool IsConstraintSatisfiedBy(ExportDefinition exportDefinition)
-        {
-            Requires.NotNull(exportDefinition, "exportDefinition");
-
-            if (!StringComparers.ContractName.Equals(this.ContractName, exportDefinition.ContractName))
-            {
-                return false;
-            }
-
-            return MatchRequiredMatadata(exportDefinition);
-        }
-
-        private bool MatchRequiredMatadata(ExportDefinition definition)
-        {
-            if (!string.IsNullOrEmpty(this.RequiredTypeIdentity))
-            {
-                string exportTypeIdentity = definition.Metadata.GetValue<string>(CompositionConstants.ExportTypeIdentityMetadataName);
-
-                if (!StringComparers.ContractName.Equals(this.RequiredTypeIdentity, exportTypeIdentity))
-                {
-                    return false;
-                }
-            }
-
-            foreach (KeyValuePair<string, Type> metadataItem in this.RequiredMetadata)
-            {
-                string metadataKey = metadataItem.Key;
-                Type metadataValueType = metadataItem.Value;
-
-                object metadataValue = null;
-                if (!definition.Metadata.TryGetValue(metadataKey, out metadataValue))
-                {
-                    return false;
-                }
-
-                if (metadataValue != null)
-                {
-                    // the metadata value is not null, we can rely on IsInstanceOfType to do the right thing
-                    if (!metadataValueType.IsInstanceOfType(metadataValue))
-                    {
-                        return false;
-                    }
-                }
-                else
-                {
-                    // this is an unfortunate special case - typeof(object).IsInstanceofType(null) == false
-                    // basically nulls are not considered valid values for anything
-                    // We want them to match anything that is a reference type
-                    if (metadataValueType.IsValueType)
-                    {
-                        // this is a pretty expensive check, but we only invoke it when metadata values are null, which is very rare
-                        return false;
-                    }
-                }
-            }
-
-            if (this.RequiredCreationPolicy == CreationPolicy.Any)
-            {
-                return true;
-            }
-
-            CreationPolicy exportPolicy = definition.Metadata.GetValue<CreationPolicy>(CompositionConstants.PartCreationPolicyMetadataName);
-            return exportPolicy == CreationPolicy.Any ||
-                   exportPolicy == this.RequiredCreationPolicy;
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/Export.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/Export.cs
deleted file mode 100644
index e347551..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/Export.cs
+++ /dev/null
@@ -1,245 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.Diagnostics.CodeAnalysis;
-using Microsoft.Internal;
-using System.Threading;
-
-namespace System.ComponentModel.Composition.Primitives
-{
-    /// <summary>
-    ///     Represents an export. That is, a type that is made up of a delay-created exported value 
-    ///     and metadata that describes that object.
-    /// </summary>
-    public class Export
-    {
-        private readonly ExportDefinition _definition;
-        private readonly Func<object> _exportedValueGetter;
-        private static readonly object _EmptyValue = new object();
-        private volatile object _exportedValue = Export._EmptyValue;
-        
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="Export"/> class.
-        /// </summary>
-        /// <remarks>
-        ///     <note type="inheritinfo">
-        ///         Derived types calling this constructor must override <see cref="Definition"/>
-        ///         and <see cref="GetExportedValueCore"/>.
-        ///     </note>
-        /// </remarks>
-        protected Export()
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="Export"/> class 
-        ///     with the specified contract name and exported value getter.
-        /// </summary>
-        /// <param name="contractName">
-        ///     A <see cref="String"/> containing the contract name of the 
-        ///     <see cref="Export"/>.
-        /// </param>
-        /// <param name="exportedValueGetter">
-        ///     A <see cref="Func{T}"/> that is called to create the exported value of the 
-        ///     <see cref="Export"/>. This allows the creation of the object to be delayed
-        /// </param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="contractName"/> is <see langword="null"/>.
-        ///     <para>
-        ///         -or-
-        ///     </para>
-        ///     <paramref name="exportedValueGetter"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="ArgumentException">
-        ///     <paramref name="contractName"/> is an empty string ("").
-        /// </exception>
-        public Export(string contractName, Func<object> exportedValueGetter)
-            : this(new ExportDefinition(contractName, (IDictionary<string, object>)null), exportedValueGetter)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="Export"/> class 
-        ///     with the specified contract name, metadata and exported value getter.
-        /// </summary>
-        /// <param name="contractName">
-        ///     A <see cref="String"/> containing the contract name of the 
-        ///     <see cref="Export"/>.
-        /// </param>
-        /// <param name="metadata">
-        ///     An <see cref="IDictionary{TKey, TValue}"/> containing the metadata of the 
-        ///     <see cref="Export"/>; or <see langword="null"/> to set the 
-        ///     <see cref="Metadata"/> property to an empty, read-only 
-        ///     <see cref="IDictionary{TKey, TValue}"/>.
-        /// </param>
-        /// <param name="exportedValueGetter">
-        ///     A <see cref="Func{T}"/> that is called to create the exported value of the 
-        ///     <see cref="Export"/>. This allows the creation of the object to be delayed.
-        /// </param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="contractName"/> is <see langword="null"/>.
-        ///     <para>
-        ///         -or-
-        ///     </para>
-        ///     <paramref name="exportedValueGetter"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="ArgumentException">
-        ///     <paramref name="contractName"/> is an empty string ("").
-        /// </exception>
-        public Export(string contractName, IDictionary<string, object> metadata, Func<object> exportedValueGetter) 
-            : this(new ExportDefinition(contractName, metadata), exportedValueGetter)
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="Export"/> class 
-        ///     with the specified export definition and exported value getter.
-        /// </summary>
-        /// <param name="definition">
-        ///     An <see cref="ExportDefinition"/> that describes the contract that the 
-        ///     <see cref="Export"/> satisfies.
-        /// </param>
-        /// <param name="exportedValueGetter">
-        ///     A <see cref="Func{T}"/> that is called to create the exported value of the 
-        ///     <see cref="Export"/>. This allows the creation of the object to be delayed. 
-        /// </param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="definition"/> is <see langword="null"/>.
-        ///     <para>
-        ///         -or-
-        ///     </para>
-        ///     <paramref name="exportedValueGetter"/> is <see langword="null"/>.
-        /// </exception>
-        public Export(ExportDefinition definition, Func<object> exportedValueGetter)
-        {
-            Requires.NotNull(definition, "definition");
-            Requires.NotNull(exportedValueGetter, "exportedValueGetter");
-
-            this._definition = definition;
-            this._exportedValueGetter = exportedValueGetter;
-        }
-
-        /// <summary>
-        ///     Gets the definition that describes the contract that the export satisfies.
-        /// </summary>
-        /// <value>
-        ///     An <see cref="ExportDefinition"/> that describes the contract that 
-        ///     the <see cref="Export"/> satisfies.
-        /// </value>
-        /// <exception cref="NotImplementedException">
-        ///     This property was not overridden by a derived class.
-        /// </exception>
-        /// <remarks>
-        ///     <note type="inheritinfo">
-        ///         Overriders of this property should never return
-        ///         <see langword="null"/>.
-        ///     </note>
-        /// </remarks>
-        public virtual ExportDefinition Definition
-        {
-            get 
-            {
-                if (_definition != null)
-                {
-                    return _definition;
-                }
-
-                throw ExceptionBuilder.CreateNotOverriddenByDerived("Definition");
-            }
-        }
-
-        /// <summary>
-        ///     Gets the metadata of the export.
-        /// </summary>
-        /// <value>
-        ///     An <see cref="IDictionary{TKey, TValue}"/> containing the metadata of the 
-        ///     <see cref="Export"/>.
-        /// </value>
-        /// <exception cref="NotImplementedException">
-        ///     The <see cref="Definition"/> property was not overridden by a derived class.
-        /// </exception>
-        /// <remarks>
-        ///     <para>
-        ///         This property returns the value of <see cref="ExportDefinition.Metadata"/>
-        ///         of the <see cref="Definition"/> property.
-        ///     </para>
-        /// </remarks>
-        public IDictionary<string, object> Metadata
-        {
-            get { return Definition.Metadata; }
-        }
-
-        /// <summary>
-        ///     Returns the exported value of the export.
-        /// </summary>
-        /// <returns>
-        ///     The exported <see cref="Object"/> of the <see cref="Export"/>.
-        /// </returns>
-        /// <exception cref="CompositionException">
-        ///     An error occurred during composition. <see cref="CompositionException.Errors"/> will 
-        ///     contain a collection of errors that occurred.
-        /// </exception>
-        /// <exception cref="CompositionContractMismatchException">
-        ///     The current instance is an instance of <see cref="Lazy{T}"/> and the underlying 
-        ///     exported value cannot be cast to <c>T</c>.
-        /// </exception>
-        /// <exception cref="NotImplementedException">
-        ///     The <see cref="GetExportedValueCore"/> method was not overridden by a derived class.
-        /// </exception>
-        public object Value
-        {
-            get
-            {
-                // NOTE : the logic below guarantees that the value will be set exactly once. It DOES NOT, however, guarantee that GetExportedValueCore() will be executed
-                // more than once, as locking would be required for that. The said locking is problematic, as we can't reliable call 3rd party code under a lock.
-                if (this._exportedValue == Export._EmptyValue)
-                {
-                    object exportedValue = this.GetExportedValueCore();
-
-                    // NOTE : According to http://msdn.microsoft.com/en-us/library/4bw5ewxy.aspx, the warning is bogus when used with Interlocked API.
-#pragma warning disable 420
-                    Interlocked.CompareExchange(ref this._exportedValue, exportedValue, Export._EmptyValue);
-#pragma warning restore 420
-                }
-
-                return this._exportedValue;
-            }
-        }
-
-        /// <summary>
-        ///     Returns the exported value of the export.
-        /// </summary>
-        /// <returns>
-        ///     The exported <see cref="Object"/> of the <see cref="Export"/>.
-        /// </returns>
-        /// <exception cref="CompositionException">
-        ///     An error occurred during composition. <see cref="CompositionException.Errors"/> will 
-        ///     contain a collection of errors that occurred.
-        /// </exception>
-        /// <exception cref="CompositionContractMismatchException">
-        ///     The current instance is an instance of <see cref="Lazy{T}"/> and the underlying 
-        ///     exported value cannot be cast to <c>T</c>.
-        /// </exception>
-        /// <exception cref="NotImplementedException">
-        ///     The method was not overridden by a derived class.
-        /// </exception>
-        /// <remarks>
-        ///     <note type="inheritinfo">
-        ///         Overriders of this method should never return
-        ///         <see langword="null"/>.
-        ///     </note>
-        /// </remarks>
-        [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate")]
-        protected virtual object GetExportedValueCore()
-        {
-            if (this._exportedValueGetter != null)
-            {
-                return this._exportedValueGetter.Invoke();
-            }
-
-            throw ExceptionBuilder.CreateNotOverriddenByDerived("GetExportedValueCore");
-        }
-    }   
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ExportDefinition.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ExportDefinition.cs
deleted file mode 100644
index fb3db62..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ExportDefinition.cs
+++ /dev/null
@@ -1,131 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.Primitives
-{
-    /// <summary>
-    ///     Describes the contract that an <see cref="Export"/> object satisfies.
-    /// </summary>
-    public class ExportDefinition
-    {
-        // Unlike contract name, metadata has a sensible default; set it to an empty bag, 
-        // so that derived definitions only need to override ContractName by default.
-        private readonly IDictionary<string, object> _metadata = MetadataServices.EmptyMetadata;
-        private readonly string _contractName;
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ExportDefinition"/> class.
-        /// </summary>
-        /// <remarks>
-        ///     <note type="inheritinfo">
-        ///         Derived types calling this constructor must override <see cref="ContractName"/>
-        ///         and optionally, <see cref="Metadata"/>. By default, <see cref="Metadata"/>
-        ///         returns an empty, read-only dictionary.
-        ///     </note>
-        /// </remarks>
-        protected ExportDefinition()
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ExportDefinition"/> class with 
-        ///     the specified contract name and metadata.
-        /// </summary>
-        /// <param name="contractName">
-        ///     A <see cref="String"/> containing the contract name of the 
-        ///     <see cref="ExportDefinition"/>.
-        /// </param>
-        /// <param name="metadata">
-        ///     An <see cref="IDictionary{TKey, TValue}"/> containing the metadata of the 
-        ///     <see cref="ExportDefinition"/>; or <see langword="null"/> to set the 
-        ///     <see cref="Metadata"/> property to an empty, read-only 
-        ///     <see cref="IDictionary{TKey, TValue}"/>.
-        /// </param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="contractName"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="ArgumentException">
-        ///     <paramref name="contractName"/> is an empty string ("").
-        /// </exception>
-        public ExportDefinition(string contractName, IDictionary<string, object> metadata)
-        {
-            Requires.NotNullOrEmpty(contractName, "contractName");
-
-            _contractName = contractName;
-
-            if (metadata != null)
-            {
-                _metadata = metadata.AsReadOnly();
-            }
-        }
-
-        /// <summary>
-        ///     Gets the contract name of the export definition.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="String"/> containing the contract name of the 
-        ///     <see cref="ExportDefinition"/>.
-        /// </value>
-        /// <exception cref="NotImplementedException">
-        ///     The property was not overridden by a derived class.
-        /// </exception>
-        /// <remarks>
-        ///     <note type="inheritinfo">
-        ///         Overriders of this property should never return <see langword="null"/> 
-        ///         or an empty string ("").
-        ///     </note>
-        /// </remarks>
-        public virtual string ContractName
-        {
-            get 
-            {
-                if (_contractName != null)
-                {
-                    return _contractName;
-                }
-
-                throw ExceptionBuilder.CreateNotOverriddenByDerived("ContractName");
-            }
-        }
-
-        /// <summary>
-        ///     Gets the metadata of the export definition.
-        /// </summary>
-        /// <value>
-        ///     An <see cref="IDictionary{TKey, TValue}"/> containing the metadata of the 
-        ///     <see cref="ExportDefinition"/>. The default is an empty, read-only
-        ///     <see cref="IDictionary{TKey, TValue}"/>.
-        /// </value>
-        /// <remarks>
-        ///     <para>
-        ///         <note type="inheritinfo">
-        ///             Overriders of this property should return a read-only
-        ///             <see cref="IDictionary{TKey, TValue}"/> object with a case-sensitive, 
-        ///             non-linguistic comparer, such as <see cref="StringComparer.Ordinal"/>, 
-        ///             and should never return <see langword="null"/>.
-        ///             If the <see cref="ExportDefinition"/> does not contain metadata 
-        ///             return an empty <see cref="IDictionary{TKey, TValue}"/> instead.
-        ///         </note>
-        ///     </para>
-        /// </remarks>
-        public virtual IDictionary<string, object> Metadata
-        {
-            get { return _metadata; }
-        }
-
-        /// <summary>
-        ///     Returns a string representation of the export definition.
-        /// </summary>
-        /// <returns>
-        ///     A <see cref="String"/> containing the value of the <see cref="ContractName"/> property.
-        /// </returns>
-        public override string ToString()
-        {
-            return this.ContractName;
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ExportedDelegate.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ExportedDelegate.cs
deleted file mode 100644
index 438b0dd..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ExportedDelegate.cs
+++ /dev/null
@@ -1,97 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Diagnostics.CodeAnalysis;
-using System.Reflection;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.Primitives
-{
-    [SuppressMessage("Microsoft.Naming", "CA1711:IdentifiersShouldNotHaveIncorrectSuffix")]
-    public class ExportedDelegate
-    {
-        private object _instance;
-        private MethodInfo _method;
-
-        protected ExportedDelegate() { }
-#if !SILVERLIGHT
-        [System.Security.SecurityCritical]
-#endif
-        public ExportedDelegate(object instance, MethodInfo method)
-        {
-            Requires.NotNull(method, "method");
-
-            this._instance = instance;
-            this._method = method;
-        }
-
-        public virtual Delegate CreateDelegate(Type delegateType) 
-        {
-            Requires.NotNull(delegateType, "delegateType");
-
-            if (delegateType == typeof(Delegate) || delegateType == typeof(MulticastDelegate))
-            {
-                Type funcOrAction = ConvertMethodInfoToFuncOrActionType(this._method);
-
-                if (funcOrAction != null)
-                {
-                    delegateType = funcOrAction;
-                }
-                else
-                {
-                    return null;
-                }
-            }
-
-            return Delegate.CreateDelegate(delegateType, this._instance, this._method, false);
-        }
-
-        private static Type[] _funcTypes = 
-        { 
-            typeof(Func<>), typeof(Func<,>), typeof(Func<,,>), typeof(Func<,,,>), typeof(Func<,,,,>) 
-#if CLR40 && !SILVERLIGHT
-            , typeof(Func<,,,,,>), typeof(Func<,,,,,,>), typeof(Func<,,,,,,,>), typeof(Func<,,,,,,,,>)
-#endif 
-        };
-
-        private static Type[] _actionTypes = 
-        { 
-            typeof(Action), typeof(Action<>), typeof(Action<,>), typeof(Action<,,>), typeof(Action<,,,>) 
-#if CLR40 && !SILVERLIGHT
-            , typeof(Action<,,,,>), typeof(Action<,,,,,>), typeof(Action<,,,,,,>), typeof(Action<,,,,,,,>)
-#endif
-        };
-
-        private static Type ConvertMethodInfoToFuncOrActionType(MethodInfo method)
-        {
-            ParameterInfo[] parameters = method.GetParameters();
-
-            bool isVoid = method.ReturnType == typeof(void);
-            Type[] typeArray = isVoid ? _actionTypes : _funcTypes;
-
-            if (parameters.Length >= typeArray.Length)
-            {
-                return null;
-            }
-
-            Type[] genericArgTypes = new Type[parameters.Length + (isVoid ? 0 : 1)];
-
-            for (int i = 0; i < parameters.Length; i++)
-            {
-                genericArgTypes[i] = parameters[i].ParameterType;
-            }
-
-            if (!isVoid)
-            {
-                genericArgTypes[parameters.Length] = method.ReturnType;
-            }
-
-            Type delegateType = typeArray[parameters.Length].IsGenericType ?
-                typeArray[parameters.Length].MakeGenericType(genericArgTypes) :
-                typeArray[parameters.Length];
-
-            return delegateType;
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ICompositionElement.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ICompositionElement.cs
deleted file mode 100644
index 32ff5f7..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ICompositionElement.cs
+++ /dev/null
@@ -1,44 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-
-namespace System.ComponentModel.Composition.Primitives
-{
-    /// <summary>
-    ///     Represents an element that participates in composition.
-    /// </summary>
-    public interface ICompositionElement
-    {
-        /// <summary>
-        ///     Gets the display name of the composition element.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="String"/> containing a human-readable display name of the <see cref="ICompositionElement"/>.
-        /// </value>
-        /// <remarks>
-        ///     <note type="implementnotes">
-        ///         Implementors of this property should never return <see langword="null"/> or an empty 
-        ///         string ("").
-        ///     </note>
-        /// </remarks>
-        string DisplayName
-        {
-            get;
-        }
-
-        /// <summary>
-        ///     Gets the composition element from which the current composition element
-        ///     originated.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="ICompositionElement"/> from which the current 
-        ///     <see cref="ICompositionElement"/> originated, or <see langword="null"/> 
-        ///     if the <see cref="ICompositionElement"/> is the root composition element.
-        /// </value>
-        ICompositionElement Origin
-        {
-            get;
-        }
-    }
-}
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/IPartCreatorImportDefinition.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/IPartCreatorImportDefinition.cs
deleted file mode 100644
index 27ac034..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/IPartCreatorImportDefinition.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-
-namespace System.ComponentModel.Composition.Primitives
-{
-    internal interface IPartCreatorImportDefinition
-    {
-        ContractBasedImportDefinition ProductImportDefinition { get; }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ImportCardinality.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ImportCardinality.cs
deleted file mode 100644
index 5ce945f..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ImportCardinality.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-
-namespace System.ComponentModel.Composition.Primitives
-{
-    /// <summary>
-    ///     Indicates the cardinality of the <see cref="Export"/> objects required by an <see cref="ImportDefinition"/>.
-    /// </summary>
-    public enum ImportCardinality
-    {
-        /// <summary>
-        ///     Zero or one <see cref="Export"/> objects are required by an <see cref="ImportDefinition"/>.
-        /// </summary>
-        ZeroOrOne = 0,
-
-        /// <summary>
-        ///     Exactly one <see cref="Export"/> object is required by an <see cref="ImportDefinition"/>.
-        /// </summary>
-        ExactlyOne = 1,
-
-        /// <summary>
-        ///     Zero or more <see cref="Export"/> objects are required by an <see cref="ImportDefinition"/>.
-        /// </summary>
-        ZeroOrMore = 2,
-    }
-}
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ImportDefinition.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ImportDefinition.cs
deleted file mode 100644
index cff9886..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/ImportDefinition.cs
+++ /dev/null
@@ -1,236 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Diagnostics.CodeAnalysis;
-using System.Globalization;
-using System.Linq.Expressions;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.Primitives
-{
-    /// <summary>
-    ///     Represents an import required by a <see cref="ComposablePart"/> object.
-    /// </summary>
-    public class ImportDefinition
-    {
-        internal static readonly string EmptyContractName = string.Empty;
-        private readonly Expression<Func<ExportDefinition, bool>> _constraint;
-        private readonly ImportCardinality _cardinality = ImportCardinality.ExactlyOne;
-        private readonly string _contractName = EmptyContractName;
-        private readonly bool _isRecomposable;
-        private readonly bool _isPrerequisite = true;
-        private Func<ExportDefinition, bool> _compiledConstraint;
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ImportDefinition"/> class.
-        /// </summary>
-        /// <remarks>
-        ///     <note type="inheritinfo">
-        ///         Derived types calling this constructor must override the <see cref="Constraint"/> 
-        ///         property, and optionally, the <see cref="Cardinality"/>, <see cref="IsPrerequisite"/> 
-        ///         and <see cref="IsRecomposable"/> 
-        ///         properties.
-        ///     </note>
-        /// </remarks>
-        protected ImportDefinition()
-        {
-        }
-
-        /// <summary>
-        ///     Initializes a new instance of the <see cref="ImportDefinition"/> class 
-        ///     with the specified constraint, cardinality, value indicating if the import 
-        ///     definition is recomposable and a value indicating if the import definition 
-        ///     is a prerequisite.
-        /// </summary>
-        /// <param name="constraint">
-        ///     A <see cref="Expression{TDelegate}"/> containing a <see cref="Func{T, TResult}"/> 
-        ///     that defines the conditions that must be matched for the <see cref="ImportDefinition"/> 
-        ///     to be satisfied by an <see cref="Export"/>.
-        /// </param>
-        /// <param name="contractName">
-        ///     The contract name of the export that this import is interested in. The contract name
-        ///     property is used as guidance and not automatically enforced in the constraint. If 
-        ///     the contract name is a required in the constraint then it should be added to the constraint
-        ///     by the caller of this constructor.
-        /// </param>
-        /// <param name="cardinality">
-        ///     One of the <see cref="ImportCardinality"/> values indicating the 
-        ///     cardinality of the <see cref="Export"/> objects required by the
-        ///     <see cref="ImportDefinition"/>.
-        /// </param>
-        /// <param name="isRecomposable">
-        ///     <see langword="true"/> if the <see cref="ImportDefinition"/> can be satisfied 
-        ///     multiple times throughout the lifetime of a <see cref="ComposablePart"/>, otherwise, 
-        ///     <see langword="false"/>.
-        /// </param>
-        /// <param name="isPrerequisite">
-        ///     <see langword="true"/> if the <see cref="ImportDefinition"/> is required to be 
-        ///     satisfied before a <see cref="ComposablePart"/> can start producing exported 
-        ///     objects; otherwise, <see langword="false"/>.
-        /// </param>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="constraint"/> is <see langword="null"/>.
-        /// </exception>
-        /// <exception cref="ArgumentException">
-        ///     <paramref name="cardinality"/> is not one of the <see cref="ImportCardinality"/> 
-        ///     values.
-        /// </exception>
-        [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
-        public ImportDefinition(Expression<Func<ExportDefinition, bool>> constraint, string contractName, ImportCardinality cardinality, bool isRecomposable, bool isPrerequisite)
-            : this(contractName, cardinality, isRecomposable, isPrerequisite)
-        {
-            Requires.NotNull(constraint, "constraint");
-
-            this._constraint = constraint;
-        }
-
-        internal ImportDefinition(string contractName, ImportCardinality cardinality, bool isRecomposable, bool isPrerequisite)
-        {
-            if (
-                (cardinality != ImportCardinality.ExactlyOne) &&
-                (cardinality != ImportCardinality.ZeroOrMore) &&
-                (cardinality != ImportCardinality.ZeroOrOne)
-                )
-            {
-                throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, Strings.ArgumentOutOfRange_InvalidEnum, "cardinality", cardinality, typeof(ImportCardinality).Name), "cardinality");
-            }
-
-            this._contractName = contractName ?? EmptyContractName;
-            this._cardinality = cardinality;
-            this._isRecomposable = isRecomposable;
-            this._isPrerequisite = isPrerequisite;
-        }
-
-        /// <summary>
-        ///     Gets the contract name of the export required by the import definition.
-        /// </summary>
-        /// <value>
-        ///     A <see cref="String"/> containing the contract name of the <see cref="Export"/> 
-        ///     required by the <see cref="ContractBasedImportDefinition"/>. This property should
-        ///     return <see cref="String.Empty"/> for imports that do not require a specific 
-        ///     contract name.
-        /// </value>
-        public virtual string ContractName
-        {
-            get { return this._contractName; }
-        }
-
-        /// <summary>
-        ///     Gets the cardinality of the exports required by the import definition.
-        /// </summary>
-        /// <value>
-        ///     One of the <see cref="ImportCardinality"/> values indicating the 
-        ///     cardinality of the <see cref="Export"/> objects required by the
-        ///     <see cref="ImportDefinition"/>. The default is 
-        ///     <see cref="ImportCardinality.ExactlyOne"/>
-        /// </value>
-        public virtual ImportCardinality Cardinality
-        {
-            get { return this._cardinality; }
-        }
-
-        /// <summary>
-        ///     Gets an expression that defines conditions that must be matched for the import 
-        ///     described by the import definition to be satisfied.
-        /// </summary>
-        /// <returns>
-        ///     A <see cref="Expression{TDelegate}"/> containing a <see cref="Func{T, TResult}"/> 
-        ///     that defines the conditions that must be matched for the 
-        ///     <see cref="ImportDefinition"/> to be satisfied by an <see cref="Export"/>.
-        /// </returns>
-        /// <exception cref="NotImplementedException">
-        ///     The property was not overridden by a derived class.
-        /// </exception>
-        /// <remarks>
-        ///     <note type="inheritinfo">
-        ///         Overriders of this property should never return <see langword="null"/>.
-        ///     </note>
-        /// </remarks>
-        [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
-        public virtual Expression<Func<ExportDefinition, bool>> Constraint
-        {
-            get
-            {
-                if (this._constraint != null)
-                {
-                    return this._constraint;
-                }
-
-                throw ExceptionBuilder.CreateNotOverriddenByDerived("Constraint");
-            }
-        }
-
-        /// <summary>
-        ///     Gets a value indicating whether the import definition is required to be 
-        ///     satisfied before a part can start producing exported values.
-        /// </summary>
-        /// <value>
-        ///     <see langword="true"/> if the <see cref="ImportDefinition"/> is required to be 
-        ///     satisfied before a <see cref="ComposablePart"/> can start producing exported 
-        ///     objects; otherwise, <see langword="false"/>. The default is <see langword="true"/>.
-        /// </value>
-        public virtual bool IsPrerequisite
-        {
-            get { return this._isPrerequisite; }
-        }
-
-        /// <summary>
-        ///     Gets a value indicating whether the import definition can be satisfied multiple times.
-        /// </summary>
-        /// <value>
-        ///     <see langword="true"/> if the <see cref="ImportDefinition"/> can be satisfied 
-        ///     multiple times throughout the lifetime of a <see cref="ComposablePart"/>, otherwise, 
-        ///     <see langword="false"/>. The default is <see langword="false"/>.
-        /// </value>
-        public virtual bool IsRecomposable
-        {
-            get { return this._isRecomposable; }
-        }
-
-        /// <summary>
-        ///     Executes of the constraint provided by the <see cref="Constraint"/> property
-        ///     against a given <see cref="ExportDefinition"/> to determine if this 
-        ///     <see cref="ImportDefinition"/> can be satisfied by the given <see cref="Export"/>.
-        /// </summary>
-        /// <param name="exportDefinition">
-        ///     A definition for a <see cref="Export"/> used to determine if it satisfies the
-        ///     requirements for this <see cref="ImportDefinition"/>.
-        /// </param>
-        /// <returns>
-        ///     <see langword="True"/> if the <see cref="Export"/> satisfies the requirements for
-        ///     this <see cref="ImportDefinition"/>, otherwise returns <see langword="False"/>.
-        /// </returns>
-        /// <remarks>
-        ///     <note type="inheritinfo">
-        ///         Overrides of this method can provide a more optimized execution of the 
-        ///         <see cref="Constraint"/> property but the result should remain consistent.
-        ///     </note>
-        /// </remarks>
-        /// <exception cref="ArgumentNullException">
-        ///     <paramref name="exportDefinition"/> is <see langword="null"/>.
-        /// </exception>
-        public virtual bool IsConstraintSatisfiedBy(ExportDefinition exportDefinition)
-        {
-            Requires.NotNull(exportDefinition, "exportDefinition");
-
-            if (this._compiledConstraint == null)
-            {
-                this._compiledConstraint = this.Constraint.Compile();
-            }
-
-            return this._compiledConstraint.Invoke(exportDefinition);
-        }
-
-        /// <summary>
-        ///     Returns a string representation of the import definition.
-        /// </summary>
-        /// <returns>
-        ///     A <see cref="String"/> containing the value of the <see cref="Constraint"/> property.
-        /// </returns>
-        public override string ToString()
-        {
-            return this.Constraint.Body.ToString();
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/SerializableCompositionElement.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/SerializableCompositionElement.cs
deleted file mode 100644
index 45958bc..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/Primitives/SerializableCompositionElement.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.Primitives
-{
-    // As most objects that implement ICompositionElement (such as Export, ComposablePart, 
-    // ComposablePartCatalog, etc) are not serializable, this class is used as a serializable 
-    // placeholder for these types when ICompositionElement is used within serializable types,
-    // such as CompositionException, CompositionIssue, etc.
-    [Serializable]
-    internal class SerializableCompositionElement : ICompositionElement
-    {
-        private readonly string _displayName;
-        private readonly ICompositionElement _origin;
-
-        public SerializableCompositionElement(string displayName, ICompositionElement origin)
-        {
-#if !SILVERLIGHT
-            Assumes.IsTrue(origin == null || origin.GetType().IsSerializable);
-#endif
-            this._displayName = displayName ?? string.Empty;
-            this._origin = origin;
-        }
-
-        public string DisplayName
-        {
-            get { return this._displayName; }
-        }
-
-        public ICompositionElement Origin
-        {
-            get { return this._origin; }
-        }
-
-        public override string ToString()
-        {
-            return this.DisplayName;
-        }
-
-        public static ICompositionElement FromICompositionElement(ICompositionElement element)
-        {
-            if (element == null)
-            {   // Null is always serializable   
-
-                return null;
-            }
-
-            ICompositionElement origin = FromICompositionElement(element.Origin);
-
-            // Otherwise, we need to create a serializable wrapper
-            return new SerializableCompositionElement(element.DisplayName, origin);
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/DisposableReflectionComposablePart.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/DisposableReflectionComposablePart.cs
deleted file mode 100644
index c883d1d..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/DisposableReflectionComposablePart.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-using System.Diagnostics.CodeAnalysis;
-using System.Globalization;
-using System.Linq;
-using System.Reflection;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-using System.Threading;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    internal sealed class DisposableReflectionComposablePart : ReflectionComposablePart, IDisposable
-    {
-        private volatile int _isDisposed = 0;
-
-        public DisposableReflectionComposablePart(ReflectionComposablePartDefinition definition)
-            : base(definition)
-        {
-        }
-
-        protected override void ReleaseInstanceIfNecessary(object instance)
-        {
-            IDisposable disposable = instance as IDisposable;
-            if (disposable != null)
-            {
-                disposable.Dispose();
-            }
-        }
-
-        protected override void EnsureRunning()
-        {
-            base.EnsureRunning();
-            if (this._isDisposed == 1)
-            {
-                throw ExceptionBuilder.CreateObjectDisposed(this);
-            }
-        }
-
-        void IDisposable.Dispose()
-        {
-            // NOTE : According to http://msdn.microsoft.com/en-us/library/4bw5ewxy.aspx, the warning is bogus when used with Interlocked API.
-#pragma warning disable 420
-            if (Interlocked.CompareExchange(ref this._isDisposed, 1, 0) == 0)
-#pragma warning restore 420
-            {
-                this.ReleaseInstanceIfNecessary(this.CachedInstance);
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ExportingMember.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ExportingMember.cs
deleted file mode 100644
index 44dbcea..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ExportingMember.cs
+++ /dev/null
@@ -1,93 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-using System.Globalization;
-using System.Reflection;
-using Microsoft.Internal;
-using System.Threading;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    internal class ExportingMember
-    {
-        private readonly ExportDefinition _definition;
-        private readonly ReflectionMember _member;
-        private object _cachedValue = null;
-        private volatile bool _isValueCached = false;
-
-        public ExportingMember(ExportDefinition definition, ReflectionMember member)
-        {
-            Assumes.NotNull(definition, member);
-
-            this._definition = definition;
-            this._member = member;
-        }
-
-        public bool RequiresInstance
-        {
-            get { return _member.RequiresInstance; }
-        }
-
-        public ExportDefinition Definition
-        {
-            get { return _definition; }
-        }
-
-        public object GetExportedValue(object instance, object @lock)
-        {
-            this.EnsureReadable();
-
-            if (!this._isValueCached)
-            {
-                object exportedValue;
-                try
-                {
-                    exportedValue = this._member.GetValue(instance);
-                }
-                catch (TargetInvocationException exception)
-                {   // Member threw an exception. Avoid letting this 
-                    // leak out as a 'raw' unhandled exception, instead,
-                    // we'll add some context and rethrow.
-
-                    throw new ComposablePartException(
-                        CompositionErrorId.ReflectionModel_ExportThrewException,
-                        String.Format(CultureInfo.CurrentCulture,
-                            Strings.ReflectionModel_ExportThrewException,
-                            this._member.GetDisplayName()),
-                        Definition.ToElement(),
-                        exception.InnerException);
-                }
-
-                lock (@lock)
-                {
-                    if (!this._isValueCached)
-                    {
-                        this._cachedValue = exportedValue;
-                        Thread.MemoryBarrier();
-
-                        this._isValueCached = true;
-                    }
-                }
-            }
-
-            return this._cachedValue;
-        }
-
-        private void EnsureReadable()
-        {
-            if (!this._member.CanRead)
-            {   // Property does not have a getter
-
-                throw new ComposablePartException(
-                    CompositionErrorId.ReflectionModel_ExportNotReadable,
-                    String.Format(CultureInfo.CurrentCulture, 
-                        Strings.ReflectionModel_ExportNotReadable,
-                        this._member.GetDisplayName()),
-                    Definition.ToElement());
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/IReflectionPartCreationInfo.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/IReflectionPartCreationInfo.cs
deleted file mode 100644
index fa43610..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/IReflectionPartCreationInfo.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Primitives;
-using System.Reflection;
-using System.Threading;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    internal interface IReflectionPartCreationInfo : ICompositionElement
-    {
-        Type GetPartType();
-        Lazy<Type> GetLazyPartType();
-        ConstructorInfo GetConstructor();
-        IDictionary<string, object> GetMetadata();
-        IEnumerable<ExportDefinition> GetExports();
-        IEnumerable<ImportDefinition> GetImports();
-        bool IsDisposalRequired { get; }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ImportType.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ImportType.cs
deleted file mode 100644
index 776c54b..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ImportType.cs
+++ /dev/null
@@ -1,140 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Primitives;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-using System.Reflection;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    // Describes the import type of a Reflection-based import definition
-    internal class ImportType
-    {
-        private static readonly Type LazyOfTType = typeof(Lazy<>);
-        private static readonly Type LazyOfTMType = typeof(Lazy<,>);
-        private const string ExportFactoryTypeName = "System.ComponentModel.Composition.ExportFactory";
-
-        private readonly Type _type;
-        private readonly bool _isAssignableCollectionType;
-        private readonly Type _contractType;
-        private Func<Export, object> _castSingleValue;
-
-        public ImportType(Type type, ImportCardinality cardinality)
-        {
-            Assumes.NotNull(type);
-
-            this._type = type;
-            this._contractType = type;
-
-            if (cardinality == ImportCardinality.ZeroOrMore)
-            {
-                this._isAssignableCollectionType = IsTypeAssignableCollectionType(type);
-                this._contractType = CheckForCollection(type);
-            }
-
-            this._contractType = CheckForLazyAndPartCreator(this._contractType);
-        }
-
-        public bool IsAssignableCollectionType
-        {
-            get { return this._isAssignableCollectionType; }
-        }
-
-        public Type ElementType { get; private set; }
-
-        public Type ActualType
-        {
-            get { return this._type; }
-        }
-
-        public bool IsPartCreator { get; private set; }
-
-        public Type ContractType { get { return this._contractType; } }
-
-        public Func<Export, object> CastExport { get { return this._castSingleValue; } }
-
-        public Type MetadataViewType { get; private set; }
-
-        private Type CheckForCollection(Type type)
-        {
-            this.ElementType = CollectionServices.GetEnumerableElementType(type);
-            if (this.ElementType != null)
-            {
-                return this.ElementType;
-            }
-            return type;
-        }
-
-        private Type CheckForLazyAndPartCreator(Type type)
-        {
-            if (type.IsGenericType)
-            {
-                Type genericType = type.GetGenericTypeDefinition();
-                Type[] arguments = type.GetGenericArguments();
-
-                if (genericType == LazyOfTType)
-                {
-                    this._castSingleValue = ExportServices.CreateStronglyTypedLazyFactory(arguments[0], null);
-                    return arguments[0];
-                }
-
-                if (genericType == LazyOfTMType)
-                {
-                    this.MetadataViewType = arguments[1];
-                    this._castSingleValue = ExportServices.CreateStronglyTypedLazyFactory(arguments[0], arguments[1]);
-                    return arguments[0];
-                }
-
-                if (
-                    type.FullName.StartsWith(ExportFactoryTypeName, StringComparison.Ordinal) && 
-                    ((arguments.Length == 1) || (arguments.Length == 2)))
-                {
-                    // Func<Tuple<T, Action>>
-                    Type exportLifetimeContextCreatorType = typeof(Func<>).MakeGenericType(typeof(Tuple<,>).MakeGenericType(arguments[0], typeof(Action)));
-                    ConstructorInfo constructor = null;
-
-                    if (arguments.Length == 1)
-                    {
-                        constructor = type.GetConstructor(new Type[] { exportLifetimeContextCreatorType });
-                    }
-                    else
-                    {
-                        Assumes.IsTrue(arguments.Length == 2);
-                        constructor = type.GetConstructor(new Type[] { exportLifetimeContextCreatorType, arguments[1] });
-                    }
-
-                    if (constructor != null)
-                    {
-                        this.IsPartCreator = true;
-                        if (arguments.Length == 1)
-                        {
-                            this._castSingleValue = ExportServices.CreateStronglyTypedExportFactoryFactory(arguments[0], null, constructor);
-                        }
-                        else
-                        {
-                            Assumes.IsTrue(arguments.Length == 2);
-                            this._castSingleValue = ExportServices.CreateStronglyTypedExportFactoryFactory(arguments[0], arguments[1], constructor);
-                            this.MetadataViewType = arguments[1];
-                        }
-
-                        return arguments[0];
-                    }
-                }
-            }
-
-            return type;
-        }
-
-        private static bool IsTypeAssignableCollectionType(Type type)
-        {
-            if (type.IsArray || CollectionServices.IsEnumerableOfT(type))
-            {
-                return true;
-            }
-
-            return false;
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ImportingItem.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ImportingItem.cs
deleted file mode 100644
index c45245e..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ImportingItem.cs
+++ /dev/null
@@ -1,116 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-using System.Globalization;
-using System.Linq;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    internal abstract class ImportingItem
-    {
-        private readonly ContractBasedImportDefinition _definition;
-        private readonly ImportType _importType;
-
-        protected ImportingItem(ContractBasedImportDefinition definition, ImportType importType)
-        {
-            Assumes.NotNull(definition);
-
-            this._definition = definition;
-            this._importType = importType;
-        }
-
-        public ContractBasedImportDefinition Definition
-        {
-            get { return this._definition; }
-        }
-
-        public ImportType ImportType
-        {
-            get { return this._importType; }
-        }
-
-        public object CastExportsToImportType(Export[] exports)
-        {
-            if (this.Definition.Cardinality == ImportCardinality.ZeroOrMore)
-            {
-                return CastExportsToCollectionImportType(exports);
-            }
-            else
-            {
-                return CastExportsToSingleImportType(exports);
-            }
-        }
-
-        private object CastExportsToCollectionImportType(Export[] exports)
-        {
-            Assumes.NotNull(exports);
-
-            // Element type could be null if the actually import type of the member is not a collection
-            // This particular case will end up failing when we set the member.
-            Type elementType = this.ImportType.ElementType ?? typeof(object);
-
-            Array array = Array.CreateInstance(elementType, exports.Length);
-
-            for (int i = 0; i < array.Length; i++)
-            {
-                object value = CastSingleExportToImportType(elementType, exports[i]);
-
-                array.SetValue(value, i);
-            }
-
-            return array;
-        }
-
-        private object CastExportsToSingleImportType(Export[] exports)
-        {
-            Assumes.NotNull(exports);
-            Assumes.IsTrue(exports.Length < 2);
-
-            if (exports.Length == 0)
-            {   
-                return null;
-            }
-
-            return CastSingleExportToImportType(this.ImportType.ActualType, exports[0]);
-        }
-
-        private object CastSingleExportToImportType(Type type, Export export)
-        {
-            if (this.ImportType.CastExport != null)
-            {
-                return this.ImportType.CastExport(export);
-            }
-
-            return Cast(type, export);
-        }
-
-        private object Cast(Type type, Export export)
-        {
-            // TODO: Need to catch CompositionException to provide
-            // additional information about what member we're setting
-            // and the current dependency graph.
-            object value = export.Value;
-
-            object result;
-            if (!ContractServices.TryCast(type, value, out result))
-            {
-                throw new ComposablePartException(
-                    CompositionErrorId.ReflectionModel_ImportNotAssignableFromExport,
-                    String.Format(CultureInfo.CurrentCulture,
-                        Strings.ReflectionModel_ImportNotAssignableFromExport,
-                        export.ToElement().DisplayName,
-                        type.FullName),
-                    this.Definition.ToElement());
-            }
-
-            return result;
-        }
-    }
-}
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ImportingMember.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ImportingMember.cs
deleted file mode 100644
index 723131f..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ImportingMember.cs
+++ /dev/null
@@ -1,253 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-using System.Collections.Generic;
-using System.Diagnostics.CodeAnalysis;
-using System.Globalization;
-using System.Reflection;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    internal class ImportingMember : ImportingItem
-    {
-        private readonly ReflectionWritableMember _member;
-
-        public ImportingMember(ContractBasedImportDefinition definition, ReflectionWritableMember member, ImportType importType)
-            : base(definition, importType)
-        {
-            Assumes.NotNull(definition, member);
-
-            this._member = member;
-        }
-
-        public void SetExportedValue(object instance, object value)
-        {
-            if (RequiresCollectionNormalization())
-            {
-                this.SetCollectionMemberValue(instance, (IEnumerable)value);
-            }
-            else
-            {
-                this.SetSingleMemberValue(instance, value);
-            }
-        }
-
-        private bool RequiresCollectionNormalization()
-        {
-            if (this.Definition.Cardinality != ImportCardinality.ZeroOrMore)
-            {   // If we're not looking at a collection import, then don't 
-                // 'normalize' the collection.
-
-                return false;
-            }
-
-            if (this._member.CanWrite && this.ImportType.IsAssignableCollectionType)
-            {   // If we can simply replace the entire value of the property/field, then 
-                // we don't need to 'normalize' the collection.
-
-                return false;
-            }
-
-            return true;
-        }
-
-        private void SetSingleMemberValue(object instance, object value)
-        {
-            EnsureWritable();
-
-            try
-            {
-                this._member.SetValue(instance, value);
-            }
-            catch (TargetInvocationException exception)
-            {   // Member threw an exception. Avoid letting this 
-                // leak out as a 'raw' unhandled exception, instead,
-                // we'll add some context and rethrow.
-
-                throw new ComposablePartException(
-                    CompositionErrorId.ReflectionModel_ImportThrewException,
-                    String.Format(CultureInfo.CurrentCulture,
-                        Strings.ReflectionModel_ImportThrewException,
-                        this._member.GetDisplayName()),
-                    Definition.ToElement(),
-                    exception.InnerException);
-            }
-        }
-
-        private void EnsureWritable()
-        {
-            if (!this._member.CanWrite)
-            {   // Property does not have a setter, or 
-                // field is marked as read-only.
-
-                throw new ComposablePartException(
-                    CompositionErrorId.ReflectionModel_ImportNotWritable,
-                    String.Format(CultureInfo.CurrentCulture,
-                        Strings.ReflectionModel_ImportNotWritable,
-                        this._member.GetDisplayName()),
-                        Definition.ToElement());
-            }
-        }
-
-        private void SetCollectionMemberValue(object instance, IEnumerable values)
-        {
-            Assumes.NotNull(values);
-
-            ICollection<object> collection = null;
-            Type itemType = CollectionServices.GetCollectionElementType(this.ImportType.ActualType);
-            if (itemType != null)
-            {
-                collection = GetNormalizedCollection(itemType, instance);
-            }
-
-            EnsureCollectionIsWritable(collection);
-            PopulateCollection(collection, values);
-        }
-
-        private ICollection<object> GetNormalizedCollection(Type itemType, object instance)
-        {
-            Assumes.NotNull(itemType);
-
-            object collectionObject = null;
-
-            if (this._member.CanRead)
-            {
-                try
-                {
-                    collectionObject = this._member.GetValue(instance);
-                }
-                catch (TargetInvocationException exception)
-                {
-                    throw new ComposablePartException(
-                        CompositionErrorId.ReflectionModel_ImportCollectionGetThrewException,
-                        String.Format(CultureInfo.CurrentCulture,
-                            Strings.ReflectionModel_ImportCollectionGetThrewException,
-                            this._member.GetDisplayName()),
-                        this.Definition.ToElement(),
-                        exception.InnerException);
-                }
-            }
-
-            if (collectionObject == null)
-            {
-                ConstructorInfo constructor = this.ImportType.ActualType.GetConstructor(Type.EmptyTypes);
-
-                // If it contains a default public constructor create a new instance.
-                if (constructor != null)
-                {
-                    try
-                    {
-                        collectionObject = constructor.SafeInvoke();
-                    }
-                    catch (TargetInvocationException exception)
-                    {
-                        throw new ComposablePartException(
-                            CompositionErrorId.ReflectionModel_ImportCollectionConstructionThrewException,
-                            String.Format(CultureInfo.CurrentCulture,
-                                Strings.ReflectionModel_ImportCollectionConstructionThrewException,
-                                this._member.GetDisplayName(),
-                                this.ImportType.ActualType.FullName),
-                            this.Definition.ToElement(),
-                            exception.InnerException);
-                    }
-
-                    SetSingleMemberValue(instance, collectionObject);
-                }
-            }
-
-            if (collectionObject == null)
-            {
-                throw new ComposablePartException(
-                    CompositionErrorId.ReflectionModel_ImportCollectionNull,
-                    String.Format(CultureInfo.CurrentCulture,
-                        Strings.ReflectionModel_ImportCollectionNull,
-                        this._member.GetDisplayName()),
-                    this.Definition.ToElement());
-            }
-
-            return CollectionServices.GetCollectionWrapper(itemType, collectionObject);
-        }
-
-        [SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")]
-        private void EnsureCollectionIsWritable(ICollection<object> collection)
-        {
-            bool isReadOnly = true;
-                
-            try
-            {
-                if (collection != null)
-                {
-                    isReadOnly = collection.IsReadOnly;
-                }
-            }
-            catch (Exception exception)
-            {
-                throw new ComposablePartException(
-                    CompositionErrorId.ReflectionModel_ImportCollectionIsReadOnlyThrewException,
-                    String.Format(CultureInfo.CurrentCulture,
-                        Strings.ReflectionModel_ImportCollectionIsReadOnlyThrewException,
-                        this._member.GetDisplayName(),
-                        collection.GetType().FullName),
-                    this.Definition.ToElement(),
-                    exception);
-            }
-
-            if (isReadOnly)
-            {
-                throw new ComposablePartException(
-                    CompositionErrorId.ReflectionModel_ImportCollectionNotWritable,
-                    String.Format(CultureInfo.CurrentCulture,
-                        Strings.ReflectionModel_ImportCollectionNotWritable,
-                        this._member.GetDisplayName()),
-                    this.Definition.ToElement());
-            }
-        }
-
-        [SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")]
-        private void PopulateCollection(ICollection<object> collection, IEnumerable values)
-        {
-            Assumes.NotNull(collection, values);
-
-            try
-            {
-                collection.Clear();
-            }
-            catch (Exception exception)
-            {
-                throw new ComposablePartException(
-                    CompositionErrorId.ReflectionModel_ImportCollectionClearThrewException,
-                    String.Format(CultureInfo.CurrentCulture,
-                        Strings.ReflectionModel_ImportCollectionClearThrewException,
-                        this._member.GetDisplayName(),
-                        collection.GetType().FullName),
-                    this.Definition.ToElement(),
-                    exception);
-            }
-
-            foreach (object value in values)
-            {
-                try
-                {
-                    collection.Add(value);
-                }
-                catch (Exception exception)
-                {
-                    throw new ComposablePartException(
-                        CompositionErrorId.ReflectionModel_ImportCollectionAddThrewException,
-                        String.Format(CultureInfo.CurrentCulture,
-                            Strings.ReflectionModel_ImportCollectionAddThrewException,
-                            this._member.GetDisplayName(),
-                            collection.GetType().FullName),
-                        this.Definition.ToElement(),
-                        exception);
-                }
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ImportingParameter.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ImportingParameter.cs
deleted file mode 100644
index 0b1d15f..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ImportingParameter.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Primitives;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    internal class ImportingParameter : ImportingItem
-    {
-        public ImportingParameter(ContractBasedImportDefinition definition, ImportType importType)
-            : base(definition, importType)
-        {
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/LazyMemberInfo.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/LazyMemberInfo.cs
deleted file mode 100644
index f59e3c6..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/LazyMemberInfo.cs
+++ /dev/null
@@ -1,207 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Diagnostics.CodeAnalysis;
-using System.Globalization;
-using System.Linq;
-using System.Reflection;
-using System.Threading;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    public struct LazyMemberInfo
-    {
-        private readonly MemberTypes _memberType;
-        private MemberInfo[] _accessors;
-        private readonly Func<MemberInfo[]> _accessorsCreator;
-
-        public LazyMemberInfo(MemberInfo member)
-        {
-            Requires.NotNull(member, "member");
-            EnsureSupportedMemberType(member.MemberType, "member");
-
-            this._accessorsCreator = null;
-            this._memberType = member.MemberType;
-            
-            switch(this._memberType)
-            {
-                case MemberTypes.Property:
-                    PropertyInfo property = (PropertyInfo)member;
-                    Assumes.NotNull(property);
-                    this._accessors = new MemberInfo[] { property.GetGetMethod(true), property.GetSetMethod(true) };
-                    break;
-                case MemberTypes.Event:
-                    EventInfo event_ = (EventInfo)member;
-                    this._accessors = new MemberInfo[] { event_.GetRaiseMethod(true), event_.GetAddMethod(true), event_.GetRemoveMethod(true) };
-                    break;
-                default:
-                    this._accessors = new MemberInfo[] { member };
-                    break;
-            }
-        }
-
-        public LazyMemberInfo(MemberTypes memberType, params MemberInfo[] accessors)
-        {
-            EnsureSupportedMemberType(memberType, "memberType");
-            Requires.NotNull(accessors, "accessors");
-            
-            string errorMessage;
-            if (!LazyMemberInfo.AreAccessorsValid(memberType, accessors, out errorMessage))
-            {
-                throw new ArgumentException(errorMessage, "accessors");
-            }
-
-            this._memberType = memberType;
-            this._accessors = accessors;
-            this._accessorsCreator = null;
-        }
-
-        public LazyMemberInfo(MemberTypes memberType, Func<MemberInfo[]> accessorsCreator)
-        {
-            EnsureSupportedMemberType(memberType, "memberType");
-            Requires.NotNull(accessorsCreator, "accessorsCreator");
-
-            this._memberType = memberType;
-            this._accessors = null;
-            this._accessorsCreator = accessorsCreator;
-        }
-
-        public MemberTypes MemberType
-        {
-            get { return this._memberType; }
-        }
-
-        public MemberInfo[] GetAccessors()
-        {
-            if ((this._accessors == null) && (this._accessorsCreator != null))
-            {
-                MemberInfo[] accessors = this._accessorsCreator.Invoke();
-
-                string errorMessage;
-                if (!LazyMemberInfo.AreAccessorsValid(this.MemberType, accessors, out errorMessage))
-                {
-                    throw new InvalidOperationException(errorMessage);
-                }
-
-                this._accessors = accessors;
-            }
-
-            return this._accessors;
-        }
-
-        public override int GetHashCode()
-        {
-            if (this._accessorsCreator != null)
-            {
-                return this.MemberType.GetHashCode() ^ this._accessorsCreator.GetHashCode();
-            }
-            else
-            {
-                Assumes.NotNull(this._accessors);
-                Assumes.NotNull(this._accessors[0]);
-                return this.MemberType.GetHashCode() ^ this._accessors[0].GetHashCode();
-            }
-        }
-
-        public override bool Equals(object obj)
-        {
-            LazyMemberInfo that = (LazyMemberInfo)obj;
-
-            // Difefrent member types mean different members
-            if (this._memberType != that._memberType)
-            {
-                return false;
-            }
-
-            // if any of the lazy memebers create accessors in a delay-loaded fashion, we simply compare the creators
-            if ((this._accessorsCreator != null) || (that._accessorsCreator != null))
-            {
-                return object.Equals(this._accessorsCreator, that._accessorsCreator);
-            }
-
-            // we are dealing with explicitly passed accessors in both cases
-            Assumes.NotNull(this._accessors);
-            Assumes.NotNull(that._accessors);
-            return this._accessors.SequenceEqual(that._accessors);
-        }
-
-        public static bool operator ==(LazyMemberInfo left, LazyMemberInfo right)
-        {
-            return left.Equals(right);
-        }
-
-        public static bool operator !=(LazyMemberInfo left, LazyMemberInfo right)
-        {
-            return !left.Equals(right);
-        }
-
-        private static void EnsureSupportedMemberType(MemberTypes memberType, string argument)
-        {
-            MemberTypes supportedTypes = MemberTypes.TypeInfo | MemberTypes.NestedType | MemberTypes.Constructor | MemberTypes.Field | MemberTypes.Method | MemberTypes.Property | MemberTypes.Event;
-            Requires.IsInMembertypeSet(memberType, argument, supportedTypes);
-        }
-
-        private static bool AreAccessorsValid(MemberTypes memberType, MemberInfo[] accessors, out string errorMessage)
-        {
-            errorMessage = string.Empty;
-            if (accessors == null)
-            {
-                errorMessage = Strings.LazyMemberInfo_AccessorsNull;
-                return false;
-            }
-
-            if (accessors.All(accessor => accessor == null))
-            {
-                errorMessage = Strings.LazyMemberInfo_NoAccessors;
-                return false;
-            }
-
-            switch (memberType)
-            {
-                case MemberTypes.Property:
-                    if (accessors.Length != 2)
-                    {
-                        errorMessage = Strings.LazyMemberInfo_InvalidPropertyAccessors_Cardinality;
-                        return false;
-                    }
-
-                    if (accessors.Where(accessor => (accessor != null) && (accessor.MemberType != MemberTypes.Method)).Any())
-                    {
-                        errorMessage = Strings.LazyMemberinfo_InvalidPropertyAccessors_AccessorType;
-                        return false;
-                    }
-
-                    break;
-
-                case MemberTypes.Event:
-                    if (accessors.Length != 3)
-                    {
-                        errorMessage = Strings.LazyMemberInfo_InvalidEventAccessors_Cardinality;
-                        return false;
-                    }
-
-                    if (accessors.Where(accessor => (accessor != null) && (accessor.MemberType != MemberTypes.Method)).Any())
-                    {
-                        errorMessage = Strings.LazyMemberinfo_InvalidPropertyAccessors_AccessorType;
-                        return false;
-                    }
-
-                    break;
-
-                default:
-                    if (
-                        (accessors.Length != 1) ||
-                        ((accessors.Length == 1) && (accessors[0].MemberType != memberType)))
-                    {
-                        errorMessage = string.Format(CultureInfo.CurrentCulture, Strings.LazyMemberInfo_InvalidAccessorOnSimpleMember, memberType);
-                        return false;
-                    }
-                   
-                    break;
-            }
-            return true;
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/PartCreatorExportDefinition.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/PartCreatorExportDefinition.cs
deleted file mode 100644
index 517dd59..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/PartCreatorExportDefinition.cs
+++ /dev/null
@@ -1,62 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    internal class PartCreatorExportDefinition : ExportDefinition
-    {
-        private readonly ExportDefinition _productDefinition;
-        private IDictionary<string, object> _metadata;
-
-        public PartCreatorExportDefinition(ExportDefinition productDefinition)
-            : base()
-        {
-            this._productDefinition = productDefinition;
-        }
-
-        public override string ContractName
-        {
-            get
-            {
-                return CompositionConstants.PartCreatorContractName;
-            }
-        }
-
-        public override IDictionary<string, object> Metadata
-        {
-            get
-            {
-                if (this._metadata == null)
-                {
-                    var metadata = new Dictionary<string, object>(this._productDefinition.Metadata);
-                    metadata[CompositionConstants.ExportTypeIdentityMetadataName] = CompositionConstants.PartCreatorTypeIdentity;
-                    metadata[CompositionConstants.ProductDefinitionMetadataName] = this._productDefinition;
-
-                    this._metadata = metadata.AsReadOnly();
-                }
-                return this._metadata;
-            }
-        }
-
-        internal static bool IsProductConstraintSatisfiedBy(ImportDefinition productImportDefinition, ExportDefinition exportDefinition)
-        {
-            object productValue = null;
-            if (exportDefinition.Metadata.TryGetValue(CompositionConstants.ProductDefinitionMetadataName, out productValue))
-            {
-                ExportDefinition productDefinition = productValue as ExportDefinition;
-
-                if (productDefinition != null)
-                {
-                    return productImportDefinition.IsConstraintSatisfiedBy(productDefinition);
-                }
-            }
-
-            return false;
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/PartCreatorMemberImportDefinition.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/PartCreatorMemberImportDefinition.cs
deleted file mode 100644
index 0aa6480..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/PartCreatorMemberImportDefinition.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-using System.Linq.Expressions;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    internal class PartCreatorMemberImportDefinition : ReflectionMemberImportDefinition, IPartCreatorImportDefinition
-    {
-        private readonly ContractBasedImportDefinition _productImportDefinition;
-
-        public PartCreatorMemberImportDefinition(
-            LazyMemberInfo importingLazyMember,
-            ICompositionElement origin,
-            ContractBasedImportDefinition productImportDefinition)
-            : base(importingLazyMember, CompositionConstants.PartCreatorContractName, CompositionConstants.PartCreatorTypeIdentity,
-                productImportDefinition.RequiredMetadata, productImportDefinition.Cardinality, productImportDefinition.IsRecomposable, CreationPolicy.Any, origin)
-        {
-            Assumes.NotNull(productImportDefinition);
-            this._productImportDefinition = productImportDefinition;
-        }
-
-        public ContractBasedImportDefinition ProductImportDefinition { get { return this._productImportDefinition; } }
-
-        public override bool IsConstraintSatisfiedBy(ExportDefinition exportDefinition)
-        {
-            if (!base.IsConstraintSatisfiedBy(exportDefinition))
-            {
-                return false;
-            }
-
-            return PartCreatorExportDefinition.IsProductConstraintSatisfiedBy(this._productImportDefinition, exportDefinition);
-        }
-
-        public override Expression<Func<ExportDefinition, bool>> Constraint
-        {
-            get
-            {
-                return ConstraintServices.CreatePartCreatorConstraint(base.Constraint, this._productImportDefinition);
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/PartCreatorParameterImportDefinition.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/PartCreatorParameterImportDefinition.cs
deleted file mode 100644
index d12e4bd..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/PartCreatorParameterImportDefinition.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-using System.Linq.Expressions;
-using System.Reflection;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    internal class PartCreatorParameterImportDefinition : ReflectionParameterImportDefinition, IPartCreatorImportDefinition
-    {
-        private readonly ContractBasedImportDefinition _productImportDefinition;
-
-        public PartCreatorParameterImportDefinition(
-            Lazy<ParameterInfo> importingLazyParameter,
-            ICompositionElement origin,
-            ContractBasedImportDefinition productImportDefinition)
-            : base(importingLazyParameter, CompositionConstants.PartCreatorContractName, CompositionConstants.PartCreatorTypeIdentity,
-                productImportDefinition.RequiredMetadata, productImportDefinition.Cardinality, CreationPolicy.Any, origin)
-        {
-            Assumes.NotNull(productImportDefinition);
-            this._productImportDefinition = productImportDefinition;
-        }
-
-        public ContractBasedImportDefinition ProductImportDefinition { get { return this._productImportDefinition; } }
-
-        public override bool IsConstraintSatisfiedBy(ExportDefinition exportDefinition)
-        {
-            if (!base.IsConstraintSatisfiedBy(exportDefinition))
-            {
-                return false;
-            }
-            return PartCreatorExportDefinition.IsProductConstraintSatisfiedBy(this._productImportDefinition, exportDefinition);
-        }
-
-        public override Expression<Func<ExportDefinition, bool>> Constraint
-        {
-            get
-            {
-                return ConstraintServices.CreatePartCreatorConstraint(base.Constraint, this._productImportDefinition);
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionComposablePart.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionComposablePart.cs
deleted file mode 100644
index c4b15de..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionComposablePart.cs
+++ /dev/null
@@ -1,565 +0,0 @@
-
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-using System.Diagnostics.CodeAnalysis;
-using System.Globalization;
-using System.Linq;
-using System.Reflection;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    // This 
-    internal class ReflectionComposablePart : ComposablePart, ICompositionElement
-    {
-        private readonly ReflectionComposablePartDefinition _definition;
-        private readonly Dictionary<ImportDefinition, object> _importValues = new Dictionary<ImportDefinition, object>();
-        private readonly Dictionary<ImportDefinition, ImportingItem> _importsCache = new Dictionary<ImportDefinition, ImportingItem>();
-        private readonly Dictionary<ExportDefinition, ExportingMember> _exportsCache = new Dictionary<ExportDefinition, ExportingMember>();
-        private bool _invokeImportsSatisfied = true;
-        private bool _invokingImportsSatisfied = false;
-        private bool _initialCompositionComplete = false;
-        private volatile object _cachedInstance;
-        private object _lock = new object();
-
-        public ReflectionComposablePart(ReflectionComposablePartDefinition definition)
-        {
-            Requires.NotNull(definition, "definition");
-
-            this._definition = definition;
-        }
-
-        public ReflectionComposablePart(ReflectionComposablePartDefinition definition, object attributedPart)
-        {
-            Requires.NotNull(definition, "definition");
-            Requires.NotNull(attributedPart, "attributedPart");
-
-            this._definition = definition;
-
-            if (attributedPart is ValueType)
-            {
-                throw new ArgumentException(Strings.ArgumentValueType, "attributedPart");
-            }
-            this._cachedInstance = attributedPart;
-        }
-
-        protected virtual void EnsureRunning()
-        {
-        }
-
-        protected virtual void ReleaseInstanceIfNecessary(object instance)
-        {
-        }
-
-        protected object CachedInstance
-        {
-            get
-            {
-                lock (this._lock)
-                {
-                    return this._cachedInstance;
-                }
-            }
-        }
-
-        public ReflectionComposablePartDefinition Definition
-        {
-            get 
-            {
-                this.EnsureRunning();
-                return this._definition; 
-            }
-        }
-
-        public override IDictionary<string, object> Metadata
-        {
-            get
-            {
-                this.EnsureRunning();
-                return this.Definition.Metadata;
-            }
-        }
-
-        public sealed override IEnumerable<ImportDefinition> ImportDefinitions
-        {
-            get
-            {
-                this.EnsureRunning();
-                return this.Definition.ImportDefinitions;
-            }
-        }
-
-        public sealed override IEnumerable<ExportDefinition> ExportDefinitions
-        {
-            get
-            {
-                this.EnsureRunning();
-                return this.Definition.ExportDefinitions;
-            }
-        }
-
-
-        string ICompositionElement.DisplayName
-        {
-            get { return GetDisplayName(); }
-        }
-
-        ICompositionElement ICompositionElement.Origin
-        {
-            get { return Definition; }
-        }
-
-        // This is the ONLY method which is not executed under the ImportEngine composition lock.
-        // We need to protect all state that is accesses
-        public override object GetExportedValue(ExportDefinition definition)
-        {
-            // given the implementation of the ImportEngine, this iwll be called under a lock if the part is still being composed
-            // This is only called outside of the lock when the part is fully composed
-            // based on that we only protect:
-            // _exportsCache - and thus all calls to GetExportingMemberFromDefinition
-            // access to _importValues
-            // access to _initialCompositionComplete
-            // access to _instance
-            this.EnsureRunning();
-            Requires.NotNull(definition, "definition");
-
-            ExportingMember member = null;
-            lock (this._lock)
-            {
-                member = GetExportingMemberFromDefinition(definition);
-                if (member == null)
-                {
-                    throw ExceptionBuilder.CreateExportDefinitionNotOnThisComposablePart("definition");
-                }
-                this.EnsureGettable();
-            }
-
-            return this.GetExportedValue(member);
-        }
-
-        public override void SetImport(ImportDefinition definition, IEnumerable<Export> exports)
-        {
-            this.EnsureRunning();
-
-            Requires.NotNull(definition, "definition");
-            Requires.NotNull(exports, "exports");
-
-            ImportingItem item = GetImportingItemFromDefinition(definition);
-            if (item == null)
-            {
-                throw ExceptionBuilder.CreateImportDefinitionNotOnThisComposablePart("definition");
-            }
-
-            EnsureSettable(definition);
-
-            // Avoid walking over exports many times
-            Export[] exportsAsArray = exports.AsArray();
-            EnsureCardinality(definition, exportsAsArray);
-
-            SetImport(item, exportsAsArray);
-        }
-
-        public override void Activate()
-        {
-            this.EnsureRunning();
-
-            this.SetNonPrerequisiteImports();
-
-            // Whenever we are composed/recomposed notify the instance
-            this.NotifyImportSatisfied();
-
-            lock (this._lock)
-            {
-                this._initialCompositionComplete = true;
-            }
-        }
-
-        public override string ToString()
-        {
-            return this.GetDisplayName();
-        }
-
-        private object GetExportedValue(ExportingMember member)
-        {
-            object instance = null;
-            if (member.RequiresInstance)
-            {   // Only activate the instance if we actually need to
-
-                instance = this.GetInstanceActivatingIfNeeded();
-            }
-
-            return member.GetExportedValue(instance, this._lock);
-        }
-
-        private void SetImport(ImportingItem item, Export[] exports)
-        {
-            object value = item.CastExportsToImportType(exports);
-
-            lock (this._lock)
-            {
-                this._invokeImportsSatisfied = true;
-                this._importValues[item.Definition] = value;
-            }
-        }
-
-        private object GetInstanceActivatingIfNeeded()
-        {
-            if (this._cachedInstance != null)
-            {
-                return this._cachedInstance;
-            }
-            else
-            {
-                ConstructorInfo constructor = null;
-                object[] arguments = null;
-                // determine whether activation is required, and collect necessary information for activation
-                // we need to do that under a lock
-                lock (this._lock)
-                {
-                    if (!this.RequiresActivation())
-                    {
-                        return null;
-                    }
-
-                    constructor = this.Definition.GetConstructor();
-                    if (constructor == null)
-                    {
-                        throw new ComposablePartException(
-                            CompositionErrorId.ReflectionModel_PartConstructorMissing,
-                            String.Format(CultureInfo.CurrentCulture,
-                                Strings.ReflectionModel_PartConstructorMissing,
-                                this.Definition.GetPartType().FullName),
-                            this.Definition.ToElement());
-                    }
-                    arguments = this.GetConstructorArguments();
-                }
-
-                // create instance outside of the lock
-                object createdInstance = this.CreateInstance(constructor, arguments);
-
-                // set the created instance
-                lock (this._lock)
-                {
-                    if (this._cachedInstance == null)
-                    {
-                        this._cachedInstance = createdInstance;
-                        createdInstance = null;
-                    }
-                }
-
-                // if the instance has been already set
-                if (createdInstance == null)
-                {
-                    this.ReleaseInstanceIfNecessary(createdInstance);
-                }
-            }
-
-            return this._cachedInstance;
-        }
-
-        private object[] GetConstructorArguments()
-        {
-            ReflectionParameterImportDefinition[] parameterImports = this.ImportDefinitions.OfType<ReflectionParameterImportDefinition>().ToArray();
-            object[] arguments = new object[parameterImports.Length];
-
-            this.UseImportedValues(
-                parameterImports,
-                (import, definition, value) =>
-                {
-                    if (definition.Cardinality == ImportCardinality.ZeroOrMore && !import.ImportType.IsAssignableCollectionType)
-                    {
-                        throw new ComposablePartException(
-                            CompositionErrorId.ReflectionModel_ImportManyOnParameterCanOnlyBeAssigned,
-                            String.Format(CultureInfo.CurrentCulture,
-                                Strings.ReflectionModel_ImportManyOnParameterCanOnlyBeAssigned,
-                                this.Definition.GetPartType().FullName,
-                                definition.ImportingLazyParameter.Value.Name),
-                            this.Definition.ToElement());
-                    }
-
-                    arguments[definition.ImportingLazyParameter.Value.Position] = value;
-                },
-                true);
-
-            return arguments;
-        }
-
-        // alwayc called under a lock
-        private bool RequiresActivation()
-        {
-            // If we have any imports then we need activation
-            // (static imports are not supported)
-            if (this.ImportDefinitions.Any())
-            {
-                return true;
-            }
-
-            // If we have any instance exports, then we also 
-            // need activation.
-            return this.ExportDefinitions.Any(definition =>
-            {
-                ExportingMember member = GetExportingMemberFromDefinition(definition);
-
-                return member.RequiresInstance;
-            });
-        }
-
-        // this is called under a lock
-        private void EnsureGettable()
-        {
-            // If we're already composed then we know that 
-            // all pre-req imports have been satisfied
-            if (_initialCompositionComplete)
-            {
-                return;
-            }
-
-            // Make sure all pre-req imports have been set
-            foreach (ImportDefinition definition in ImportDefinitions.Where(definition => definition.IsPrerequisite))
-            {
-                if (!this._importValues.ContainsKey(definition))
-                {
-                    throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture,
-                                                            Strings.InvalidOperation_GetExportedValueBeforePrereqImportSet,
-                                                            definition.ToElement().DisplayName));
-                }
-            }
-        }
-
-        private void EnsureSettable(ImportDefinition definition)
-        {
-            lock (this._lock)
-            {
-                if (this._initialCompositionComplete && !definition.IsRecomposable)
-                {
-                    throw new InvalidOperationException(Strings.InvalidOperation_DefinitionCannotBeRecomposed);
-                }
-            }
-        }
-
-        private static void EnsureCardinality(ImportDefinition definition, Export[] exports)
-        {
-            Requires.NullOrNotNullElements(exports, "exports");
-
-            ExportCardinalityCheckResult result = ExportServices.CheckCardinality(definition, exports);
-
-            switch (result)
-            {
-                case ExportCardinalityCheckResult.NoExports:
-                    throw new ArgumentException(Strings.Argument_ExportsEmpty, "exports");
-
-                case ExportCardinalityCheckResult.TooManyExports:
-                    throw new ArgumentException(Strings.Argument_ExportsTooMany, "exports");
-
-                default:
-                    Assumes.IsTrue(result == ExportCardinalityCheckResult.Match);
-                    break;
-            }
-        }
-
-        private object CreateInstance(ConstructorInfo constructor, object[] arguments)
-        { 
-            Exception exception = null;
-            object instance = null;
-
-            try
-            {
-                instance = constructor.SafeInvoke(arguments);
-            }
-            catch (TypeInitializationException ex) 
-            { 
-                exception = ex; 
-            }
-            catch (TargetInvocationException ex)
-            {
-                exception = ex.InnerException;
-            }
-            
-            if (exception != null)
-            {
-                throw new ComposablePartException(
-                    CompositionErrorId.ReflectionModel_PartConstructorThrewException,
-                    String.Format(CultureInfo.CurrentCulture,
-                        Strings.ReflectionModel_PartConstructorThrewException,
-                        Definition.GetPartType().FullName),
-                    Definition.ToElement(),
-                    exception);
-            }
-
-            return instance;
-        }
-
-        private void SetNonPrerequisiteImports()
-        {
-            IEnumerable<ImportDefinition> members = this.ImportDefinitions.Where(import => !import.IsPrerequisite);
-
-            // NOTE: Dev10 484204 The validation is turned off for post imports because of it broke declarative composition
-            this.UseImportedValues(members, SetExportedValueForImport, false);
-        }
-
-        private void SetExportedValueForImport(ImportingItem import, ImportDefinition definition, object value)
-        {
-            ImportingMember importMember = (ImportingMember)import;
-
-            object instance = this.GetInstanceActivatingIfNeeded();
-
-            importMember.SetExportedValue(instance, value);
-        }
-
-        private void UseImportedValues<TImportDefinition>(IEnumerable<TImportDefinition> definitions, Action<ImportingItem, TImportDefinition, object> useImportValue, bool errorIfMissing)
-            where TImportDefinition : ImportDefinition
-        {
-            var result = CompositionResult.SucceededResult;
-
-            foreach (var definition in definitions)
-            {
-                ImportingItem import = GetImportingItemFromDefinition(definition);
-
-                object value;
-                if (!TryGetImportValue(definition, out value))
-                {
-                    if (!errorIfMissing)
-                    {
-                        continue;
-                    }
-
-                    if (definition.Cardinality == ImportCardinality.ExactlyOne)
-                    {
-                        var error = CompositionError.Create(
-                            CompositionErrorId.ImportNotSetOnPart,
-                            Strings.ImportNotSetOnPart,
-                            this.Definition.GetPartType().FullName,
-                            definition.ToString());
-                        result = result.MergeError(error);
-                        continue;
-                    }
-                    else
-                    {
-                        value = import.CastExportsToImportType(new Export[0]);
-                    }
-                }
-
-                useImportValue(import, definition, value);
-            }
-
-            result.ThrowOnErrors();
-        }
-
-        private bool TryGetImportValue(ImportDefinition definition, out object value)
-        {
-            lock (this._lock)
-            {
-                if (this._importValues.TryGetValue(definition, out value))
-                {
-                    this._importValues.Remove(definition);
-                    return true;
-                }
-            }
-
-            value = null;
-            return false;
-        }
-
-        [SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes")]
-        private void NotifyImportSatisfied()
-        {
-            if (this._invokeImportsSatisfied && !this._invokingImportsSatisfied)
-            {
-                IPartImportsSatisfiedNotification notify = this.GetInstanceActivatingIfNeeded() as IPartImportsSatisfiedNotification;
-                if (notify != null)
-                {
-                    try
-                    {
-                        // Reentrancy on composition notifications is allowed, so set this first to avoid 
-                        // an infinte loop of notifications.
-                        this._invokingImportsSatisfied = true;
-
-                        notify.OnImportsSatisfied();
-                    }
-                    catch (Exception exception)
-                    {
-                        throw new ComposablePartException(
-                            CompositionErrorId.ReflectionModel_PartOnImportsSatisfiedThrewException,
-                            String.Format(CultureInfo.CurrentCulture,
-                                Strings.ReflectionModel_PartOnImportsSatisfiedThrewException,
-                                Definition.GetPartType().FullName),
-                            Definition.ToElement(),
-                            exception);
-                    }
-                    finally
-                    {
-                        this._invokingImportsSatisfied = false;
-                    }
-
-                    this._invokeImportsSatisfied = false;
-                }
-            }
-        }
-
-        // this is always called under a lock
-        private ExportingMember GetExportingMemberFromDefinition(ExportDefinition definition)
-        {
-            ExportingMember result;
-            if (!_exportsCache.TryGetValue(definition, out result))
-            {
-                result = GetExportingMember(definition);
-                if (result != null)
-                {
-                    _exportsCache[definition] = result;
-                }
-            }
-
-            return result;
-        }
-
-        private ImportingItem GetImportingItemFromDefinition(ImportDefinition definition)
-        {
-            ImportingItem result;
-            if (!_importsCache.TryGetValue(definition, out result))
-            {
-                result = GetImportingItem(definition);
-                if (result != null)
-                {
-                    _importsCache[definition] = result;
-                }
-            }
-
-            return result;
-        }
-
-        private static ImportingItem GetImportingItem(ImportDefinition definition)
-        {
-            ReflectionImportDefinition reflectionDefinition = definition as ReflectionImportDefinition;
-            if (reflectionDefinition != null)
-            {
-                return reflectionDefinition.ToImportingItem();
-            }
-
-            // Don't recognize it
-            return null;
-        }
-
-        private static ExportingMember GetExportingMember(ExportDefinition definition)
-        {
-            ReflectionMemberExportDefinition exportDefinition = definition as ReflectionMemberExportDefinition;
-            if (exportDefinition != null)
-            {
-                return exportDefinition.ToExportingMember();
-            }
-
-            // Don't recognize it
-            return null;
-        }
-
-        private string GetDisplayName()
-        {
-            return this.Definition.GetPartType().GetDisplayName();
-        }
-    }
-}
\ No newline at end of file
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionComposablePartDefinition.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionComposablePartDefinition.cs
deleted file mode 100644
index a8e3c83..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionComposablePartDefinition.cs
+++ /dev/null
@@ -1,151 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Primitives;
-using System.Diagnostics.CodeAnalysis;
-using System.Linq;
-using System.Reflection;
-using System.Threading;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    internal class ReflectionComposablePartDefinition : ComposablePartDefinition, ICompositionElement
-    {
-        private readonly IReflectionPartCreationInfo _creationInfo;
-
-        private volatile IEnumerable<ImportDefinition> _imports;
-        private volatile IEnumerable<ExportDefinition> _exports;
-        private volatile IDictionary<string, object> _metadata;
-        private volatile ConstructorInfo _constructor;
-        private object _lock = new object();
-
-        public ReflectionComposablePartDefinition(IReflectionPartCreationInfo creationInfo)
-        {
-            Assumes.NotNull(creationInfo);
-            this._creationInfo = creationInfo;
-        }
-
-        public Type GetPartType()
-        {
-            return this._creationInfo.GetPartType();
-        }
-
-        public Lazy<Type> GetLazyPartType()
-        {
-            return this._creationInfo.GetLazyPartType();
-        }
-
-        public ConstructorInfo GetConstructor()
-        {
-            if (this._constructor == null)
-            {
-                ConstructorInfo constructor = this._creationInfo.GetConstructor();
-                lock (this._lock)
-                {
-                    if (this._constructor == null)
-                    {
-                        this._constructor = constructor;
-                    }
-                }
-            }
-
-            return this._constructor;
-        }
-
-        public override IEnumerable<ExportDefinition> ExportDefinitions
-        {
-            get
-            {
-                if (this._exports == null)
-                {
-                    ExportDefinition[] exports = this._creationInfo.GetExports().ToArray();
-                    lock (this._lock)
-                    {
-                        if (this._exports == null)
-                        {
-                            this._exports = exports;
-                        }
-                    }
-                }
-                return this._exports;
-            }
-        }
-
-        public override IEnumerable<ImportDefinition> ImportDefinitions
-        {
-            get
-            {
-                if (this._imports == null)
-                {
-                    ImportDefinition[] imports = this._creationInfo.GetImports().ToArray();
-                    lock (this._lock)
-                    {
-                        if (this._imports == null)
-                        {
-                            this._imports = imports;
-                        }
-                    }
-                }
-                return this._imports;
-            }
-        }
-
-        public override IDictionary<string, object> Metadata
-        {
-            get
-            {
-                if (this._metadata == null)
-                {
-                    IDictionary<string, object> metadata = this._creationInfo.GetMetadata().AsReadOnly();
-                    lock (this._lock)
-                    {
-                        if (this._metadata == null)
-                        {
-                            this._metadata = metadata;
-                        }
-                    }
-                }
-                return this._metadata;
-            }
-        }
-
-        internal bool IsDisposalRequired
-        {
-            get
-            {
-                return this._creationInfo.IsDisposalRequired;
-            }
-        }
-
-        [SuppressMessage("Microsoft.Reliability", "CA2000:Dispose objects before losing scope")]
-        public override ComposablePart CreatePart()
-        {
-            if (this.IsDisposalRequired)
-            {
-                return new DisposableReflectionComposablePart(this);
-            }
-            else
-            {
-                return new ReflectionComposablePart(this);
-            }
-        }
-
-        string ICompositionElement.DisplayName
-        {
-            get { return this._creationInfo.DisplayName; }
-        }
-
-        ICompositionElement ICompositionElement.Origin
-        {
-            get { return this._creationInfo.Origin; }
-        }
-
-        public override string ToString()
-        {
-            return this._creationInfo.DisplayName;
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionExtensions.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionExtensions.cs
deleted file mode 100644
index b04edbc..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionExtensions.cs
+++ /dev/null
@@ -1,134 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Reflection;
-using Microsoft.Internal;
-using System.Threading;
-using System.Collections.Generic;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    internal static class ReflectionExtensions
-    {
-        public static ReflectionMember ToReflectionMember(this LazyMemberInfo lazyMember)
-        {
-            MemberInfo[] accessors = lazyMember.GetAccessors();
-            MemberTypes memberType = lazyMember.MemberType;
-
-            switch (memberType)
-            {
-                case MemberTypes.Field:
-                    Assumes.IsTrue(accessors.Length == 1);
-                    return ((FieldInfo)accessors[0]).ToReflectionField();
-
-                case MemberTypes.Property:
-                    Assumes.IsTrue(accessors.Length == 2);
-                    return ReflectionExtensions.CreateReflectionProperty((MethodInfo)accessors[0], (MethodInfo)accessors[1]);
-
-                case MemberTypes.NestedType:
-                case MemberTypes.TypeInfo:
-                    return ((Type)accessors[0]).ToReflectionType();
-
-                default:
-                    Assumes.IsTrue(memberType == MemberTypes.Method);
-                    return ((MethodInfo)accessors[0]).ToReflectionMethod();
-            }
-        }
-
-        public static LazyMemberInfo ToLazyMember(this ReflectionMember reflectionMember)
-        {
-            Assumes.NotNull(reflectionMember);
-
-            if (reflectionMember.ItemType == ReflectionItemType.Property)
-            {
-                ReflectionProperty reflectionProperty = reflectionMember as ReflectionProperty;
-                Assumes.NotNull(reflectionProperty);
-
-                MemberInfo[] accessors = new MemberInfo[] { reflectionProperty.UnderlyingGetMethod, reflectionProperty.UnderlyingSetMethod };
-                return new LazyMemberInfo(MemberTypes.Property, accessors);
-            }
-            else
-            {
-                return new LazyMemberInfo(reflectionMember.UnderlyingMember.MemberType, reflectionMember.UnderlyingMember);
-            }
-        }
-
-        public static LazyMemberInfo ToLazyMember(this MemberInfo member)
-        {
-            Assumes.NotNull(member);
-
-            if (member.MemberType == MemberTypes.Property)
-            {
-                PropertyInfo property = member as PropertyInfo;
-                Assumes.NotNull(property);
-
-                MemberInfo[] accessors = new MemberInfo[] { property.GetGetMethod(true), property.GetSetMethod(true)};
-                return new LazyMemberInfo(MemberTypes.Property, accessors);
-            }
-            else
-            {
-                return new LazyMemberInfo(member);
-            }
-        }
-
-        public static ReflectionWritableMember ToReflectionWriteableMember(this LazyMemberInfo lazyMember)
-        {
-            Assumes.IsTrue((lazyMember.MemberType == MemberTypes.Field) || (lazyMember.MemberType == MemberTypes.Property));
-
-            ReflectionWritableMember reflectionMember = lazyMember.ToReflectionMember() as ReflectionWritableMember;
-            Assumes.NotNull(reflectionMember);
-
-            return reflectionMember;
-        }
-
-
-        public static ReflectionProperty ToReflectionProperty(this PropertyInfo property)
-        {
-            Assumes.NotNull(property);
-            return CreateReflectionProperty(property.GetGetMethod(true), property.GetSetMethod(true));
-        }
-
-        public static ReflectionProperty CreateReflectionProperty(MethodInfo getMethod, MethodInfo setMethod)
-        {
-            Assumes.IsTrue(getMethod != null || setMethod != null);
-
-            return new ReflectionProperty(getMethod, setMethod);
-        }
-
-        public static ReflectionParameter ToReflectionParameter(this ParameterInfo parameter)
-        {
-            Assumes.NotNull(parameter);
-            return new ReflectionParameter(parameter);
-        }
-
-        public static ReflectionMethod ToReflectionMethod(this MethodInfo method)
-        {
-            Assumes.NotNull(method);
-            return new ReflectionMethod(method);
-        }
-
-        public static ReflectionField ToReflectionField(this FieldInfo field)
-        {
-            Assumes.NotNull(field);
-            return new ReflectionField(field);
-        }
-
-        public static ReflectionType ToReflectionType(this Type type)
-        {
-            Assumes.NotNull(type);
-            return new ReflectionType(type);
-        }
-
-        public static ReflectionWritableMember ToReflectionWritableMember(this MemberInfo member)
-        {
-            Assumes.NotNull(member);
-            if (member.MemberType == MemberTypes.Property)
-            {
-                return ((PropertyInfo)member).ToReflectionProperty();
-            }
-
-            return ((FieldInfo)member).ToReflectionField();
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionField.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionField.cs
deleted file mode 100644
index 1cac368..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionField.cs
+++ /dev/null
@@ -1,67 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Reflection;
-using Microsoft.Internal;
-using System.Threading;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    internal class ReflectionField : ReflectionWritableMember
-    {
-        private readonly FieldInfo _field;
-
-        public ReflectionField(FieldInfo field)
-        {
-            Assumes.NotNull(field);
-
-            this._field = field;
-        }
-
-        public FieldInfo UndelyingField
-        {
-            get { return this._field; }
-        }
-
-        public override MemberInfo UnderlyingMember
-        {
-            get { return this.UndelyingField; }
-        }
-
-        public override bool CanRead
-        {
-            get { return true; }
-        }
-
-        public override bool CanWrite
-        {
-            get { return !this.UndelyingField.IsInitOnly; }
-        }
-
-        public override bool RequiresInstance
-        {
-            get { return !this.UndelyingField.IsStatic; }
-        }
-
-        public override Type ReturnType
-        {
-            get { return this.UndelyingField.FieldType; }
-        }
-
-        public override ReflectionItemType ItemType
-        {
-            get { return ReflectionItemType.Field; }
-        }
-
-        public override object GetValue(object instance)
-        {
-            return this.UndelyingField.SafeGetValue(instance);
-        }
-
-        public override void SetValue(object instance, object value)
-        {
-            this.UndelyingField.SafeSetValue(instance, value);
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionImportDefinition.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionImportDefinition.cs
deleted file mode 100644
index 0ab5ca4..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionImportDefinition.cs
+++ /dev/null
@@ -1,52 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-using System.ComponentModel.Composition.ReflectionModel;
-using System.Globalization;
-using System.Reflection;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    internal abstract class ReflectionImportDefinition : ContractBasedImportDefinition, ICompositionElement
-    {
-        private readonly ICompositionElement _origin;
-
-        public ReflectionImportDefinition(
-            string contractName, 
-            string requiredTypeIdentity,
-            IEnumerable<KeyValuePair<string, Type>> requiredMetadata,
-            ImportCardinality cardinality, 
-            bool isRecomposable, 
-            bool isPrerequisite, 
-            CreationPolicy requiredCreationPolicy,
-            ICompositionElement origin) 
-            : base(contractName, requiredTypeIdentity, requiredMetadata, cardinality, isRecomposable, isPrerequisite, requiredCreationPolicy)
-        {
-            this._origin = origin;
-        }
-
-        string ICompositionElement.DisplayName
-        {
-            get { return this.GetDisplayName(); }
-        }
-
-        ICompositionElement ICompositionElement.Origin
-        {
-            get { return this._origin; }
-        }
-
-        public override string ToString()
-        {
-            return this.GetDisplayName();
-        }
-
-        public abstract ImportingItem ToImportingItem();
-
-        protected abstract string GetDisplayName();
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionItem.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionItem.cs
deleted file mode 100644
index 3d649af..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionItem.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Reflection;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    internal abstract class ReflectionItem
-    {
-        public abstract string Name { get; }
-        public abstract string GetDisplayName();
-        public abstract Type ReturnType { get; }
-        public abstract ReflectionItemType ItemType { get; }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionItemType.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionItemType.cs
deleted file mode 100644
index 2e7eaf4..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionItemType.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    internal enum ReflectionItemType : int
-    {
-        Parameter = 0,
-        Field = 1,
-        Property = 2,
-        Method = 3,
-        Type = 4,
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionMember.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionMember.cs
deleted file mode 100644
index c34abc5..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionMember.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Reflection;
-using Microsoft.Internal;
-using System.Threading;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    internal abstract class ReflectionMember : ReflectionItem
-    {
-        public abstract bool CanRead
-        {
-            get;
-        }
-        
-        public Type DeclaringType
-        {
-            get { return this.UnderlyingMember.DeclaringType; }
-        }
-
-        public override string Name
-        {
-            get { return this.UnderlyingMember.Name; }
-        }
-
-        public override string GetDisplayName()
-        {
-            return this.UnderlyingMember.GetDisplayName();
-        }
-
-        public abstract bool RequiresInstance
-        {
-            get;
-        }
-
-        public abstract MemberInfo UnderlyingMember { get; }
-
-        public abstract object GetValue(object instance);
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionMemberExportDefinition.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionMemberExportDefinition.cs
deleted file mode 100644
index 5f94b86..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionMemberExportDefinition.cs
+++ /dev/null
@@ -1,89 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Hosting;
-using System.ComponentModel.Composition.Primitives;
-using System.ComponentModel.Composition.ReflectionModel;
-using System.Globalization;
-using System.Reflection;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-using System.Threading;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    internal class ReflectionMemberExportDefinition : ExportDefinition, ICompositionElement
-    {
-        private readonly LazyMemberInfo _member;
-        private readonly ExportDefinition _exportDefinition;
-        private readonly ICompositionElement _origin;
-        private IDictionary<string, object> _metadata;
-
-        public ReflectionMemberExportDefinition(LazyMemberInfo member, ExportDefinition exportDefinition, ICompositionElement origin)
-        {
-            Assumes.NotNull(exportDefinition);
-
-            this._member = member;
-            this._exportDefinition = exportDefinition;
-            this._origin = origin;
-        }
-
-        public override string ContractName
-        {
-            get { return this._exportDefinition.ContractName; }
-        }
-
-        public LazyMemberInfo ExportingLazyMember
-        {
-            get { return this._member; }
-        }
-
-        public override IDictionary<string, object> Metadata
-        {
-            get
-            {
-                if (this._metadata == null)
-                {
-                    var metadata = this._exportDefinition.Metadata ?? MetadataServices.EmptyMetadata;
-                    this._metadata = metadata.AsReadOnly();
-                }
-                return this._metadata;
-            }
-        }
-
-        string ICompositionElement.DisplayName
-        {
-            get { return this.GetDisplayName(); }
-        }
-
-        ICompositionElement ICompositionElement.Origin
-        {
-            get { return this._origin; }
-        }
-
-        public override string ToString()
-        {
-            return this.GetDisplayName();
-        }
-
-        public ExportingMember ToExportingMember()
-        {
-            return new ExportingMember(this, this.ToReflectionMember());
-        }
-
-        private ReflectionMember ToReflectionMember()
-        {
-            return this.ExportingLazyMember.ToReflectionMember();
-        }
-
-        private string GetDisplayName()
-        {
-            return string.Format(CultureInfo.CurrentCulture,
-                   "{0} (ContractName=\"{1}\")",    // NOLOC
-                   this.ToReflectionMember().GetDisplayName(),
-                   this.ContractName);
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionMemberImportDefinition.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionMemberImportDefinition.cs
deleted file mode 100644
index 6a0558f..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionMemberImportDefinition.cs
+++ /dev/null
@@ -1,56 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.ReflectionModel;
-using System.Globalization;
-using System.Reflection;
-using Microsoft.Internal;
-using Microsoft.Internal.Collections;
-using System.ComponentModel.Composition.Primitives;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    internal class ReflectionMemberImportDefinition : ReflectionImportDefinition
-    {
-        private LazyMemberInfo _importingLazyMember;
-
-        public ReflectionMemberImportDefinition(
-            LazyMemberInfo importingLazyMember,
-            string contractName, 
-            string requiredTypeIdentity,
-            IEnumerable<KeyValuePair<string, Type>> requiredMetadata,
-            ImportCardinality cardinality, 
-            bool isRecomposable, 
-            CreationPolicy requiredCreationPolicy,
-            ICompositionElement origin) 
-            : base(contractName, requiredTypeIdentity, requiredMetadata, cardinality, isRecomposable, false, requiredCreationPolicy, origin)
-        {
-            Assumes.NotNull(contractName);
-
-            this._importingLazyMember = importingLazyMember;
-        }
-
-        public override ImportingItem ToImportingItem()
-        {
-            ReflectionWritableMember member = this.ImportingLazyMember.ToReflectionWriteableMember();
-            return new ImportingMember(this, member, new ImportType(member.ReturnType, this.Cardinality));
-        }
-
-        public LazyMemberInfo ImportingLazyMember
-        {
-            get { return this._importingLazyMember; } 
-        }
-
-        protected override string GetDisplayName()
-        {
-            return string.Format(
-                CultureInfo.CurrentCulture,
-                "{0} (ContractName=\"{1}\")",    // NOLOC
-                this.ImportingLazyMember.ToReflectionMember().GetDisplayName(),
-                this.ContractName);
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionMethod.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionMethod.cs
deleted file mode 100644
index a4893bc..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionMethod.cs
+++ /dev/null
@@ -1,70 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.Hosting;
-using System.Reflection;
-using Microsoft.Internal;
-using System.Threading;
-using System.ComponentModel.Composition.Primitives;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    internal partial class ReflectionMethod : ReflectionMember
-    {
-        private readonly MethodInfo _method;
-
-        public ReflectionMethod(MethodInfo method)
-        {
-            Assumes.NotNull(method);
-
-            this._method = method;
-        }
-
-        public MethodInfo UnderlyingMethod
-        {
-            get { return this._method; }
-        }
-
-        public override MemberInfo UnderlyingMember
-        {
-            get { return this.UnderlyingMethod; }
-        }
-
-        public override bool CanRead
-        {
-            get { return true; }
-        }
-
-        public override bool RequiresInstance
-        {
-            get { return !this.UnderlyingMethod.IsStatic; }
-        }
-
-        public override Type ReturnType
-        {
-            get { return this.UnderlyingMethod.ReturnType; }
-        }
-
-        public override ReflectionItemType ItemType
-        {
-            get { return ReflectionItemType.Method; }
-        }
-
-        public override object GetValue(object instance)
-        {
-            return SafeCreateExportedDelegate(instance, _method);
-        }
-#if !SILVERLIGHT
-        [System.Security.SecuritySafeCritical]
-#endif
-        private static ExportedDelegate SafeCreateExportedDelegate(object instance, MethodInfo method)
-        {
-            // We demand member access in place of the [SecurityCritical] 
-            // attribute on ExportDelegate constructor
-            ReflectionInvoke.DemandMemberAccessIfNeeded(method);
-
-            return new ExportedDelegate(instance, method);
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionModelServices.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionModelServices.cs
deleted file mode 100644
index 61657e8..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionModelServices.cs
+++ /dev/null
@@ -1,444 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Primitives;
-using System.Diagnostics.CodeAnalysis;
-using System.Globalization;
-using System.Linq;
-using System.Reflection;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-#if !SILVERLIGHT
-    [System.Security.SecurityCritical]
-#endif
-    public static class ReflectionModelServices
-    {
-        public static Lazy<Type> GetPartType(ComposablePartDefinition partDefinition)
-        {
-            Requires.NotNull(partDefinition, "partDefinition");
-
-            ReflectionComposablePartDefinition reflectionPartDefinition = partDefinition as ReflectionComposablePartDefinition;
-            if (reflectionPartDefinition == null)
-            {
-                throw new ArgumentException(
-                    string.Format(CultureInfo.CurrentCulture, Strings.ReflectionModel_InvalidPartDefinition, partDefinition.GetType()),
-                    "partDefinition");
-            }
-
-            return reflectionPartDefinition.GetLazyPartType();
-        }
-
-        public static bool IsDisposalRequired(ComposablePartDefinition partDefinition)
-        {
-            Requires.NotNull(partDefinition, "partDefinition");
-
-            ReflectionComposablePartDefinition reflectionPartDefinition = partDefinition as ReflectionComposablePartDefinition;
-            if (reflectionPartDefinition == null)
-            {
-                throw new ArgumentException(
-                    string.Format(CultureInfo.CurrentCulture, Strings.ReflectionModel_InvalidPartDefinition, partDefinition.GetType()),
-                    "partDefinition");
-            }
-
-            return reflectionPartDefinition.IsDisposalRequired;
-        }
-
-        public static LazyMemberInfo GetExportingMember(ExportDefinition exportDefinition)
-        {
-            Requires.NotNull(exportDefinition, "exportDefinition");
-
-            ReflectionMemberExportDefinition reflectionExportDefinition = exportDefinition as ReflectionMemberExportDefinition;
-            if (reflectionExportDefinition == null)
-            {
-                throw new ArgumentException(
-                    string.Format(CultureInfo.CurrentCulture, Strings.ReflectionModel_InvalidExportDefinition, exportDefinition.GetType()),
-                    "exportDefinition");
-            }
-
-            return reflectionExportDefinition.ExportingLazyMember;
-        }
-
-        public static LazyMemberInfo GetImportingMember(ImportDefinition importDefinition)
-        {
-            Requires.NotNull(importDefinition, "importDefinition");
-
-            ReflectionMemberImportDefinition reflectionMemberImportDefinition = importDefinition as ReflectionMemberImportDefinition;
-            if (reflectionMemberImportDefinition == null)
-            {
-                throw new ArgumentException(
-                    string.Format(CultureInfo.CurrentCulture, Strings.ReflectionModel_InvalidMemberImportDefinition, importDefinition.GetType()),
-                    "importDefinition");
-            }
-
-            return reflectionMemberImportDefinition.ImportingLazyMember;
-        }
-
-        public static Lazy<ParameterInfo> GetImportingParameter(ImportDefinition importDefinition)
-        {
-            Requires.NotNull(importDefinition, "importDefinition");
-
-            ReflectionParameterImportDefinition reflectionParameterImportDefinition = importDefinition as ReflectionParameterImportDefinition;
-            if (reflectionParameterImportDefinition == null)
-            {
-                throw new ArgumentException(
-                    string.Format(CultureInfo.CurrentCulture, Strings.ReflectionModel_InvalidParameterImportDefinition, importDefinition.GetType()),
-                    "importDefinition");
-            }
-
-            return reflectionParameterImportDefinition.ImportingLazyParameter;
-        }
-
-        public static bool IsImportingParameter(ImportDefinition importDefinition)
-        {
-            Requires.NotNull(importDefinition, "importDefinition");
-
-            ReflectionImportDefinition reflectionImportDefinition = importDefinition as ReflectionImportDefinition;
-            if (reflectionImportDefinition == null)
-            {
-                throw new ArgumentException(
-                    string.Format(CultureInfo.CurrentCulture, Strings.ReflectionModel_InvalidImportDefinition, importDefinition.GetType()),
-                    "importDefinition");
-            }
-
-            return (importDefinition is ReflectionParameterImportDefinition);
-        }
-
-        internal static bool IsExportFactoryImportDefinition(ImportDefinition importDefinition)
-        {
-            Requires.NotNull(importDefinition, "importDefinition");
-
-            ReflectionImportDefinition reflectionImportDefinition = importDefinition as ReflectionImportDefinition;
-            if (reflectionImportDefinition == null)
-            {
-                throw new ArgumentException(
-                    string.Format(CultureInfo.CurrentCulture, Strings.ReflectionModel_InvalidImportDefinition, importDefinition.GetType()),
-                    "importDefinition");
-            }
-
-            return (importDefinition is IPartCreatorImportDefinition);
-        }
-
-        internal static ContractBasedImportDefinition GetPartCreatorProductImportDefinition(ImportDefinition importDefinition)
-        {
-            Requires.NotNull(importDefinition, "importDefinition");
-
-            IPartCreatorImportDefinition partCreatorImportDefinition = importDefinition as IPartCreatorImportDefinition;
-            if (partCreatorImportDefinition == null)
-            {
-                throw new ArgumentException(
-                    string.Format(CultureInfo.CurrentCulture, Strings.ReflectionModel_InvalidImportDefinition, importDefinition.GetType()),
-                    "importDefinition");
-            }
-
-            return partCreatorImportDefinition.ProductImportDefinition;
-        }
-
-        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
-        public static ComposablePartDefinition CreatePartDefinition(
-            Lazy<Type> partType,
-            bool isDisposalRequired,
-            Lazy<IEnumerable<ImportDefinition>> imports,
-            Lazy<IEnumerable<ExportDefinition>> exports,
-            Lazy<IDictionary<string, object>> metadata,
-            ICompositionElement origin)
-        {
-            Requires.NotNull(partType, "partType");
-
-            return new ReflectionComposablePartDefinition(
-                new ReflectionPartCreationInfo(
-                    partType,
-                    isDisposalRequired,
-                    imports,
-                    exports,
-                    metadata,
-                    origin));
-        }
-
-        [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
-        public static ExportDefinition CreateExportDefinition(
-            LazyMemberInfo exportingMember,
-            string contractName,
-            Lazy<IDictionary<string, object>> metadata,
-            ICompositionElement origin)
-        {
-            Requires.NotNullOrEmpty(contractName, "contractName");
-            Requires.IsInMembertypeSet(exportingMember.MemberType, "exportingMember", MemberTypes.Field | MemberTypes.Property | MemberTypes.NestedType | MemberTypes.TypeInfo | MemberTypes.Method);
-
-            return new ReflectionMemberExportDefinition(
-                exportingMember,
-                new LazyExportDefinition(contractName, metadata),
-                origin);
-        }
-
-        [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
-        public static ContractBasedImportDefinition CreateImportDefinition(
-            LazyMemberInfo importingMember,
-            string contractName,
-            string requiredTypeIdentity,
-            IEnumerable<KeyValuePair<string, Type>> requiredMetadata,
-            ImportCardinality cardinality,
-            bool isRecomposable,
-            CreationPolicy requiredCreationPolicy,
-            ICompositionElement origin)
-        {
-            return CreateImportDefinition(importingMember, contractName, requiredTypeIdentity, requiredMetadata, cardinality, isRecomposable, requiredCreationPolicy, false, origin);
-        }
-
-        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
-        internal static ContractBasedImportDefinition CreateImportDefinition(
-            LazyMemberInfo importingMember,
-            string contractName,
-            string requiredTypeIdentity,
-            IEnumerable<KeyValuePair<string, Type>> requiredMetadata,
-            ImportCardinality cardinality,
-            bool isRecomposable,
-            CreationPolicy requiredCreationPolicy,
-            bool isExportFactory,
-            ICompositionElement origin)
-        {
-            Requires.NotNullOrEmpty(contractName, "contractName");
-            Requires.IsInMembertypeSet(importingMember.MemberType, "importingMember", MemberTypes.Property | MemberTypes.Field);
-
-            if (isExportFactory)
-            {
-                return new PartCreatorMemberImportDefinition(
-                    importingMember,
-                    origin,
-                    new ContractBasedImportDefinition(
-                        contractName,
-                        requiredTypeIdentity,
-                        requiredMetadata,
-                        cardinality,
-                        isRecomposable,
-                        false,
-                        CreationPolicy.NonShared));
-            }
-            else
-            {
-                return new ReflectionMemberImportDefinition(
-                    importingMember,
-                    contractName,
-                    requiredTypeIdentity,
-                    requiredMetadata,
-                    cardinality,
-                    isRecomposable,
-                    requiredCreationPolicy,
-                    origin);
-            }
-        }
-
-        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
-        public static ContractBasedImportDefinition CreateImportDefinition(
-            Lazy<ParameterInfo> parameter,
-            string contractName,
-            string requiredTypeIdentity,
-            IEnumerable<KeyValuePair<string, Type>> requiredMetadata,
-            ImportCardinality cardinality,
-            CreationPolicy requiredCreationPolicy,
-            ICompositionElement origin)
-        {
-            return CreateImportDefinition(parameter, contractName, requiredTypeIdentity, requiredMetadata, cardinality, requiredCreationPolicy, false, origin);
-        }
-
-        [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
-        internal static ContractBasedImportDefinition CreateImportDefinition(
-            Lazy<ParameterInfo> parameter,
-            string contractName,
-            string requiredTypeIdentity,
-            IEnumerable<KeyValuePair<string, Type>> requiredMetadata,
-            ImportCardinality cardinality,
-            CreationPolicy requiredCreationPolicy,
-            bool isExportFactory,
-            ICompositionElement origin)
-        {
-            Requires.NotNull(parameter, "parameter");
-            Requires.NotNullOrEmpty(contractName, "contractName");
-
-            if (isExportFactory)
-            {
-                return new PartCreatorParameterImportDefinition(
-                    parameter,
-                    origin,
-                    new ContractBasedImportDefinition(
-                        contractName,
-                        requiredTypeIdentity,
-                        requiredMetadata,
-                        cardinality,
-                        false,
-                        true,
-                        CreationPolicy.NonShared));
-            }
-            else
-            {
-                return new ReflectionParameterImportDefinition(
-                    parameter,
-                    contractName,
-                    requiredTypeIdentity,
-                    requiredMetadata,
-                    cardinality,
-                    requiredCreationPolicy,
-                    origin);
-            }
-        }
-    }
-        internal class ReflectionPartCreationInfo : IReflectionPartCreationInfo
-        {
-            private readonly Lazy<Type> _partType;
-            private readonly Lazy<IEnumerable<ImportDefinition>> _imports;
-            private readonly Lazy<IEnumerable<ExportDefinition>> _exports;
-            private readonly Lazy<IDictionary<string, object>> _metadata;
-            private readonly ICompositionElement _origin;
-            private ConstructorInfo _constructor;
-            private bool _isDisposalRequired;
-
-            public ReflectionPartCreationInfo(
-                Lazy<Type> partType,
-                bool isDisposalRequired,
-                Lazy<IEnumerable<ImportDefinition>> imports,
-                Lazy<IEnumerable<ExportDefinition>> exports,
-                Lazy<IDictionary<string, object>> metadata,
-                ICompositionElement origin)
-            {
-                Assumes.NotNull(partType);
-
-                this._partType = partType;
-                this._isDisposalRequired = isDisposalRequired;
-                this._imports = imports;
-                this._exports = exports;
-                this._metadata = metadata;
-                this._origin = origin;
-            }
-
-            public Type GetPartType()
-            {
-                return this._partType.GetNotNullValue("type");
-            }
-
-            public Lazy<Type> GetLazyPartType()
-            {
-                return this._partType;
-            }
-
-            public ConstructorInfo GetConstructor()
-            {
-                if (this._constructor == null)
-                {
-                    ConstructorInfo[] constructors = null;
-                    constructors = this.GetImports()
-                        .OfType<ReflectionParameterImportDefinition>()
-                        .Select(parameterImport => parameterImport.ImportingLazyParameter.Value.Member)
-                        .OfType<ConstructorInfo>()
-                        .Distinct()
-                        .ToArray();
-
-                    if (constructors.Length == 1)
-                    {
-                        this._constructor = constructors[0];
-                    }
-                    else if (constructors.Length == 0)
-                    {
-                        this._constructor = this.GetPartType().GetConstructor(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance, null, Type.EmptyTypes, null);
-                    }
-                }
-                return this._constructor;
-            }
-
-            public bool IsDisposalRequired
-            {
-                get
-                {
-                    return this._isDisposalRequired;
-                }
-            }
-
-            public IDictionary<string, object> GetMetadata()
-            {
-                return (this._metadata != null) ? this._metadata.Value : null;
-            }
-
-            public IEnumerable<ExportDefinition> GetExports()
-            {
-                if (this._exports == null)
-                {
-                    yield break;
-                }
-
-                IEnumerable<ExportDefinition> exports = this._exports.Value;
-
-                if (exports == null)
-                {
-                    yield break;
-                }
-
-                foreach (ExportDefinition export in exports)
-                {
-                    ReflectionMemberExportDefinition reflectionExport = export as ReflectionMemberExportDefinition;
-                    if (reflectionExport == null)
-                    {
-                        throw new InvalidOperationException(
-                            string.Format(CultureInfo.CurrentCulture, Strings.ReflectionModel_InvalidExportDefinition, export.GetType()));
-                    }
-                    yield return reflectionExport;
-                }
-            }
-
-            public IEnumerable<ImportDefinition> GetImports()
-            {
-                if (this._imports == null)
-                {
-                    yield break;
-                }
-
-                IEnumerable<ImportDefinition> imports = this._imports.Value;
-
-                if (imports == null)
-                {
-                    yield break;
-                }
-
-                foreach (ImportDefinition import in imports)
-                {
-                    ReflectionImportDefinition reflectionImport = import as ReflectionImportDefinition;
-                    if (reflectionImport == null)
-                    {
-                        throw new InvalidOperationException(
-                            string.Format(CultureInfo.CurrentCulture, Strings.ReflectionModel_InvalidMemberImportDefinition, import.GetType()));
-                    }
-                    yield return reflectionImport;
-                }
-            }
-
-            public string DisplayName
-            {
-                get { return this.GetPartType().GetDisplayName(); }
-            }
-
-            public ICompositionElement Origin
-            {
-                get { return this._origin; }
-            }
-        }
-
-        internal class LazyExportDefinition : ExportDefinition
-        {
-            private readonly Lazy<IDictionary<string, object>> _metadata;
-
-            public LazyExportDefinition(string contractName, Lazy<IDictionary<string, object>> metadata)
-                : base(contractName, (IDictionary<string, object>)null)
-            {
-                this._metadata = metadata;
-            }
-
-            public override IDictionary<string, object> Metadata
-            {
-                get
-                {
-                    return this._metadata.Value;
-                }
-            }
-        }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionParameter.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionParameter.cs
deleted file mode 100644
index 0d5fbf3..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionParameter.cs
+++ /dev/null
@@ -1,52 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Globalization;
-using System.Reflection;
-using Microsoft.Internal;
-using System.Threading;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    internal class ReflectionParameter : ReflectionItem
-    {
-        private readonly ParameterInfo _parameter;
-
-        public ReflectionParameter(ParameterInfo parameter)
-        {
-            Assumes.NotNull(parameter);
-
-            this._parameter = parameter;
-        }
-
-        public ParameterInfo UnderlyingParameter
-        {
-            get { return this._parameter; }
-        }
-
-        public override string Name
-        {
-            get { return this.UnderlyingParameter.Name; }
-        }
-
-        public override string GetDisplayName()
-        {
-            return string.Format(
-                CultureInfo.CurrentCulture,
-                "{0} (Parameter=\"{1}\")",  // NOLOC
-                this.UnderlyingParameter.Member.GetDisplayName(),
-                this.UnderlyingParameter.Name);
-        }
-
-        public override Type ReturnType
-        {
-            get { return this.UnderlyingParameter.ParameterType; }
-        }
-
-        public override ReflectionItemType ItemType
-        {
-            get { return ReflectionItemType.Parameter; }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionParameterImportDefinition.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionParameterImportDefinition.cs
deleted file mode 100644
index 42eadff..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionParameterImportDefinition.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Globalization;
-using System.Reflection;
-using Microsoft.Internal;
-using System.ComponentModel.Composition.ReflectionModel;
-using System.Collections.Generic;
-using System.ComponentModel.Composition.Primitives;
-using System.Threading;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    internal class ReflectionParameterImportDefinition : ReflectionImportDefinition
-    {
-        private Lazy<ParameterInfo> _importingLazyParameter;
-
-        public ReflectionParameterImportDefinition(
-            Lazy<ParameterInfo> importingLazyParameter,
-            string contractName, 
-            string requiredTypeIdentity,
-            IEnumerable<KeyValuePair<string,Type>> requiredMetadata,
-            ImportCardinality cardinality, 
-            CreationPolicy requiredCreationPolicy,
-            ICompositionElement origin) 
-            : base(contractName, requiredTypeIdentity, requiredMetadata, cardinality, false, true, requiredCreationPolicy, origin)
-        {
-            Assumes.NotNull(importingLazyParameter);
-
-            this._importingLazyParameter = importingLazyParameter;
-        }
-
-        public override ImportingItem ToImportingItem()
-        {
-            return new ImportingParameter(this, new ImportType(this.ImportingLazyParameter.GetNotNullValue("parameter").ParameterType, this.Cardinality));
-        }
-
-        public Lazy<ParameterInfo> ImportingLazyParameter
-        {
-            get { return this._importingLazyParameter; }
-        }
-
-        protected override string GetDisplayName()
-        {
-            ParameterInfo parameter = this.ImportingLazyParameter.GetNotNullValue("parameter");
-            return string.Format(
-                CultureInfo.CurrentCulture,
-                "{0} (Parameter=\"{1}\", ContractName=\"{2}\")",  // NOLOC
-                parameter.Member.GetDisplayName(),
-                parameter.Name,                
-                this.ContractName);
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionProperty.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionProperty.cs
deleted file mode 100644
index 6daa34b..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionProperty.cs
+++ /dev/null
@@ -1,124 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Reflection;
-using Microsoft.Internal;
-using System.Threading;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    // Instead of representing properties as an actual PropertyInfo, we need to 
-    // represent them as two MethodInfo objects one for each accessor. This is so 
-    // that cached attribute part can go from a metadata token -> XXXInfo without 
-    // needing to walk all members of a particular type. Unfortunately, (probably 
-    // because you never see one of them in an IL stream), Reflection does not allow 
-    // you to go from a metadata token -> PropertyInfo like it does with types, 
-    // fields, and methods.
-
-    internal class ReflectionProperty : ReflectionWritableMember
-    {
-        private readonly MethodInfo _getMethod;
-        private readonly MethodInfo _setMethod;
-
-        public ReflectionProperty(MethodInfo getMethod, MethodInfo setMethod)
-        {
-            Assumes.IsTrue(getMethod != null || setMethod != null);
-
-            this._getMethod = getMethod;
-            this._setMethod = setMethod;
-        }
-
-        public override MemberInfo UnderlyingMember
-        {
-            get { return this.UnderlyingGetMethod ?? this.UnderlyingSetMethod; }
-        }
-
-        public override bool CanRead
-        {
-            get { return this.UnderlyingGetMethod != null; }
-        }
-
-        public override bool CanWrite
-        {
-            get { return this.UnderlyingSetMethod != null; }
-        }
-
-        public MethodInfo UnderlyingGetMethod
-        {
-            get { return this._getMethod; }
-        }
-
-        public MethodInfo UnderlyingSetMethod
-        {
-            get { return this._setMethod; }
-        }
-
-        public override string Name
-        {
-            get
-            {
-                MethodInfo method = this.UnderlyingGetMethod ?? this.UnderlyingSetMethod;
-
-                string name = method.Name;
-
-                Assumes.IsTrue(name.Length > 4);
-
-                // Remove 'get_' or 'set_'
-                return name.Substring(4);
-            }
-        }
-
-        public override string GetDisplayName()
-        {
-            return ReflectionServices.GetDisplayName(this.DeclaringType, this.Name);
-        }
-
-        public override bool RequiresInstance
-        {
-            get
-            {
-                MethodInfo method = this.UnderlyingGetMethod ?? this.UnderlyingSetMethod;
-
-                return !method.IsStatic;
-            }
-        }
-
-        public override Type ReturnType
-        {
-            get
-            {
-                if (this.UnderlyingGetMethod != null)
-                {
-                    return this.UnderlyingGetMethod.ReturnType;
-                }
-
-                ParameterInfo[] parameters = this.UnderlyingSetMethod.GetParameters();
-
-                Assumes.IsTrue(parameters.Length > 0);
-
-                return parameters[parameters.Length - 1].ParameterType;
-            }
-        }
-
-        public override ReflectionItemType ItemType
-        {
-            get { return ReflectionItemType.Property; }
-        }
-
-        public override object GetValue(object instance)
-        {
-            Assumes.NotNull(this._getMethod);
-
-            return this.UnderlyingGetMethod.SafeInvoke(instance);
-        }
-
-        public override void SetValue(object instance, object value)
-        {
-            Assumes.NotNull(this._setMethod);
-
-            this.UnderlyingSetMethod.SafeInvoke(instance, value);
-        }
-
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionType.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionType.cs
deleted file mode 100644
index 047333a..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionType.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.ComponentModel.Composition.AttributedModel;
-using System.Reflection;
-using Microsoft.Internal;
-using System.Threading;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    internal class ReflectionType : ReflectionMember
-    {
-        private Type _type;
-
-        public ReflectionType(Type type)
-        {
-            Assumes.NotNull(type);
-
-            this._type = type;
-        }
-
-        public override MemberInfo UnderlyingMember
-        {
-            get { return this._type; }
-        }
-
-        public Type UnderlyingType
-        {
-            get { return this._type; }
-        }
-
-        public override bool CanRead
-        {
-            get { return true; }
-        }
-
-        public override bool RequiresInstance
-        {
-            get { return true; }
-        }
-
-        public override Type ReturnType
-        {
-            get { return this._type; }
-        }
-
-        public override ReflectionItemType ItemType
-        {
-            get { return ReflectionItemType.Type; }
-        }
-
-        public override object GetValue(object instance)
-        {
-            return instance;
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionWritableMember.cs b/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionWritableMember.cs
deleted file mode 100644
index b8cf56d..0000000
--- a/System.ComponentModel.Composition/System/ComponentModel/Composition/ReflectionModel/ReflectionWritableMember.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Reflection;
-using Microsoft.Internal;
-
-namespace System.ComponentModel.Composition.ReflectionModel
-{
-    internal abstract class ReflectionWritableMember : ReflectionMember
-    {
-        public abstract bool CanWrite
-        {
-            get;
-        }
-
-        public abstract void SetValue(object instance, object value);
-    }
-}
diff --git a/System.ComponentModel.Composition/System/Lazy.cs b/System.ComponentModel.Composition/System/Lazy.cs
deleted file mode 100644
index 369e7d1..0000000
--- a/System.ComponentModel.Composition/System/Lazy.cs
+++ /dev/null
@@ -1,80 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-#if !CLR40
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading;
-using Microsoft.Internal;
-
-namespace System
-{
-    public class Lazy<T>
-    {
-        private T _value = default(T);
-        private volatile bool _isValueCreated = false;
-        private Func<T> _valueFactory = null;
-        private object _lock;
-
-        public Lazy()
-            : this(() => Activator.CreateInstance<T>())
-        {
-        }
-
-        public Lazy(bool isThreadSafe)
-            : this(() => Activator.CreateInstance<T>(), isThreadSafe)
-        {
-        }
-
-        public Lazy(Func<T> valueFactory):
-            this(valueFactory, true)
-        {
-        }
-
-        public Lazy(Func<T> valueFactory, bool isThreadSafe)
-        {
-            Requires.NotNull(valueFactory, "valueFactory");
-            if(isThreadSafe)
-            {
-                this._lock = new object();
-            }
-
-            this._valueFactory = valueFactory;
-        }
-
-
-        public T Value
-        {
-            get
-            {
-                if (!this._isValueCreated)
-                {
-                    if(this._lock != null)
-                    {
-                        Monitor.Enter(this._lock);
-                    }
-
-                    try
-                    {
-                        T value = this._valueFactory.Invoke();
-                        this._valueFactory = null;
-                        Thread.MemoryBarrier();
-                        this._value = value;
-                        this._isValueCreated = true;
-                    }
-                    finally
-                    {
-                        if(this._lock != null)
-                        {
-                            Monitor.Exit(this._lock);
-                        }
-                    }
-                }
-                return this._value;
-            }
-        }
-    }
-}
-#endif
diff --git a/System.ComponentModel.Composition/System/LazyOfTTMetadata.cs b/System.ComponentModel.Composition/System/LazyOfTTMetadata.cs
deleted file mode 100644
index 24221c6..0000000
--- a/System.ComponentModel.Composition/System/LazyOfTTMetadata.cs
+++ /dev/null
@@ -1,51 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace System
-{
-#if CLR40 && !SILVERLIGHT
-    [Serializable]
-#endif
-    public class Lazy<T, TMetadata> : Lazy<T>
-    {
-        private TMetadata _metadata;
-
-        public Lazy(Func<T> valueFactory, TMetadata metadata) : 
-            base(valueFactory)
-        {
-            this._metadata = metadata;
-        }
-
-        public Lazy(TMetadata metadata) :
-            base()
-        {
-            this._metadata = metadata;
-        }
-
-
-        public Lazy(TMetadata metadata, bool isThreadSafe) : 
-            base(isThreadSafe)
-        {
-            this._metadata = metadata;
-        }
-
-        public Lazy(Func<T> valueFactory, TMetadata metadata, bool isThreadSafe) :
-            base(valueFactory, isThreadSafe)
-        {
-            this._metadata = metadata;
-        }
-
-        public TMetadata Metadata
-        {
-            get
-            {
-                return this._metadata;
-            }
-        }
-    }
-}
diff --git a/System.ComponentModel.Composition/System/Tuple.cs b/System.ComponentModel.Composition/System/Tuple.cs
deleted file mode 100644
index 1ce2dea..0000000
--- a/System.ComponentModel.Composition/System/Tuple.cs
+++ /dev/null
@@ -1,52 +0,0 @@
-// -----------------------------------------------------------------------
-// Copyright (c) Microsoft Corporation.  All rights reserved.
-// -----------------------------------------------------------------------
-#if !CLR40
-using System;
-
-namespace System
-{
-    // This is a very minimalistic implementation of Tuple'2 that allows us
-    // to compile and work on versions of .Net eariler then 4.0.
-    public struct Tuple<TItem1, TItem2>
-    {
-        public Tuple(TItem1 item1, TItem2 item2)
-        {
-            this = new Tuple<TItem1, TItem2>();
-            this.Item1 = item1;
-            this.Item2 = item2;
-        }
-
-        public TItem1 Item1 { get; private set; }
-        public TItem2 Item2 { get; private set; }
-
-        public override bool Equals(object obj)
-        {
-            if (obj is Tuple<TItem1, TItem2>)
-            {
-                Tuple<TItem1, TItem2> that = (Tuple<TItem1, TItem2>)obj;
-                return object.Equals(this.Item1, that.Item1) && object.Equals(this.Item2, that.Item2);
-            }
-            else
-            {
-                return false;
-            }
-        }
-
-        public override int GetHashCode()
-        {
-            return ((this.Item1 != null) ? this.Item1.GetHashCode() : 0) ^ ((this.Item2 != null) ? this.Item2.GetHashCode() : 0);
-        }
-
-        public static bool operator ==(Tuple<TItem1, TItem2> left, Tuple<TItem1, TItem2> right)
-        {
-            return left.Equals(right);
-        }
-
-        public static bool operator !=(Tuple<TItem1, TItem2> left, Tuple<TItem1, TItem2> right)
-        {
-            return !left.Equals(right);
-        }
-    }
-}
-#endif
\ No newline at end of file
diff --git a/aclocal.m4 b/aclocal.m4
new file mode 100644
index 0000000..a9f93bf
--- /dev/null
+++ b/aclocal.m4
@@ -0,0 +1,776 @@
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008, 2009  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.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],,
+[m4_warning([this file was generated for autoconf 2.65.
+You have another version of autoconf.  It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
+
+# pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
+# 
+# Copyright © 2004 Scott James Remnant <scott at netsplit.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+	_pkg_min_version=m4_default([$1], [0.9.0])
+	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+		AC_MSG_RESULT([yes])
+	else
+		AC_MSG_RESULT([no])
+		PKG_CONFIG=""
+	fi
+		
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
+
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists.  Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+#
+# Similar to PKG_CHECK_MODULES, make sure that the first instance of
+# this or PKG_CHECK_MODULES is called, or make sure to call
+# PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+  m4_ifval([$2], [$2], [:])
+m4_ifvaln([$3], [else
+  $3])dnl
+fi])
+
+
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$PKG_CONFIG"; then
+    if test -n "$$1"; then
+        pkg_cv_[]$1="$$1"
+    else
+        PKG_CHECK_EXISTS([$3],
+                         [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
+			 [pkg_failed=yes])
+    fi
+else
+	pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
+
+# _PKG_SHORT_ERRORS_SUPPORTED
+# -----------------------------
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi[]dnl
+])# _PKG_SHORT_ERRORS_SUPPORTED
+
+
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
+#
+#
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+#
+#
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+        _PKG_SHORT_ERRORS_SUPPORTED
+        if test $_pkg_short_errors_supported = yes; then
+	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
+        else 
+	        $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+	ifelse([$4], , [AC_MSG_ERROR(dnl
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT
+])],
+		[AC_MSG_RESULT([no])
+                $4])
+elif test $pkg_failed = untried; then
+	ifelse([$4], , [AC_MSG_FAILURE(dnl
+[The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])],
+		[$4])
+else
+	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+        AC_MSG_RESULT([yes])
+	ifelse([$3], , :, [$3])
+fi[]dnl
+])# PKG_CHECK_MODULES
+
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  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_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# 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.11'
+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.11.1], [],
+      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too.  Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_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.11.1])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005  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.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory.  The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run.  This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+#    fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+#    fails if $ac_aux_dir is absolute,
+#    fails when called from a subdirectory in a VPATH build with
+#          a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir.  In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
+#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+#   MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH.  The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# Do all the work for Automake.                             -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2008, 2009 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.
+
+# serial 16
+
+# 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.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out.  PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition.  After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.62])dnl
+dnl Autoconf wants to disallow AM_ names.  We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+  fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+			     [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+		  [_AM_DEPENDENCIES(CC)],
+		  [define([AC_PROG_CC],
+			  defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+		  [_AM_DEPENDENCIES(CXX)],
+		  [define([AC_PROG_CXX],
+			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+		  [_AM_DEPENDENCIES(OBJC)],
+		  [define([AC_PROG_OBJC],
+			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
+dnl 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
+])
+
+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
+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.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $_am_arg | $_am_arg:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005, 2008  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_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+if test x"${install_sh}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+  *)
+    install_sh="\${SHELL} $am_aux_dir/install-sh"
+  esac
+fi
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005  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.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot.  For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
+# 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.
+
+# serial 6
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+if test x"${MISSING+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+  *)
+    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+  esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005, 2006  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_MKDIR_P
+# ---------------
+# Check for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+  [[\\/$]]* | ?:[[\\/]]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
+# Helper functions for option handling.                     -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2008  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.
+
+# serial 4
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME.  Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Copyright (C) 2001, 2003, 2005  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, 1997, 2000, 2001, 2003, 2005, 2008
+# 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.
+
+# serial 5
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name.  Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+  *[[\\\"\#\$\&\'\`$am_lf]]*)
+    AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
+    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+esac
+
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+   if test "$[*]" = "X"; then
+      # -L didn't work.
+      set X `ls -t "$srcdir/configure" conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$[*]" != "X $srcdir/configure conftest.file" \
+      && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+alias in your environment])
+   fi
+
+   test "$[2]" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005  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_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries.  This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+  AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006, 2008  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.
+
+# serial 2
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
+# Check how to create a tarball.                            -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005  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.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+#     tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+#     $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [m4_case([$1], [ustar],, [pax],,
+              [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      AM_RUN_LOG([$_am_tar --version]) && break
+    done
+    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x $1 -w "$$tardir"'
+    am__tar_='pax -L -x $1 -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+    am__untar='cpio -i -H $1 -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
+
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_$1}" && break
+
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    AM_RUN_LOG([$am__untar <conftest.tar])
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
diff --git a/autogen.sh b/autogen.sh
deleted file mode 100755
index c90d3a8..0000000
--- a/autogen.sh
+++ /dev/null
@@ -1,141 +0,0 @@
-#! /bin/sh
-
-# Compares software version numbers
-# 10 means EQUAL
-# 11 means GREATER THAN
-# 9 means LESS THAN
-check_version() {
-	test -z "$1" && return 1
-	local ver1=$1
-	while test `echo $ver1 | egrep -c [^0123456789.]` -gt 0 ; do
-		char=`echo $ver1 | sed 's/.*\([^0123456789.]\).*/\1/'`
-		char_dec=`echo -n "$char" | od -b | head -1 | awk {'print $2'}`
-		ver1=`echo $ver1 | sed "s/$char/.$char_dec/g"`
-	done	
-	test -z "$2" && return 1
-	local ver2=$2
-	while test `echo $ver2 | egrep -c [^0123456789.]` -gt 0 ; do
-		char=`echo $ver2 | sed 's/.*\([^0123456789.]\).*/\1/'`
-		char_dec=`echo -n "$char" | od -b | head -1 | awk {'print $2'}`
-		ver2=`echo $ver2 | sed "s/$char/.$char_dec/g"`
-	done	
-
-	ver1=`echo $ver1 | sed 's/\.\./.0/g'`
-	ver2=`echo $ver2 | sed 's/\.\./.0/g'`
-
-	do_version_check "$ver1" "$ver2"
-}
-
-do_version_check() {
-	
-	test "$1" -eq "$2" && return 10
-
-	ver1front=`echo $1 | cut -d "." -f -1`
-	ver1back=`echo $1 | cut -d "." -f 2-`
-	ver2front=`echo $2 | cut -d "." -f -1`
-	ver2back=`echo $2 | cut -d "." -f 2-`
-
-	if test "$ver1front" != "$1"  || test "$ver2front" != "$2" ; then
-		test "$ver1front" -gt "$ver2front" && return 11
-		test "$ver1front" -lt "$ver2front" && return 9
-
-		test "$ver1front" -eq "$1" || test -z "$ver1back" && ver1back=0
-		test "$ver2front" -eq "$2" || test -z "$ver2back" && ver2back=0
-		do_version_check "$ver1back" "$ver2back"
-		return $?
-	else
-		test "$1" -gt "$2" && return 11 || return 9
-	fi
-}
-
-PROJECT=Pinta
-FILE=
-CONFIGURE=configure.ac
-
-: ${AUTOCONF=autoconf}
-: ${AUTOHEADER=autoheader}
-: ${AUTOMAKE=automake}
-: ${ACLOCAL=aclocal}
-: ${MONO=mono}
-: ${XBUILD=xbuild}
-
-DIE=0
-
-($AUTOCONF --version) < /dev/null > /dev/null 2>&1 || {
-        echo
-        echo "You must have autoconf installed to compile $PROJECT."
-        echo "Download the appropriate package for your distribution,"
-        echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
-        DIE=1
-}
-
-($AUTOMAKE --version) < /dev/null > /dev/null 2>&1 || {
-        echo
-        echo "You must have automake installed to compile $PROJECT."
-        echo "Get ftp://sourceware.cygnus.com/pub/automake/automake-1.4.tar.gz"
-        echo "(or a newer version if it is available)"
-        DIE=1
-}
-
-($MONO --version) < /dev/null > /dev/null 2>&1 || {
-        echo
-        echo "You must have mono runtime installed to compile $PROJECT."
-        DIE=1
-}
-
-($XBUILD /version) < /dev/null > /dev/null 2>&1 || {
-        echo
-        echo "You must have mono-xbuild installed to compile $PROJECT."
-        DIE=1
-}
-
-if test "$DIE" -eq 1; then
-        exit 1
-fi
-
-xbuild_version=`xbuild /version | grep '^XBuild' | egrep -o '([0-9]+\.?){2,}'`
-check_version "$xbuild_version" "2.4" 2> /dev/null
-if test $? -eq 9; then
-	echo
-	echo "A newer version of XBuild is required to build $PROJECT ( >= 2.4 )"
-	exit 1
-fi
-
-mono_version=`xbuild /version | grep '^Mono' | egrep -o '([0-9]+\.?){2,}'`
-check_version "$xbuild_version" "2.4" 2> /dev/null
-if test $? -eq 9; then
-	echo
-	echo "A newer version of Mono is required to run $PROJECT ( >= 2.4 )"
-	exit 1
-fi
-
-#Check directoy 
-srcdir=`dirname $0`
-test -z "$srcdir" && srcdir=.
-
-ORIGDIR=`pwd`
-cd $srcdir
-TEST_TYPE=-f
-aclocalinclude="-I . $ACLOCAL_FLAGS"
-                                                                         
-test $TEST_TYPE $FILE || {
-        echo "You must run this script in the top-level $PROJECT directory"
-        exit 1
-}
-
-if test -z "$*"; then
-        echo "I am going to run ./configure with no arguments - if you wish "
-        echo "to pass any to it, please specify them on the $0 command line."
-fi
-
-echo "Running $ACLOCAL $aclocalinclude ..."
-$ACLOCAL $aclocalinclude
-
-echo "Running $AUTOMAKE --gnu $am_opt ..."
-$AUTOMAKE --add-missing --gnu $am_opt
-
-echo "Running $AUTOCONF ..."
-$AUTOCONF
-
-echo Running $srcdir/configure $conf_flags "$@" ...
-$srcdir/configure $conf_flags "$@"
diff --git a/configure b/configure
new file mode 100755
index 0000000..70bfc99
--- /dev/null
+++ b/configure
@@ -0,0 +1,4078 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.65 for pinta 0.6.
+#
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
+#
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
+  else
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in #(
+      *"$as_nl"*)
+	expr "X$arg" : "X\\(.*\\)$as_nl";
+	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
+  fi
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in #((
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test "x$CONFIG_SHELL" = x; then
+  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
+else
+  case \`(set -o) 2>/dev/null\` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+"
+  as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+  exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1"
+  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1"
+  if (eval "$as_required") 2>/dev/null; then :
+  as_have_required=yes
+else
+  as_have_required=no
+fi
+  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  as_found=:
+  case $as_dir in #(
+	 /*)
+	   for as_base in sh bash ksh sh5; do
+	     # Try only shells that exist, to save several forks.
+	     as_shell=$as_dir/$as_base
+	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  CONFIG_SHELL=$as_shell as_have_required=yes
+		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  break 2
+fi
+fi
+	   done;;
+       esac
+  as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+  CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+      if test "x$CONFIG_SHELL" != x; then :
+  # We cannot yet assume a decent shell, so we have to provide a
+	# neutralization value for shells without unset; and this also
+	# works around shells that cannot unset nonexistent variables.
+	BASH_ENV=/dev/null
+	ENV=/dev/null
+	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+	export CONFIG_SHELL
+	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+    if test x$as_have_required = xno; then :
+  $as_echo "$0: This script requires a shell more modern than all"
+  $as_echo "$0: the shells that I found on your system."
+  if test x${ZSH_VERSION+set} = xset ; then
+    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+  else
+    $as_echo "$0: Please tell bug-autoconf at gnu.org about your system,
+$0: including any error possibly output before this
+$0: message. Then install a modern shell, or manually run
+$0: the script under such a shell if you do have one."
+  fi
+  exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+# as_fn_error ERROR [LINENO LOG_FD]
+# ---------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with status $?, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$?; test $as_status -eq 0 && as_status=1
+  if test "$3"; then
+    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  fi
+  $as_echo "$as_me: error: $1" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+
+  as_lineno_1=$LINENO as_lineno_1a=$LINENO
+  as_lineno_2=$LINENO as_lineno_2a=$LINENO
+  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
+}
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+  case `echo 'xy\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='	';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -p'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -p'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -p'
+  fi
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+	test -d "$1/.";
+      else
+	case $1 in #(
+	-*)set "./$1";;
+	esac;
+	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+	???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+
+# Identity of this package.
+PACKAGE_NAME='pinta'
+PACKAGE_TARNAME='pinta'
+PACKAGE_VERSION='0.6'
+PACKAGE_STRING='pinta 0.6'
+PACKAGE_BUGREPORT=''
+PACKAGE_URL=''
+
+ac_default_prefix=/usr
+ac_subst_vars='LTLIBOBJS
+LIBOBJS
+MONO_CAIRO_LIBS
+MONO_CAIRO_CFLAGS
+GTK_SHARP_20_LIBS
+GTK_SHARP_20_CFLAGS
+GLIB_SHARP_20_LIBS
+GLIB_SHARP_20_CFLAGS
+MONO_LIBS
+MONO_CFLAGS
+MONO
+XBUILD
+PKG_CONFIG
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+'
+      ac_precious_vars='build_alias
+host_alias
+target_alias
+PKG_CONFIG
+MONO_CFLAGS
+MONO_LIBS
+GLIB_SHARP_20_CFLAGS
+GLIB_SHARP_20_LIBS
+GTK_SHARP_20_CFLAGS
+GTK_SHARP_20_LIBS
+MONO_CAIRO_CFLAGS
+MONO_CAIRO_LIBS'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval $ac_prev=\$ac_option
+    ac_prev=
+    continue
+  fi
+
+  case $ac_option in
+  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *)	ac_optarg=yes ;;
+  esac
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case $ac_dashdash$ac_option in
+  --)
+    ac_dashdash=yes ;;
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir=$ac_optarg ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build_alias ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build_alias=$ac_optarg ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file=$ac_optarg ;;
+
+  --config-cache | -C)
+    cache_file=config.cache ;;
+
+  -datadir | --datadir | --datadi | --datad)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=*)
+    datadir=$ac_optarg ;;
+
+  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+  | --dataroo | --dataro | --datar)
+    ac_prev=datarootdir ;;
+  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+    datarootdir=$ac_optarg ;;
+
+  -disable-* | --disable-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error "invalid feature name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=no ;;
+
+  -docdir | --docdir | --docdi | --doc | --do)
+    ac_prev=docdir ;;
+  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+    docdir=$ac_optarg ;;
+
+  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+    ac_prev=dvidir ;;
+  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+    dvidir=$ac_optarg ;;
+
+  -enable-* | --enable-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error "invalid feature name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=\$ac_optarg ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix=$ac_optarg ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he | -h)
+    ac_init_help=long ;;
+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+    ac_init_help=recursive ;;
+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+    ac_init_help=short ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host_alias ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host_alias=$ac_optarg ;;
+
+  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+    ac_prev=htmldir ;;
+  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+  | --ht=*)
+    htmldir=$ac_optarg ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir=$ac_optarg ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir=$ac_optarg ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir=$ac_optarg ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir=$ac_optarg ;;
+
+  -localedir | --localedir | --localedi | --localed | --locale)
+    ac_prev=localedir ;;
+  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+    localedir=$ac_optarg ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst | --locals)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+    localstatedir=$ac_optarg ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir=$ac_optarg ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c | -n)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir=$ac_optarg ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix=$ac_optarg ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix=$ac_optarg ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix=$ac_optarg ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name=$ac_optarg ;;
+
+  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+    ac_prev=pdfdir ;;
+  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+    pdfdir=$ac_optarg ;;
+
+  -psdir | --psdir | --psdi | --psd | --ps)
+    ac_prev=psdir ;;
+  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+    psdir=$ac_optarg ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir=$ac_optarg ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir=$ac_optarg ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site=$ac_optarg ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir=$ac_optarg ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir=$ac_optarg ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target_alias ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target_alias=$ac_optarg ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers | -V)
+    ac_init_version=: ;;
+
+  -with-* | --with-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error "invalid package name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=\$ac_optarg ;;
+
+  -without-* | --without-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error "invalid package name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=no ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes=$ac_optarg ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries=$ac_optarg ;;
+
+  -*) as_fn_error "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information."
+    ;;
+
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    case $ac_envvar in #(
+      '' | [0-9]* | *[!_$as_cr_alnum]* )
+      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+    esac
+    eval $ac_envvar=\$ac_optarg
+    export $ac_envvar ;;
+
+  *)
+    # FIXME: should be removed in autoconf 3.0.
+    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+  as_fn_error "missing argument to $ac_option"
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+  case $enable_option_checking in
+    no) ;;
+    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+  esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
+		datadir sysconfdir sharedstatedir localstatedir includedir \
+		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+		libdir localedir mandir
+do
+  eval ac_val=\$$ac_var
+  # Remove trailing slashes.
+  case $ac_val in
+    */ )
+      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+      eval $ac_var=\$ac_val;;
+  esac
+  # Be sure to have absolute directory names.
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* )  continue;;
+    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+  esac
+  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+  if test "x$build_alias" = x; then
+    cross_compiling=maybe
+    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+    If a cross compiler is detected then cross compile mode will be used." >&2
+  elif test "x$build_alias" != "x$host_alias"; then
+    cross_compiling=yes
+  fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+  as_fn_error "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+  as_fn_error "pwd does not report name of working directory"
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then the parent directory.
+  ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_myself" : 'X\(//\)[^/]' \| \
+	 X"$as_myself" : 'X\(//\)$' \| \
+	 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  srcdir=$ac_confdir
+  if test ! -r "$srcdir/$ac_unique_file"; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+  srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+  eval ac_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_env_${ac_var}_value=\$${ac_var}
+  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+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 pinta 0.6 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+  -h, --help              display this help and exit
+      --help=short        display options specific to this package
+      --help=recursive    display the short help of all the included packages
+  -V, --version           display version information and exit
+  -q, --quiet, --silent   do not print \`checking...' messages
+      --cache-file=FILE   cache test results in FILE [disabled]
+  -C, --config-cache      alias for \`--cache-file=config.cache'
+  -n, --no-create         do not create output files
+      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+                          [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+                          [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR            user executables [EPREFIX/bin]
+  --sbindir=DIR           system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR        program executables [EPREFIX/libexec]
+  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+  --libdir=DIR            object code libraries [EPREFIX/lib]
+  --includedir=DIR        C header files [PREFIX/include]
+  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
+  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
+  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
+  --infodir=DIR           info documentation [DATAROOTDIR/info]
+  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
+  --mandir=DIR            man documentation [DATAROOTDIR/man]
+  --docdir=DIR            documentation root [DATAROOTDIR/doc/pinta]
+  --htmldir=DIR           html documentation [DOCDIR]
+  --dvidir=DIR            dvi documentation [DOCDIR]
+  --pdfdir=DIR            pdf documentation [DOCDIR]
+  --psdir=DIR             ps documentation [DOCDIR]
+_ACEOF
+
+  cat <<\_ACEOF
+
+Program names:
+  --program-prefix=PREFIX            prepend PREFIX to installed program names
+  --program-suffix=SUFFIX            append SUFFIX to installed program names
+  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+  case $ac_init_help in
+     short | recursive ) echo "Configuration of pinta 0.6:";;
+   esac
+  cat <<\_ACEOF
+
+Some influential environment variables:
+  PKG_CONFIG  path to pkg-config utility
+  MONO_CFLAGS C compiler flags for MONO, overriding pkg-config
+  MONO_LIBS   linker flags for MONO, overriding pkg-config
+  GLIB_SHARP_20_CFLAGS
+              C compiler flags for GLIB_SHARP_20, overriding pkg-config
+  GLIB_SHARP_20_LIBS
+              linker flags for GLIB_SHARP_20, overriding pkg-config
+  GTK_SHARP_20_CFLAGS
+              C compiler flags for GTK_SHARP_20, overriding pkg-config
+  GTK_SHARP_20_LIBS
+              linker flags for GTK_SHARP_20, overriding pkg-config
+  MONO_CAIRO_CFLAGS
+              C compiler flags for MONO_CAIRO, overriding pkg-config
+  MONO_CAIRO_LIBS
+              linker flags for MONO_CAIRO, overriding pkg-config
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to the package provider.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d "$ac_dir" ||
+      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+      continue
+    ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+    cd "$ac_dir" || { ac_status=$?; continue; }
+    # Check for guested configure.
+    if test -f "$ac_srcdir/configure.gnu"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+    elif test -f "$ac_srcdir/configure"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure" --help=recursive
+    else
+      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi || ac_status=$?
+    cd "$ac_pwd" || { ac_status=$?; break; }
+  done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+  cat <<\_ACEOF
+pinta configure 0.6
+generated by GNU Autoconf 2.65
+
+Copyright (C) 2009 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+  exit
+fi
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+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 pinta $as_me 0.6, which was
+generated by GNU Autoconf 2.65.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    $as_echo "PATH: $as_dir"
+  done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+  for ac_arg
+  do
+    case $ac_arg in
+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+    | -silent | --silent | --silen | --sile | --sil)
+      continue ;;
+    *\'*)
+      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+    2)
+      as_fn_append ac_configure_args1 " '$ac_arg'"
+      if test $ac_must_keep_next = true; then
+	ac_must_keep_next=false # Got value, back to normal.
+      else
+	case $ac_arg in
+	  *=* | --config-cache | -C | -disable-* | --disable-* \
+	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+	  | -with-* | --with-* | -without-* | --without-* | --x)
+	    case "$ac_configure_args0 " in
+	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+	    esac
+	    ;;
+	  -* ) ac_must_keep_next=true ;;
+	esac
+      fi
+      as_fn_append ac_configure_args " '$ac_arg'"
+      ;;
+    esac
+  done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+(
+  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) { eval $ac_var=; unset $ac_var;} ;;
+      esac ;;
+    esac
+  done
+  (set) 2>&1 |
+    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      sed -n \
+	"s/'\''/'\''\\\\'\'''\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+      ;; #(
+    *)
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+)
+    echo
+
+    cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=\$$ac_var
+      case $ac_val in
+      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      esac
+      $as_echo "$ac_var='\''$ac_val'\''"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      cat <<\_ASBOX
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
+_ASBOX
+      echo
+      for ac_var in $ac_subst_files
+      do
+	eval ac_val=\$$ac_var
+	case $ac_val in
+	*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+	esac
+	$as_echo "$ac_var='\''$ac_val'\''"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+      echo
+      cat confdefs.h
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      $as_echo "$as_me: caught signal $ac_signal"
+    $as_echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core *.core core.conftest.* &&
+    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+$as_echo "/* confdefs.h */" > confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+  ac_site_file1=$CONFIG_SITE
+elif test "x$prefix" != xNONE; then
+  ac_site_file1=$prefix/share/config.site
+  ac_site_file2=$prefix/etc/config.site
+else
+  ac_site_file1=$ac_default_prefix/share/config.site
+  ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+  test "x$ac_site_file" = xNONE && continue
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . "$cache_file";;
+      *)                      . "./$cache_file";;
+    esac
+  fi
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
+  eval ac_new_val=\$ac_env_${ac_var}_value
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+	# differences in whitespace do not lead to failure.
+	ac_old_val_w=`echo x $ac_old_val`
+	ac_new_val_w=`echo x $ac_new_val`
+	if test "$ac_old_val_w" != "$ac_new_val_w"; then
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+	  ac_cache_corrupted=:
+	else
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+	  eval $ac_var=\$ac_old_val
+	fi
+	{ $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
+$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
+	{ $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
+$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
+
+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
+
+
+am__api_version='1.11'
+
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+  for ac_t in install-sh install.sh shtool; do
+    if test -f "$ac_dir/$ac_t"; then
+      ac_aux_dir=$ac_dir
+      ac_install_sh="$ac_aux_dir/$ac_t -c"
+      break 2
+    fi
+  done
+done
+if test -z "$ac_aux_dir"; then
+  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
+
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in #((
+  ./ | .// | /[cC]/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	  if test $ac_prog = install &&
+	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # AIX install.  It has an incompatible calling convention.
+	    :
+	  elif test $ac_prog = install &&
+	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # program-specific install script used by HP pwplus--don't use.
+	    :
+	  else
+	    rm -rf conftest.one conftest.two conftest.dir
+	    echo one > conftest.one
+	    echo two > conftest.two
+	    mkdir conftest.dir
+	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+	      test -s conftest.one && test -s conftest.two &&
+	      test -s conftest.dir/conftest.one &&
+	      test -s conftest.dir/conftest.two
+	    then
+	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+	      break 3
+	    fi
+	  fi
+	fi
+      done
+    done
+    ;;
+esac
+
+  done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    INSTALL=$ac_install_sh
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name.  Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+  *[\\\"\#\$\&\'\`$am_lf]*)
+    as_fn_error "unsafe absolute working directory name" "$LINENO" 5;;
+esac
+case $srcdir in
+  *[\\\"\#\$\&\'\`$am_lf\ \	]*)
+    as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+esac
+
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+   if test "$*" = "X"; then
+      # -L didn't work.
+      set X `ls -t "$srcdir/configure" conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$*" != "X $srcdir/configure conftest.file" \
+      && test "$*" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      as_fn_error "ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" "$LINENO" 5
+   fi
+
+   test "$2" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   as_fn_error "newly created file is older than distributed files!
+Check your system clock" "$LINENO" 5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+test "$program_prefix" != NONE &&
+  program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $.
+# By default was `s,x,x', remove it if useless.
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+if test x"${MISSING+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+  *)
+    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+  esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if test x"${install_sh}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+  *)
+    install_sh="\${SHELL} $am_aux_dir/install-sh"
+  esac
+fi
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    $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
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    $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
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
+  fi
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+  if test "${ac_cv_path_mkdir+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in mkdir gmkdir; do
+	 for ac_exec_ext in '' $ac_executable_extensions; do
+	   { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+	     'mkdir (GNU coreutils) '* | \
+	     'mkdir (coreutils) '* | \
+	     'mkdir (fileutils) '4.1*)
+	       ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+	       break 3;;
+	   esac
+	 done
+       done
+  done
+IFS=$as_save_IFS
+
+fi
+
+  test -d ./--version && rmdir ./--version
+  if test "${ac_cv_path_mkdir+set}" = set; then
+    MKDIR_P="$ac_cv_path_mkdir -p"
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for MKDIR_P within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    MKDIR_P="$ac_install_sh -d"
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
+
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+  [\\/$]* | ?:[\\/]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+
+for ac_prog in gawk mawk nawk awk
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AWK+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AWK"; then
+  ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_AWK="$ac_prog"
+    $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
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$AWK" && break
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+	@echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+  *@@@%%%=?*=@@@%%%*)
+    eval ac_cv_prog_make_${ac_make}_set=yes;;
+  *)
+    eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  SET_MAKE=
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  am__isrc=' -I$(srcdir)'
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+  fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='pinta'
+ VERSION='0.6'
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a ustar tar archive" >&5
+$as_echo_n "checking how to create a ustar tar archive... " >&6; }
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar plaintar pax cpio none'
+_am_tools=${am_cv_prog_tar_ustar-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      { echo "$as_me:$LINENO: $_am_tar --version" >&5
+   ($_am_tar --version) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } && break
+    done
+    am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=ustar -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x ustar -w "$$tardir"'
+    am__tar_='pax -L -x ustar -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H ustar -L'
+    am__tar_='find "$tardir" -print | cpio -o -H ustar -L'
+    am__untar='cpio -i -H ustar -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
+
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_ustar}" && break
+
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5
+   (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    { echo "$as_me:$LINENO: $am__untar <conftest.tar" >&5
+   ($am__untar <conftest.tar) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
+done
+rm -rf conftest.dir
+
+if test "${am_cv_prog_tar_ustar+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  am_cv_prog_tar_ustar=$_am_tool
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_ustar" >&5
+$as_echo "$am_cv_prog_tar_ustar" >&6; }
+
+
+
+
+
+
+
+
+
+# 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 test "${ac_cv_path_PKG_CONFIG+set}" = set; 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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
+
+
+if test "x$PKG_CONFIG" = "xno"; then
+        as_fn_error "You need to install pkg-config" "$LINENO" 5
+fi
+
+# Extract the first word of "xbuild", so it can be a program name with args.
+set dummy xbuild; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_XBUILD+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $XBUILD in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_XBUILD="$XBUILD" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_XBUILD="$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_XBUILD" && ac_cv_path_XBUILD="no"
+  ;;
+esac
+fi
+XBUILD=$ac_cv_path_XBUILD
+if test -n "$XBUILD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XBUILD" >&5
+$as_echo "$XBUILD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+# Extract the first word of "mono", so it can be a program name with args.
+set dummy mono; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_MONO+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $MONO in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_MONO="$MONO" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_MONO="$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_MONO" && ac_cv_path_MONO="no"
+  ;;
+esac
+fi
+MONO=$ac_cv_path_MONO
+if test -n "$MONO"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MONO" >&5
+$as_echo "$MONO" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+if test "x$XBUILD" = "xno"; then
+	as_fn_error "XBuild not found" "$LINENO" 5
+fi
+
+if test "x$MONO" = "xno"; then
+	as_fn_error "No mono runtime found" "$LINENO" 5
+fi
+
+# Check Mono version
+MONO_MINIMUM_VERSION=2.6.7
+
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+	if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}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 test "${ac_cv_path_PKG_CONFIG+set}" = set; 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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
+
+  ;;
+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 -z "$ac_cv_path_PKG_CONFIG"; then
+  ac_pt_PKG_CONFIG=$PKG_CONFIG
+  # 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 test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ac_pt_PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_ac_pt_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
+
+  ;;
+esac
+fi
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
+$as_echo "$ac_pt_PKG_CONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_pt_PKG_CONFIG" = x; then
+    PKG_CONFIG=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    PKG_CONFIG=$ac_pt_PKG_CONFIG
+  fi
+else
+  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+fi
+
+fi
+if test -n "$PKG_CONFIG"; then
+	_pkg_min_version=0.9.0
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
+$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
+	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	else
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+		PKG_CONFIG=""
+	fi
+
+fi
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for MONO" >&5
+$as_echo_n "checking for MONO... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$MONO_CFLAGS"; then
+        pkg_cv_MONO_CFLAGS="$MONO_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mono >= \$MONO_MINIMUM_VERSION\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "mono >= $MONO_MINIMUM_VERSION") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_MONO_CFLAGS=`$PKG_CONFIG --cflags "mono >= $MONO_MINIMUM_VERSION" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$MONO_LIBS"; then
+        pkg_cv_MONO_LIBS="$MONO_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mono >= \$MONO_MINIMUM_VERSION\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "mono >= $MONO_MINIMUM_VERSION") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_MONO_LIBS=`$PKG_CONFIG --libs "mono >= $MONO_MINIMUM_VERSION" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        MONO_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "mono >= $MONO_MINIMUM_VERSION"`
+        else
+	        MONO_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "mono >= $MONO_MINIMUM_VERSION"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$MONO_PKG_ERRORS" >&5
+
+	as_fn_error "Package requirements (mono >= $MONO_MINIMUM_VERSION) were not met:
+
+$MONO_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables MONO_CFLAGS
+and MONO_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" "$LINENO" 5
+elif test $pkg_failed = untried; then
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables MONO_CFLAGS
+and MONO_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." "$LINENO" 5; }
+else
+	MONO_CFLAGS=$pkg_cv_MONO_CFLAGS
+	MONO_LIBS=$pkg_cv_MONO_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	:
+fi
+
+
+
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLIB_SHARP_20" >&5
+$as_echo_n "checking for GLIB_SHARP_20... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$GLIB_SHARP_20_CFLAGS"; then
+        pkg_cv_GLIB_SHARP_20_CFLAGS="$GLIB_SHARP_20_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-sharp-2.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "glib-sharp-2.0") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_GLIB_SHARP_20_CFLAGS=`$PKG_CONFIG --cflags "glib-sharp-2.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$GLIB_SHARP_20_LIBS"; then
+        pkg_cv_GLIB_SHARP_20_LIBS="$GLIB_SHARP_20_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-sharp-2.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "glib-sharp-2.0") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_GLIB_SHARP_20_LIBS=`$PKG_CONFIG --libs "glib-sharp-2.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        GLIB_SHARP_20_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "glib-sharp-2.0"`
+        else
+	        GLIB_SHARP_20_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glib-sharp-2.0"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$GLIB_SHARP_20_PKG_ERRORS" >&5
+
+	as_fn_error "Package requirements (glib-sharp-2.0) were not met:
+
+$GLIB_SHARP_20_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables GLIB_SHARP_20_CFLAGS
+and GLIB_SHARP_20_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" "$LINENO" 5
+elif test $pkg_failed = untried; then
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables GLIB_SHARP_20_CFLAGS
+and GLIB_SHARP_20_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." "$LINENO" 5; }
+else
+	GLIB_SHARP_20_CFLAGS=$pkg_cv_GLIB_SHARP_20_CFLAGS
+	GLIB_SHARP_20_LIBS=$pkg_cv_GLIB_SHARP_20_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	:
+fi
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTK_SHARP_20" >&5
+$as_echo_n "checking for GTK_SHARP_20... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$GTK_SHARP_20_CFLAGS"; then
+        pkg_cv_GTK_SHARP_20_CFLAGS="$GTK_SHARP_20_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk-sharp-2.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "gtk-sharp-2.0") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_GTK_SHARP_20_CFLAGS=`$PKG_CONFIG --cflags "gtk-sharp-2.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$GTK_SHARP_20_LIBS"; then
+        pkg_cv_GTK_SHARP_20_LIBS="$GTK_SHARP_20_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk-sharp-2.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "gtk-sharp-2.0") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_GTK_SHARP_20_LIBS=`$PKG_CONFIG --libs "gtk-sharp-2.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        GTK_SHARP_20_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gtk-sharp-2.0"`
+        else
+	        GTK_SHARP_20_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gtk-sharp-2.0"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$GTK_SHARP_20_PKG_ERRORS" >&5
+
+	as_fn_error "Package requirements (gtk-sharp-2.0) were not met:
+
+$GTK_SHARP_20_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables GTK_SHARP_20_CFLAGS
+and GTK_SHARP_20_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" "$LINENO" 5
+elif test $pkg_failed = untried; then
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables GTK_SHARP_20_CFLAGS
+and GTK_SHARP_20_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." "$LINENO" 5; }
+else
+	GTK_SHARP_20_CFLAGS=$pkg_cv_GTK_SHARP_20_CFLAGS
+	GTK_SHARP_20_LIBS=$pkg_cv_GTK_SHARP_20_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	:
+fi
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for MONO_CAIRO" >&5
+$as_echo_n "checking for MONO_CAIRO... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$MONO_CAIRO_CFLAGS"; then
+        pkg_cv_MONO_CAIRO_CFLAGS="$MONO_CAIRO_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mono-cairo\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "mono-cairo") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_MONO_CAIRO_CFLAGS=`$PKG_CONFIG --cflags "mono-cairo" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$MONO_CAIRO_LIBS"; then
+        pkg_cv_MONO_CAIRO_LIBS="$MONO_CAIRO_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mono-cairo\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "mono-cairo") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_MONO_CAIRO_LIBS=`$PKG_CONFIG --libs "mono-cairo" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        MONO_CAIRO_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "mono-cairo"`
+        else
+	        MONO_CAIRO_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "mono-cairo"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$MONO_CAIRO_PKG_ERRORS" >&5
+
+	as_fn_error "Package requirements (mono-cairo) were not met:
+
+$MONO_CAIRO_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables MONO_CAIRO_CFLAGS
+and MONO_CAIRO_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" "$LINENO" 5
+elif test $pkg_failed = untried; then
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables MONO_CAIRO_CFLAGS
+and MONO_CAIRO_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." "$LINENO" 5; }
+else
+	MONO_CAIRO_CFLAGS=$pkg_cv_MONO_CAIRO_CFLAGS
+	MONO_CAIRO_LIBS=$pkg_cv_MONO_CAIRO_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	:
+fi
+
+ac_config_files="$ac_config_files Makefile pinta"
+
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems.  If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) { eval $ac_var=; unset $ac_var;} ;;
+      esac ;;
+    esac
+  done
+
+  (set) 2>&1 |
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      # `set' does not quote correctly, so add quotes: double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \.
+      sed -n \
+	"s/'/'\\\\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+      ;; #(
+    *)
+      # `set' quotes correctly as required by POSIX, so do not add quotes.
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+) |
+  sed '
+     /^ac_cv_env_/b end
+     t clear
+     :clear
+     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     t end
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    test "x$cache_file" != "x/dev/null" &&
+      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+    cat confcache >$cache_file
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+  fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then branch to the quote section.  Otherwise,
+# look for a macro that doesn't take arguments.
+ac_script='
+:mline
+/\\$/{
+ N
+ s,\\\n,,
+ b mline
+}
+t clear
+:clear
+s/^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 (][^	 (]*([^)]*)\)[	 ]*\(.*\)/-D\1=\2/g
+t quote
+s/^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 ][^	 ]*\)[	 ]*\(.*\)/-D\1=\2/g
+t quote
+b any
+:quote
+s/[	 `~#$^&*(){}\\|;'\''"<>?]/\\&/g
+s/\[/\\&/g
+s/\]/\\&/g
+s/\$/$$/g
+H
+:any
+${
+	g
+	s/^\n//
+	s/\n/ /g
+	p
+}
+'
+DEFS=`sed -n "$ac_script" confdefs.h`
+
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+  # 1. Remove the extension, and $U if already installed.
+  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
+  #    will be set to the directory where LIBOBJS objects are built.
+  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+
+
+: ${CONFIG_STATUS=./config.status}
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
+  else
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in #(
+      *"$as_nl"*)
+	expr "X$arg" : "X\\(.*\\)$as_nl";
+	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
+  fi
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in #((
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error ERROR [LINENO LOG_FD]
+# ---------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with status $?, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$?; test $as_status -eq 0 && as_status=1
+  if test "$3"; then
+    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  fi
+  $as_echo "$as_me: error: $1" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+  case `echo 'xy\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='	';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -p'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -p'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -p'
+  fi
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+	test -d "$1/.";
+      else
+	case $1 in #(
+	-*)set "./$1";;
+	esac;
+	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+	???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by pinta $as_me 0.6, which was
+generated by GNU Autoconf 2.65.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration.  Unless the files
+and actions are specified as TAGs, all are instantiated by default.
+
+Usage: $0 [OPTION]... [TAG]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
+  -q, --quiet, --silent
+                   do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+      --file=FILE[:TEMPLATE]
+                   instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Report bugs to the package provider."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_version="\\
+pinta config.status 0.6
+configured by $0, generated by GNU Autoconf 2.65,
+  with options \\"\$ac_cs_config\\"
+
+Copyright (C) 2009 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=*)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  *)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+    $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
+  --debug | --debu | --deb | --de | --d | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    case $ac_optarg in
+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    as_fn_append CONFIG_FILES " '$ac_optarg'"
+    ac_need_defaults=false;;
+  --he | --h |  --help | --hel | -h )
+    $as_echo "$ac_cs_usage"; exit ;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) as_fn_error "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
+
+  *) as_fn_append ac_config_targets " $1"
+     ac_need_defaults=false ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  shift
+  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+  CONFIG_SHELL='$SHELL'
+  export CONFIG_SHELL
+  exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+  $as_echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+  case $ac_config_target in
+    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+    "pinta") CONFIG_FILES="$CONFIG_FILES pinta" ;;
+
+  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+fi
+
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+  tmp=
+  trap 'exit_status=$?
+  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
+  trap 'as_fn_exit 1' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+  test -n "$tmp" && test -d "$tmp"
+}  ||
+{
+  tmp=./conf$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
+} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+  eval ac_cr=\$\'\\r\'
+fi
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+  ac_cs_awk_cr='\r'
+else
+  ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+  echo "cat >conf$$subs.awk <<_ACEOF" &&
+  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+  echo "_ACEOF"
+} >conf$$subs.sh ||
+  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  . ./conf$$subs.sh ||
+    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+
+  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+  if test $ac_delim_n = $ac_delim_num; then
+    break
+  elif $ac_last_try; then
+    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\)..*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\)..*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+  N
+  s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+  for (key in S) S_is_set[key] = 1
+  FS = ""
+
+}
+{
+  line = $ 0
+  nfields = split(line, field, "@")
+  substed = 0
+  len = length(field[1])
+  for (i = 2; i < nfields; i++) {
+    key = field[i]
+    keylen = length(key)
+    if (S_is_set[key]) {
+      value = S[key]
+      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+      len += length(value) + length(field[++i])
+      substed = 1
+    } else
+      len += 1 + keylen
+  }
+
+  print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+  cat
+fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[	 ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[	 ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+
+eval set X "  :F $CONFIG_FILES      "
+shift
+for ac_tag
+do
+  case $ac_tag in
+  :[FHLC]) ac_mode=$ac_tag; continue;;
+  esac
+  case $ac_mode$ac_tag in
+  :[FHL]*:*);;
+  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :[FH]-) ac_tag=-:-;;
+  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+  esac
+  ac_save_IFS=$IFS
+  IFS=:
+  set x $ac_tag
+  IFS=$ac_save_IFS
+  shift
+  ac_file=$1
+  shift
+
+  case $ac_mode in
+  :L) ac_source=$1;;
+  :[FH])
+    ac_file_inputs=
+    for ac_f
+    do
+      case $ac_f in
+      -) ac_f="$tmp/stdin";;
+      *) # Look for the file first in the build tree, then in the source tree
+	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
+	 # because $ac_f cannot contain `:'.
+	 test -f "$ac_f" ||
+	   case $ac_f in
+	   [\\/$]*) false;;
+	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+	   esac ||
+	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+      esac
+      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+      as_fn_append ac_file_inputs " '$ac_f'"
+    done
+
+    # Let's still pretend it is `configure' which instantiates (i.e., don't
+    # use $as_me), people would be surprised to read:
+    #    /* config.h.  Generated by config.status.  */
+    configure_input='Generated from '`
+	  $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+	`' by configure.'
+    if test x"$ac_file" != x-; then
+      configure_input="$ac_file.  $configure_input"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+    fi
+    # Neutralize special characters interpreted by sed in replacement strings.
+    case $configure_input in #(
+    *\&* | *\|* | *\\* )
+       ac_sed_conf_input=`$as_echo "$configure_input" |
+       sed 's/[\\\\&|]/\\\\&/g'`;; #(
+    *) ac_sed_conf_input=$configure_input;;
+    esac
+
+    case $ac_tag in
+    *:-:* | *:-) cat >"$tmp/stdin" \
+      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    esac
+    ;;
+  esac
+
+  ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_file" : 'X\(//\)[^/]' \| \
+	 X"$ac_file" : 'X\(//\)$' \| \
+	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  as_dir="$ac_dir"; as_fn_mkdir_p
+  ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+  case $ac_mode in
+  :F)
+  #
+  # CONFIG_FILE
+  #
+
+  case $INSTALL in
+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+  esac
+  ac_MKDIR_P=$MKDIR_P
+  case $MKDIR_P in
+  [\\/$]* | ?:[\\/]* ) ;;
+  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+  esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+ac_sed_dataroot='
+/datarootdir/ {
+  p
+  q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+  ac_datarootdir_hack='
+  s&@datadir@&$datadir&g
+  s&@docdir@&$docdir&g
+  s&@infodir@&$infodir&g
+  s&@localedir@&$localedir&g
+  s&@mandir@&$mandir&g
+  s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+  || as_fn_error "could not create $ac_file" "$LINENO" 5
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&2;}
+
+  rm -f "$tmp/stdin"
+  case $ac_file in
+  -) cat "$tmp/out" && rm -f "$tmp/out";;
+  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  esac \
+  || as_fn_error "could not create $ac_file" "$LINENO" 5
+ ;;
+
+
+
+  esac
+
+done # for ac_tag
+
+
+as_fn_exit 0
+_ACEOF
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded.  So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status.  When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+  ac_cs_success=:
+  ac_config_status_args=
+  test "$silent" = yes &&
+    ac_config_status_args="$ac_config_status_args --quiet"
+  exec 5>/dev/null
+  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+  exec 5>>config.log
+  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+  # would make configure fail if this is the last instruction.
+  $ac_cs_success || as_fn_exit $?
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
+
+cat <<EOF
+
+${PACKAGE}-${VERSION}
+
+  Build Environment
+    Install Prefix:     	${prefix}
+    XBuild Path:		${XBUILD}
+    Mono Runtime:       	${MONO}
+    Launch Script:		${prefix}/bin/${PACKAGE}
+    Installation Directory: 	${prefix}/lib/${PACKAGE}/
+
+EOF
diff --git a/configure.ac b/configure.ac
index d9f0637..7ae676a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,8 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_INIT([pinta], [0.5])
+AC_INIT([pinta], [0.6])
 AM_INIT_AUTOMAKE([tar-ustar foreign])
 
+AC_PREFIX_DEFAULT([/usr])
 AC_PROG_INSTALL
 
 dnl pkg-config
@@ -22,7 +23,7 @@ if test "x$MONO" = "xno"; then
 fi
 
 # Check Mono version
-MONO_MINIMUM_VERSION=2.4
+MONO_MINIMUM_VERSION=2.6.7
 PKG_CHECK_MODULES(MONO, mono >= $MONO_MINIMUM_VERSION)
 
 AC_SUBST(XBUILD)
diff --git a/install-sh b/install-sh
new file mode 100755
index 0000000..6781b98
--- /dev/null
+++ b/install-sh
@@ -0,0 +1,520 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2009-04-28.21; # UTC
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.
+
+nl='
+'
+IFS=" ""	$nl"
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit=${DOITPROG-}
+if test -z "$doit"; then
+  doit_exec=exec
+else
+  doit_exec=$doit
+fi
+
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
+
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+
+posix_glob='?'
+initialize_posix_glob='
+  test "$posix_glob" != "?" || {
+    if (set -f) 2>/dev/null; then
+      posix_glob=
+    else
+      posix_glob=:
+    fi
+  }
+'
+
+posix_mkdir=
+
+# Desired mode of installed file.
+mode=0755
+
+chgrpcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
+rmcmd="$rmprog -f"
+stripcmd=
+
+src=
+dst=
+dir_arg=
+dst_arg=
+
+copy_on_change=false
+no_target_directory=
+
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+   or: $0 [OPTION]... SRCFILES... DIRECTORY
+   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+   or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+     --help     display this help and exit.
+     --version  display version info and exit.
+
+  -c            (ignored)
+  -C            install only if different (preserve the last data modification time)
+  -d            create directories instead of installing files.
+  -g GROUP      $chgrpprog installed files to GROUP.
+  -m MODE       $chmodprog installed files to MODE.
+  -o USER       $chownprog installed files to USER.
+  -s            $stripprog installed files.
+  -t DIRECTORY  install into DIRECTORY.
+  -T            report an error if DSTFILE is a directory.
+
+Environment variables override the default commands:
+  CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+  RMPROG STRIPPROG
+"
+
+while test $# -ne 0; do
+  case $1 in
+    -c) ;;
+
+    -C) copy_on_change=true;;
+
+    -d) dir_arg=true;;
+
+    -g) chgrpcmd="$chgrpprog $2"
+	shift;;
+
+    --help) echo "$usage"; exit $?;;
+
+    -m) mode=$2
+	case $mode in
+	  *' '* | *'	'* | *'
+'*	  | *'*'* | *'?'* | *'['*)
+	    echo "$0: invalid mode: $mode" >&2
+	    exit 1;;
+	esac
+	shift;;
+
+    -o) chowncmd="$chownprog $2"
+	shift;;
+
+    -s) stripcmd=$stripprog;;
+
+    -t) dst_arg=$2
+	shift;;
+
+    -T) no_target_directory=true;;
+
+    --version) echo "$0 $scriptversion"; exit $?;;
+
+    --)	shift
+	break;;
+
+    -*)	echo "$0: invalid option: $1" >&2
+	exit 1;;
+
+    *)  break;;
+  esac
+  shift
+done
+
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
+  # When -d is used, all remaining arguments are directories to create.
+  # When -t is used, the destination is already specified.
+  # Otherwise, the last argument is the destination.  Remove it from $@.
+  for arg
+  do
+    if test -n "$dst_arg"; then
+      # $@ is not empty: it contains at least $arg.
+      set fnord "$@" "$dst_arg"
+      shift # fnord
+    fi
+    shift # arg
+    dst_arg=$arg
+  done
+fi
+
+if test $# -eq 0; then
+  if test -z "$dir_arg"; then
+    echo "$0: no input file specified." >&2
+    exit 1
+  fi
+  # It's OK to call `install-sh -d' without argument.
+  # This can happen when creating conditional directories.
+  exit 0
+fi
+
+if test -z "$dir_arg"; then
+  trap '(exit $?); exit' 1 2 13 15
+
+  # Set umask so as not to create temps with too-generous modes.
+  # However, 'strip' requires both read and write access to temps.
+  case $mode in
+    # Optimize common cases.
+    *644) cp_umask=133;;
+    *755) cp_umask=22;;
+
+    *[0-7])
+      if test -z "$stripcmd"; then
+	u_plus_rw=
+      else
+	u_plus_rw='% 200'
+      fi
+      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+    *)
+      if test -z "$stripcmd"; then
+	u_plus_rw=
+      else
+	u_plus_rw=,u+rw
+      fi
+      cp_umask=$mode$u_plus_rw;;
+  esac
+fi
+
+for src
+do
+  # Protect names starting with `-'.
+  case $src in
+    -*) src=./$src;;
+  esac
+
+  if test -n "$dir_arg"; then
+    dst=$src
+    dstdir=$dst
+    test -d "$dstdir"
+    dstdir_status=$?
+  else
+
+    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+    # might cause directories to be created, which would be especially bad
+    # if $src (and thus $dsttmp) contains '*'.
+    if test ! -f "$src" && test ! -d "$src"; then
+      echo "$0: $src does not exist." >&2
+      exit 1
+    fi
+
+    if test -z "$dst_arg"; then
+      echo "$0: no destination specified." >&2
+      exit 1
+    fi
+
+    dst=$dst_arg
+    # Protect names starting with `-'.
+    case $dst in
+      -*) dst=./$dst;;
+    esac
+
+    # If destination is a directory, append the input filename; won't work
+    # if double slashes aren't ignored.
+    if test -d "$dst"; then
+      if test -n "$no_target_directory"; then
+	echo "$0: $dst_arg: Is a directory" >&2
+	exit 1
+      fi
+      dstdir=$dst
+      dst=$dstdir/`basename "$src"`
+      dstdir_status=0
+    else
+      # Prefer dirname, but fall back on a substitute if dirname fails.
+      dstdir=`
+	(dirname "$dst") 2>/dev/null ||
+	expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	     X"$dst" : 'X\(//\)[^/]' \| \
+	     X"$dst" : 'X\(//\)$' \| \
+	     X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
+	echo X"$dst" |
+	    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+		   s//\1/
+		   q
+		 }
+		 /^X\(\/\/\)[^/].*/{
+		   s//\1/
+		   q
+		 }
+		 /^X\(\/\/\)$/{
+		   s//\1/
+		   q
+		 }
+		 /^X\(\/\).*/{
+		   s//\1/
+		   q
+		 }
+		 s/.*/./; q'
+      `
+
+      test -d "$dstdir"
+      dstdir_status=$?
+    fi
+  fi
+
+  obsolete_mkdir_used=false
+
+  if test $dstdir_status != 0; then
+    case $posix_mkdir in
+      '')
+	# Create intermediate dirs using mode 755 as modified by the umask.
+	# This is like FreeBSD 'install' as of 1997-10-28.
+	umask=`umask`
+	case $stripcmd.$umask in
+	  # Optimize common cases.
+	  *[2367][2367]) mkdir_umask=$umask;;
+	  .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+	  *[0-7])
+	    mkdir_umask=`expr $umask + 22 \
+	      - $umask % 100 % 40 + $umask % 20 \
+	      - $umask % 10 % 4 + $umask % 2
+	    `;;
+	  *) mkdir_umask=$umask,go-w;;
+	esac
+
+	# With -d, create the new directory with the user-specified mode.
+	# Otherwise, rely on $mkdir_umask.
+	if test -n "$dir_arg"; then
+	  mkdir_mode=-m$mode
+	else
+	  mkdir_mode=
+	fi
+
+	posix_mkdir=false
+	case $umask in
+	  *[123567][0-7][0-7])
+	    # POSIX mkdir -p sets u+wx bits regardless of umask, which
+	    # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+	    ;;
+	  *)
+	    tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+	    trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+	    if (umask $mkdir_umask &&
+		exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+	    then
+	      if test -z "$dir_arg" || {
+		   # Check for POSIX incompatibilities with -m.
+		   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+		   # other-writeable bit of parent directory when it shouldn't.
+		   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+		   ls_ld_tmpdir=`ls -ld "$tmpdir"`
+		   case $ls_ld_tmpdir in
+		     d????-?r-*) different_mode=700;;
+		     d????-?--*) different_mode=755;;
+		     *) false;;
+		   esac &&
+		   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+		     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+		     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+		   }
+		 }
+	      then posix_mkdir=:
+	      fi
+	      rmdir "$tmpdir/d" "$tmpdir"
+	    else
+	      # Remove any dirs left behind by ancient mkdir implementations.
+	      rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+	    fi
+	    trap '' 0;;
+	esac;;
+    esac
+
+    if
+      $posix_mkdir && (
+	umask $mkdir_umask &&
+	$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+      )
+    then :
+    else
+
+      # The umask is ridiculous, or mkdir does not conform to POSIX,
+      # or it failed possibly due to a race condition.  Create the
+      # directory the slow way, step by step, checking for races as we go.
+
+      case $dstdir in
+	/*) prefix='/';;
+	-*) prefix='./';;
+	*)  prefix='';;
+      esac
+
+      eval "$initialize_posix_glob"
+
+      oIFS=$IFS
+      IFS=/
+      $posix_glob set -f
+      set fnord $dstdir
+      shift
+      $posix_glob set +f
+      IFS=$oIFS
+
+      prefixes=
+
+      for d
+      do
+	test -z "$d" && continue
+
+	prefix=$prefix$d
+	if test -d "$prefix"; then
+	  prefixes=
+	else
+	  if $posix_mkdir; then
+	    (umask=$mkdir_umask &&
+	     $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+	    # Don't fail if two instances are running concurrently.
+	    test -d "$prefix" || exit 1
+	  else
+	    case $prefix in
+	      *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+	      *) qprefix=$prefix;;
+	    esac
+	    prefixes="$prefixes '$qprefix'"
+	  fi
+	fi
+	prefix=$prefix/
+      done
+
+      if test -n "$prefixes"; then
+	# Don't fail if two instances are running concurrently.
+	(umask $mkdir_umask &&
+	 eval "\$doit_exec \$mkdirprog $prefixes") ||
+	  test -d "$dstdir" || exit 1
+	obsolete_mkdir_used=true
+      fi
+    fi
+  fi
+
+  if test -n "$dir_arg"; then
+    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+  else
+
+    # Make a couple of temp file names in the proper directory.
+    dsttmp=$dstdir/_inst.$$_
+    rmtmp=$dstdir/_rm.$$_
+
+    # Trap to clean up those temp files at exit.
+    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+
+    # Copy the file name to the temp name.
+    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+
+    # and set any options; do chmod last to preserve setuid bits.
+    #
+    # If any of these fail, we abort the whole thing.  If we want to
+    # ignore errors from any of these, just make sure not to ignore
+    # errors from the above "$doit $cpprog $src $dsttmp" command.
+    #
+    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+    { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+    { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+    # If -C, don't bother to copy if it wouldn't change the file.
+    if $copy_on_change &&
+       old=`LC_ALL=C ls -dlL "$dst"	2>/dev/null` &&
+       new=`LC_ALL=C ls -dlL "$dsttmp"	2>/dev/null` &&
+
+       eval "$initialize_posix_glob" &&
+       $posix_glob set -f &&
+       set X $old && old=:$2:$4:$5:$6 &&
+       set X $new && new=:$2:$4:$5:$6 &&
+       $posix_glob set +f &&
+
+       test "$old" = "$new" &&
+       $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+    then
+      rm -f "$dsttmp"
+    else
+      # Rename the file to the real destination.
+      $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
+
+      # The rename failed, perhaps because mv can't rename something else
+      # to itself, or perhaps because mv is so ancient that it does not
+      # support -f.
+      {
+	# Now remove or move aside any old file at destination location.
+	# We try this two ways since rm can't unlink itself on some
+	# systems and the destination file might be busy for other
+	# reasons.  In this case, the final cleanup might fail but the new
+	# file should still install successfully.
+	{
+	  test ! -f "$dst" ||
+	  $doit $rmcmd -f "$dst" 2>/dev/null ||
+	  { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+	    { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+	  } ||
+	  { echo "$0: cannot unlink or rename $dst" >&2
+	    (exit 1); exit 1
+	  }
+	} &&
+
+	# Now rename the file to the real destination.
+	$doit $mvcmd "$dsttmp" "$dst"
+      }
+    fi || exit 1
+
+    trap '' 0
+  fi
+done
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/missing b/missing
new file mode 100755
index 0000000..28055d2
--- /dev/null
+++ b/missing
@@ -0,0 +1,376 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2009-04-28.21; # UTC
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
+# 2008, 2009 Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+  echo 1>&2 "Try \`$0 --help' for more information"
+  exit 1
+fi
+
+run=:
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+  configure_ac=configure.ac
+else
+  configure_ac=configure.in
+fi
+
+msg="missing on your system"
+
+case $1 in
+--run)
+  # Try to run requested program, and just exit if it succeeds.
+  run=
+  shift
+  "$@" && exit 0
+  # Exit code 63 means version mismatch.  This often happens
+  # when the user try to use an ancient version of a tool on
+  # a file that requires a minimum version.  In this case we
+  # we should proceed has if the program had been absent, or
+  # if --run hadn't been passed.
+  if test $? = 63; then
+    run=:
+    msg="probably too old"
+  fi
+  ;;
+
+  -h|--h|--he|--hel|--help)
+    echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+  -h, --help      display this help and exit
+  -v, --version   output version information and exit
+  --run           try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+  aclocal      touch file \`aclocal.m4'
+  autoconf     touch file \`configure'
+  autoheader   touch file \`config.h.in'
+  autom4te     touch the output file, or create a stub one
+  automake     touch all \`Makefile.in' files
+  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
+  flex         create \`lex.yy.c', if possible, from existing .c
+  help2man     touch the output file
+  lex          create \`lex.yy.c', if possible, from existing .c
+  makeinfo     touch the output file
+  tar          try tar, gnutar, gtar, then tar without non-portable flags
+  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
+\`g' are ignored when checking the name.
+
+Send bug reports to <bug-automake at gnu.org>."
+    exit $?
+    ;;
+
+  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+    echo "missing $scriptversion (GNU Automake)"
+    exit $?
+    ;;
+
+  -*)
+    echo 1>&2 "$0: Unknown \`$1' option"
+    echo 1>&2 "Try \`$0 --help' for more information"
+    exit 1
+    ;;
+
+esac
+
+# normalize program name to check for.
+program=`echo "$1" | sed '
+  s/^gnu-//; t
+  s/^gnu//; t
+  s/^g//; t'`
+
+# Now exit if we have it, but it failed.  Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program).  This is about non-GNU programs, so use $1 not
+# $program.
+case $1 in
+  lex*|yacc*)
+    # Not GNU programs, they don't have --version.
+    ;;
+
+  tar*)
+    if test -n "$run"; then
+       echo 1>&2 "ERROR: \`tar' requires --run"
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       exit 1
+    fi
+    ;;
+
+  *)
+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+       # We have it, but it failed.
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       # Could not run --version or --help.  This is probably someone
+       # running `$TOOL --version' or `$TOOL --help' to check whether
+       # $TOOL exists and not knowing $TOOL uses missing.
+       exit 1
+    fi
+    ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case $program in
+  aclocal*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
+         to install the \`Automake' and \`Perl' packages.  Grab them from
+         any GNU archive site."
+    touch aclocal.m4
+    ;;
+
+  autoconf*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`${configure_ac}'.  You might want to install the
+         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
+         archive site."
+    touch configure
+    ;;
+
+  autoheader*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
+         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
+         from any GNU archive site."
+    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+    test -z "$files" && files="config.h"
+    touch_files=
+    for f in $files; do
+      case $f in
+      *:*) touch_files="$touch_files "`echo "$f" |
+				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+      *) touch_files="$touch_files $f.in";;
+      esac
+    done
+    touch $touch_files
+    ;;
+
+  automake*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+         You might want to install the \`Automake' and \`Perl' packages.
+         Grab them from any GNU archive site."
+    find . -type f -name Makefile.am -print |
+	   sed 's/\.am$/.in/' |
+	   while read f; do touch "$f"; done
+    ;;
+
+  autom4te*)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.
+         You can get \`$1' as part of \`Autoconf' from any GNU
+         archive site."
+
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -f "$file"; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo "#! /bin/sh"
+	echo "# Created by GNU Automake missing as a replacement of"
+	echo "#  $ $@"
+	echo "exit 0"
+	chmod +x $file
+	exit 1
+    fi
+    ;;
+
+  bison*|yacc*)
+    echo 1>&2 "\
+WARNING: \`$1' $msg.  You should only need it if
+         you modified a \`.y' file.  You may need the \`Bison' package
+         in order for those modifications to take effect.  You can get
+         \`Bison' from any GNU archive site."
+    rm -f y.tab.c y.tab.h
+    if test $# -ne 1; then
+        eval LASTARG="\${$#}"
+	case $LASTARG in
+	*.y)
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+	    if test -f "$SRCFILE"; then
+	         cp "$SRCFILE" y.tab.c
+	    fi
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+	    if test -f "$SRCFILE"; then
+	         cp "$SRCFILE" y.tab.h
+	    fi
+	  ;;
+	esac
+    fi
+    if test ! -f y.tab.h; then
+	echo >y.tab.h
+    fi
+    if test ! -f y.tab.c; then
+	echo 'main() { return 0; }' >y.tab.c
+    fi
+    ;;
+
+  lex*|flex*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.l' file.  You may need the \`Flex' package
+         in order for those modifications to take effect.  You can get
+         \`Flex' from any GNU archive site."
+    rm -f lex.yy.c
+    if test $# -ne 1; then
+        eval LASTARG="\${$#}"
+	case $LASTARG in
+	*.l)
+	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+	    if test -f "$SRCFILE"; then
+	         cp "$SRCFILE" lex.yy.c
+	    fi
+	  ;;
+	esac
+    fi
+    if test ! -f lex.yy.c; then
+	echo 'main() { return 0; }' >lex.yy.c
+    fi
+    ;;
+
+  help2man*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+	 you modified a dependency of a manual page.  You may need the
+	 \`Help2man' package in order for those modifications to take
+	 effect.  You can get \`Help2man' from any GNU archive site."
+
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -f "$file"; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo ".ab help2man is required to generate this page"
+	exit $?
+    fi
+    ;;
+
+  makeinfo*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.texi' or \`.texinfo' file, or any other file
+         indirectly affecting the aspect of the manual.  The spurious
+         call might also be the consequence of using a buggy \`make' (AIX,
+         DU, IRIX).  You might want to install the \`Texinfo' package or
+         the \`GNU make' package.  Grab either from any GNU archive site."
+    # The file to touch is that specified with -o ...
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -z "$file"; then
+      # ... or it is the one specified with @setfilename ...
+      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+      file=`sed -n '
+	/^@setfilename/{
+	  s/.* \([^ ]*\) *$/\1/
+	  p
+	  q
+	}' $infile`
+      # ... or it is derived from the source name (dir/f.texi becomes f.info)
+      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+    fi
+    # If the file does not exist, the user really needs makeinfo;
+    # let's fail without touching anything.
+    test -f $file || exit 1
+    touch $file
+    ;;
+
+  tar*)
+    shift
+
+    # We have already tried tar in the generic part.
+    # Look for gnutar/gtar before invocation to avoid ugly error
+    # messages.
+    if (gnutar --version > /dev/null 2>&1); then
+       gnutar "$@" && exit 0
+    fi
+    if (gtar --version > /dev/null 2>&1); then
+       gtar "$@" && exit 0
+    fi
+    firstarg="$1"
+    if shift; then
+	case $firstarg in
+	*o*)
+	    firstarg=`echo "$firstarg" | sed s/o//`
+	    tar "$firstarg" "$@" && exit 0
+	    ;;
+	esac
+	case $firstarg in
+	*h*)
+	    firstarg=`echo "$firstarg" | sed s/h//`
+	    tar "$firstarg" "$@" && exit 0
+	    ;;
+	esac
+    fi
+
+    echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+         You may want to install GNU tar or Free paxutils, or check the
+         command line arguments."
+    exit 1
+    ;;
+
+  *)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.  Check the \`README' file,
+         it often tells you about the needed prerequisites for installing
+         this package.  You may also peek at any GNU archive site, in case
+         some other package would contain this missing \`$1' program."
+    exit 1
+    ;;
+esac
+
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/po/messages-ar.po b/po/messages-ar.po
index 43bf0eb..b909618 100644
--- a/po/messages-ar.po
+++ b/po/messages-ar.po
@@ -7,669 +7,638 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
 "PO-Revision-Date: 2010-09-07 11:00+0000\n"
 "Last-Translator: daifallah <daif55 at gmail.com>\n"
 "Language-Team: Arabic <ar at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "حول البرنامج"
-
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "فرشاة تلوين"
-
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "_ملف"
-
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "_حرر"
-
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "ا_عرض"
-
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "الصورة"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr ""
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "ال_طبقات"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr ""
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
 msgstr ""
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "تأثيرات"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr ""
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "_نافذة"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr ""
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "م_ساعدة"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr ""
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
 msgstr ""
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "ادوات"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr ""
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "لوح ألوان"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr ""
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "المستندات"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr ""
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "الطبقات"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "غيّر حجم الصورة"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "التاريخ"
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "أخفِ"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
 msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "عائم"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "اخفاء تلقائي"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "المساهمون في هذه الإصداره"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "المساهمون السابقون"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
 msgstr ""
-"Launchpad Contributions:\n"
-"  daifallah https://launchpad.net/~daif"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "ترجمة:"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "حول بينتا"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "معلومات النسخة"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr ""
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "العنوان"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr ""
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "الإصدار"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr ""
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "المسار"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "الترخيص"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
 msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "حقوق النشر"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "بواسطة مساهمين بينتا"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr ""
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "غيّر حجم الصورة"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "بالنسبة المئوية"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "العرض:"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "بكسل"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "الطول:"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "حافظ على نسبة الطول إلى العرض"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
-#: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "خصائص الطبقة"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "الاسم:"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "مرئي"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
-msgid "New Image"
-msgstr "صوره جديده"
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "حجم الصوره الجديده          "
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:57
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
+#: Pinta.Core/Actions/LayerActions.cs:74
+msgid "Layer Properties..."
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "شفافية الطبقة"
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "غيّر اسم الطبقة"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "أخف الطبقة"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "حول البرنامج"
+
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
 msgstr ""
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
 msgstr ""
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
 msgstr ""
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
 msgstr ""
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
 msgstr ""
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
 msgstr ""
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
 msgstr ""
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
 msgstr ""
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "لوح ألوان"
+
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
 msgstr ""
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:60
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
 msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
+msgid "New Image"
+msgstr "صوره جديده"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
+#, csharp-format
+msgid "Could not open file: {0}"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
 msgstr ""
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
 msgstr ""
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
 msgstr ""
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
 msgstr ""
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
 msgstr ""
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
 msgstr ""
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
 msgstr ""
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
 msgstr ""
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
 msgstr ""
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:37
-msgid "Text"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:44
-msgid ""
-"Left click to place cursor, then type desired text. Text color is primary "
-"color."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:131
-msgid "Font"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:186
-msgid "Bold"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:193
-msgid "Italic"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:201
-msgid "Underline"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:210
-msgid "Left Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:219
-msgid "Center Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:227
-msgid "Right Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
 msgstr ""
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
 msgstr ""
 
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
 msgstr ""
 
-#: Pinta.Tools/RectangleTool.cs:38
-msgid "Rectangle"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
 msgstr ""
 
-#: Pinta.Tools/RectangleTool.cs:44
-msgid ""
-"Click and drag to draw a rectangle (right click for secondary color). Hold "
-"shift to constrain to a square."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
 msgstr ""
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
 msgstr ""
 
-#: Pinta.Tools/LineCurveTool.cs:44
-msgid ""
-"Left click to draw with primary color, right click for secondary color."
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
 msgstr ""
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
 msgstr ""
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
 msgstr ""
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
 msgstr ""
 
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
 msgstr ""
 
 #: Pinta.Effects/Effects/PixelateEffect.cs:26
 msgid "Pixelate"
 msgstr ""
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr ""
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
 msgstr ""
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
 msgid "Photo"
 msgstr ""
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
 msgstr ""
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
 msgstr ""
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
 msgstr ""
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
 msgstr ""
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
 msgstr ""
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr ""
+
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
 msgstr ""
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
@@ -677,18 +646,26 @@ msgid "Edge Detect"
 msgstr ""
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
 #: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
 msgid "Stylize"
 msgstr ""
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
 msgstr ""
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr ""
+
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr ""
+
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
 msgstr ""
 
 #: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
@@ -703,543 +680,711 @@ msgstr ""
 msgid "Clouds"
 msgstr ""
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr ""
-
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
 msgstr ""
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
-msgid "Add Noise"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
 msgstr ""
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
 msgstr ""
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
 msgstr ""
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
+msgid "Add Noise"
 msgstr ""
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
 msgstr ""
 
 #: Pinta.Effects/Effects/OutlineEffect.cs:29
 msgid "Outline"
 msgstr ""
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
 msgstr ""
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
 msgstr ""
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
 msgstr ""
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
 msgstr ""
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
 msgstr ""
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
 msgstr ""
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
+#: Pinta.Tools/TextTool.cs:37
+msgid "Text"
 msgstr ""
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
+#: Pinta.Tools/TextTool.cs:44
+msgid ""
+"Left click to place cursor, then type desired text. Text color is primary "
+"color."
 msgstr ""
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
+#: Pinta.Tools/TextTool.cs:144
+msgid "Font"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
+#: Pinta.Tools/TextTool.cs:205
+msgid "Bold"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
+#: Pinta.Tools/TextTool.cs:212
+msgid "Italic"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
+#: Pinta.Tools/TextTool.cs:220
+msgid "Underline"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
+#: Pinta.Tools/TextTool.cs:229
+msgid "Left Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
+#: Pinta.Tools/TextTool.cs:238
+msgid "Center Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
+#: Pinta.Tools/TextTool.cs:246
+msgid "Right Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
+#: Pinta.Tools/RectangleTool.cs:38
+msgid "Rectangle"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
+#: Pinta.Tools/RectangleTool.cs:44
+msgid ""
+"Click and drag to draw a rectangle (right click for secondary color). Hold "
+"shift to constrain to a square."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
+msgid ""
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "فرشاة تلوين"
+
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:392
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before closing?"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:402
-msgid "Close without saving"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "أخفِ"
+
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "اخفاء تلقائي"
+
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "عائم"
+
+#: Pinta/Options.cs:486
+msgid "OptionName"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "بالنسبة المئوية"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "العرض:"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "بكسل"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "الطول:"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "حافظ على نسبة الطول إلى العرض"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "حجم الصوره الجديده          "
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "خصائص الطبقة"
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "الاسم:"
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "مرئي"
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "_ملف"
+
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "_حرر"
+
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "ا_عرض"
+
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "الصورة"
+
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "ال_طبقات"
+
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "تأثيرات"
+
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "_نافذة"
+
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "م_ساعدة"
+
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "ادوات"
+
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "المستندات"
+
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "الطبقات"
+
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "التاريخ"
+
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
+#: Pinta/DialogHandlers.cs:139
+#, csharp-format
+msgid "Save the changes to image \"{0}\" before closing?"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
+#: Pinta/DialogHandlers.cs:147
+msgid "Close without saving"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "شفافية الطبقة"
+
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "غيّر اسم الطبقة"
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "أخف الطبقة"
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
 msgstr ""
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "الإصدار"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "الترخيص"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "حقوق النشر"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "بواسطة مساهمين بينتا"
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "العنوان"
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "المسار"
+
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
 msgstr ""
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "المساهمون في هذه الإصداره"
+
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "المساهمون السابقون"
+
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
 msgstr ""
+"Launchpad Contributions:\n"
+"  daifallah https://launchpad.net/~daif"
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "ترجمة:"
+
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
 msgstr ""
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
 msgstr ""
 
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "حول بينتا"
+
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "معلومات النسخة"
+
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
 #: PolarInversionEffect dialog
diff --git a/po/messages.pot b/po/messages-br.po
similarity index 69%
copy from po/messages.pot
copy to po/messages-br.po
index 8ea8d21..b8a4c43 100644
--- a/po/messages.pot
+++ b/po/messages-br.po
@@ -1,383 +1,383 @@
-# Pinta Translatable Strings
-# Copyright (C) 2010 Pinta Contributors
-# This file is distributed under the same license as the Pinta package.
-# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+# Breton translation for pinta
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the pinta package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2010.
 #
-#, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
+"Project-Id-Version: pinta\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
 "POT-Creation-Date: 2010-10-31 12:19-0500\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"
+"PO-Revision-Date: 2011-01-04 23:41+0000\n"
+"Last-Translator: Alan <Unknown>\n"
+"Language-Team: Breton <br at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
 #: Pinta.Core/Classes/DocumentWorkspace.cs:160
 #: Pinta.Core/Classes/DocumentWorkspace.cs:181
 #: Pinta.Core/Actions/ViewActions.cs:200
 msgid "Window"
-msgstr ""
+msgstr "Prenestr"
 
 #: Pinta.Core/Classes/Document.cs:299
 msgid "Layer"
-msgstr ""
+msgstr "Treuzfollenn"
 
 #: Pinta.Core/Classes/Document.cs:367
 msgid "copy"
-msgstr ""
+msgstr "eilañ"
 
 #: Pinta.Core/Classes/Document.cs:589
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
 msgid "Resize Canvas"
-msgstr ""
+msgstr "Adventañ ar steuenn"
 
 #: Pinta.Core/Classes/BaseTool.cs:146
 msgid "Tool"
-msgstr ""
+msgstr "Benveg"
 
 #: Pinta.Core/Classes/BaseTool.cs:204
 msgid "Shortcut key"
-msgstr ""
+msgstr "Berradenn glavier"
 
 #: Pinta.Core/Classes/BaseTool.cs:227
 msgid "Normal Blending"
-msgstr ""
+msgstr "Meskadur reizh"
 
 #: Pinta.Core/Classes/BaseTool.cs:228
 msgid "Overwrite"
-msgstr ""
+msgstr "Flastrañ"
 
 #: Pinta.Core/Classes/BaseTool.cs:242
 msgid "Antialiasing On"
-msgstr ""
+msgstr "Gweredekaat al lufrañ"
 
 #: Pinta.Core/Classes/BaseTool.cs:243
 msgid "Antialiasing Off"
-msgstr ""
+msgstr "Diweredekaat al lufrañ"
 
 #: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
 msgid "Resize Image"
-msgstr ""
+msgstr "Adventañ ar skeudenn"
 
 #: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
 msgid "Finish Pixels"
-msgstr ""
+msgstr "Peurlipat ar pikselioù"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
 #: Pinta.Core/Actions/ImageActions.cs:65
 msgid "Rotate 180°"
-msgstr ""
+msgstr "C'hwelañ  dre 180°"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
 msgid "Flip Image Horizontal"
-msgstr ""
+msgstr "Gwintañ ar skeudenn a-zremm"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
 msgid "Flip Image Vertical"
-msgstr ""
+msgstr "Gwintañ ar skeudenn a-serzh"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
 #: Pinta.Core/Actions/ImageActions.cs:63
 msgid "Rotate 90° Clockwise"
-msgstr ""
+msgstr "C'hwelañ dre 90° gant roud ar bizied"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
 #: Pinta.Core/Actions/ImageActions.cs:64
 msgid "Rotate 90° Counter-Clockwise"
-msgstr ""
+msgstr "C'hwelañ dre 90° gant roud gin ar bizied"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
 msgid "Flip Layer Horizontal"
-msgstr ""
+msgstr "Gwintañ an dreuzfollenn a-zremm"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
 msgid "Flip Layer Vertical"
-msgstr ""
+msgstr "Gwintañ an dreuzfollenn a-serzh"
 
 #: Pinta.Core/Effects/BaseEffect.cs:42
 msgid "General"
-msgstr ""
+msgstr "Hollek"
 
 #: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
 #, csharp-format
 msgid "{0} image ({1})"
-msgstr ""
+msgstr "{0} skeudenn ({1})"
 
 #: Pinta.Core/Actions/ImageActions.cs:58
 #: Pinta.Core/Actions/ImageActions.cs:181
 msgid "Crop to Selection"
-msgstr ""
+msgstr "Didroc'hañ ouzh an diuzad"
 
 #: Pinta.Core/Actions/ImageActions.cs:59
 msgid "Resize..."
-msgstr ""
+msgstr "Adventañ"
 
 #: Pinta.Core/Actions/ImageActions.cs:60
 msgid "Canvas Size..."
-msgstr ""
+msgstr "Ment ar steuenn..."
 
 #: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
 msgid "Flip Horizontal"
-msgstr ""
+msgstr "Gwintañ a-zremm"
 
 #: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
 msgid "Flip Vertical"
-msgstr ""
+msgstr "Gwintañ a-serzh"
 
 #: Pinta.Core/Actions/ImageActions.cs:66
 #: Pinta.Core/Actions/ImageActions.cs:127
 msgid "Flatten"
-msgstr ""
+msgstr "Plataat"
 
 #: Pinta.Core/Actions/ViewActions.cs:62
 msgid "Zoom In"
-msgstr ""
+msgstr "Zoum brasaat"
 
 #: Pinta.Core/Actions/ViewActions.cs:63
 msgid "Zoom Out"
-msgstr ""
+msgstr "Zoum bihanaat"
 
 #: Pinta.Core/Actions/ViewActions.cs:64
 msgid "Zoom to Window"
-msgstr ""
+msgstr "Zoumañ da framm ar prenestr"
 
 #: Pinta.Core/Actions/ViewActions.cs:65
 msgid "Zoom to Selection"
-msgstr ""
+msgstr "Zoumañ da framm an diuzad"
 
 #: Pinta.Core/Actions/ViewActions.cs:66
 msgid "Actual Size"
-msgstr ""
+msgstr "Ment vremanel"
 
 #: Pinta.Core/Actions/ViewActions.cs:67
 msgid "Toolbar"
-msgstr ""
+msgstr "Barrenn ostilhoù"
 
 #: Pinta.Core/Actions/ViewActions.cs:68
 msgid "Pixel Grid"
-msgstr ""
+msgstr "Kael ar pikselioù"
 
 #: Pinta.Core/Actions/ViewActions.cs:69
 msgid "Rulers"
-msgstr ""
+msgstr "Reolennoù"
 
 #: Pinta.Core/Actions/ViewActions.cs:70
 msgid "Pixels"
-msgstr ""
+msgstr "Pikselioù"
 
 #: Pinta.Core/Actions/ViewActions.cs:71
 msgid "Inches"
-msgstr ""
+msgstr "Meutadoù"
 
 #: Pinta.Core/Actions/ViewActions.cs:72
 msgid "Centimeters"
-msgstr ""
+msgstr "Kentimetroù"
 
 #: Pinta.Core/Actions/ViewActions.cs:73
 msgid "Fullscreen"
-msgstr ""
+msgstr "Skrammad a-bezh"
 
 #: Pinta.Core/Actions/ViewActions.cs:111
 msgid "Ruler Units"
-msgstr ""
+msgstr "Unanennoù ar reolenn"
 
 #: Pinta.Core/Actions/LayerActions.cs:64
 #: Pinta.Core/Actions/LayerActions.cs:283
 msgid "Add New Layer"
-msgstr ""
+msgstr "Ouzhpennañ un dreuzfollenn nevez"
 
 #: Pinta.Core/Actions/LayerActions.cs:65
 #: Pinta.Core/Actions/LayerActions.cs:266
 msgid "Delete Layer"
-msgstr ""
+msgstr "Dilemel an dreuzfollenn"
 
 #: Pinta.Core/Actions/LayerActions.cs:66
 #: Pinta.Core/Actions/LayerActions.cs:257
 msgid "Duplicate Layer"
-msgstr ""
+msgstr "Eilañ an dreuzfollenn"
 
 #: Pinta.Core/Actions/LayerActions.cs:67
 #: Pinta.Core/Actions/LayerActions.cs:235
 msgid "Merge Layer Down"
-msgstr ""
+msgstr "Toueziañ gant an dreuzfollenn a-zindan"
 
 #: Pinta.Core/Actions/LayerActions.cs:68
 msgid "Import from File..."
-msgstr ""
+msgstr "Enporzhiañ diouzh ur restr..."
 
 #: Pinta.Core/Actions/LayerActions.cs:71
 msgid "Rotate / Zoom"
-msgstr ""
+msgstr "C'hwelañ/Zoumañ"
 
 #: Pinta.Core/Actions/LayerActions.cs:72
 #: Pinta.Core/Actions/LayerActions.cs:213
 msgid "Move Layer Up"
-msgstr ""
+msgstr "Treuzfollenn d'an nec'h"
 
 #: Pinta.Core/Actions/LayerActions.cs:73
 #: Pinta.Core/Actions/LayerActions.cs:224
 msgid "Move Layer Down"
-msgstr ""
+msgstr "Treuzfollenn d'an traoñ"
 
 #: Pinta.Core/Actions/LayerActions.cs:74
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
-msgid "Layer Properties"
-msgstr ""
+msgid "Layer Properties..."
+msgstr "Perzhioù an dreuzfollenn..."
 
 #: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
 msgid "Open Image File"
-msgstr ""
+msgstr "Digeriñ ur restr skeudenn"
 
 #: Pinta.Core/Actions/LayerActions.cs:179
 msgid "Import From File"
-msgstr ""
+msgstr "Enporzhiañ diouzh ur restr"
 
 #: Pinta.Core/Actions/WindowActions.cs:45
 msgid "Save All"
-msgstr ""
+msgstr "Enrollañ an holl anezho"
 
 #: Pinta.Core/Actions/WindowActions.cs:46
 msgid "Close All"
-msgstr ""
+msgstr "Serriñ an holl anezho"
 
 #: Pinta.Core/Actions/HelpActions.cs:50
 msgid "Pinta Website"
-msgstr ""
+msgstr "Lec'hienn Pinta"
 
 #: Pinta.Core/Actions/HelpActions.cs:51
 msgid "File a Bug"
-msgstr ""
+msgstr "Kas un danevell a-zivout ur beug"
 
 #: Pinta.Core/Actions/HelpActions.cs:52
 msgid "Translate This Application"
-msgstr ""
+msgstr "Treiñ an arload-mañ"
 
 #: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
 msgid "About"
-msgstr ""
+msgstr "Diwar-benn"
 
 #: Pinta.Core/Actions/FileActions.cs:54
 msgid "New..."
-msgstr ""
+msgstr "Nevez..."
 
 #: Pinta.Core/Actions/FileActions.cs:55
 msgid "New Screenshot..."
-msgstr ""
+msgstr "Skeudenn nevez diwar ar skramm..."
 
 #: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
 msgid "Open..."
-msgstr ""
+msgstr "Digeriñ..."
 
 #: Pinta.Core/Actions/FileActions.cs:57
 msgid "Open Recent"
-msgstr ""
+msgstr "Digeriñ ur restr krouet nevez zo"
 
 #: Pinta.Core/Actions/FileActions.cs:64
 msgid "Close"
-msgstr ""
+msgstr "Serriñ"
 
 #: Pinta.Core/Actions/FileActions.cs:65
 msgid "Save"
-msgstr ""
+msgstr "Enrollañ"
 
 #: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
 msgid "Save As..."
-msgstr ""
+msgstr "Enrollañ evel..."
 
 #: Pinta.Core/Actions/FileActions.cs:67
 msgid "Print"
-msgstr ""
+msgstr "Moullañ"
 
 #: Pinta.Core/Actions/FileActions.cs:68
 msgid "Quit"
-msgstr ""
+msgstr "Mont kuit"
 
 #: Pinta.Core/Actions/FileActions.cs:70
 msgid "New"
-msgstr ""
+msgstr "Nevez"
 
 #: Pinta.Core/Actions/FileActions.cs:71
 msgid "Open"
-msgstr ""
+msgstr "Digeriñ"
 
 #: Pinta.Core/Actions/EditActions.cs:65
 msgid "Undo"
-msgstr ""
+msgstr "Dizober"
 
 #: Pinta.Core/Actions/EditActions.cs:66
 msgid "Redo"
-msgstr ""
+msgstr "Adober"
 
 #: Pinta.Core/Actions/EditActions.cs:67
 msgid "Cut"
-msgstr ""
+msgstr "Troc'hañ"
 
 #: Pinta.Core/Actions/EditActions.cs:68
 msgid "Copy"
-msgstr ""
+msgstr "Eilañ"
 
 #: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
 msgid "Paste"
-msgstr ""
+msgstr "Pegañ"
 
 #: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
 msgid "Paste Into New Layer"
-msgstr ""
+msgstr "Pegañ war un dreuzfollenn nevez"
 
 #: Pinta.Core/Actions/EditActions.cs:71
 msgid "Paste Into New Image"
-msgstr ""
+msgstr "Pegañ war ur skeudenn nevez"
 
 #: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
 #: Pinta.Core/Actions/EditActions.cs:296
 msgid "Erase Selection"
-msgstr ""
+msgstr "Diverkañ an diuzad"
 
 #: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
 msgid "Fill Selection"
-msgstr ""
+msgstr "Leuniañ an diuzad"
 
 #: Pinta.Core/Actions/EditActions.cs:74
 msgid "Invert Selection"
-msgstr ""
+msgstr "Tuginañ an diuzad"
 
 #: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
 msgid "Select All"
-msgstr ""
+msgstr "Diuzañ pep tra"
 
 #: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
 msgid "Deselect"
-msgstr ""
+msgstr "Diziuzañ"
 
 #: Pinta.Core/Actions/EditActions.cs:80
 msgid "Reset to Default"
-msgstr ""
+msgstr "Adderaouekaat"
 
 #: Pinta.Core/Actions/EditActions.cs:81
 msgid "Set Number of Colors"
-msgstr ""
+msgstr "Arventennañ niver al livioù"
 
 #: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
 #: Pinta/MainWindow.cs:569
 msgid "Palette"
-msgstr ""
+msgstr "Livaoueg"
 
 #: Pinta.Core/Actions/EditActions.cs:313
 msgid "Open Palette File"
-msgstr ""
+msgstr "Digeriñ ur restr livaoueg"
 
 #: Pinta.Core/Actions/EditActions.cs:320
 msgid "Palette files (*.txt, *.gpl)"
-msgstr ""
+msgstr "Restroù livaouegoù (*.txt, *.gpl)"
 
 #: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
 msgid "All files"
-msgstr ""
+msgstr "An holl restroù"
 
 #: Pinta.Core/Actions/EditActions.cs:340
 #, csharp-format
@@ -385,171 +385,178 @@ msgid ""
 "Could not open palette file: {0}.\n"
 "Please verify that you are trying to open a valid GIMP or Paint.NET palette."
 msgstr ""
+"N'hall ket digeriñ ar restr livaoueg : {0}.\n"
+"Gwiriit emaoc'h o klask digeriñ ul livaoueg talvoudek mod GIMP pe Paint.NET."
 
 #: Pinta.Core/Actions/EditActions.cs:341
 #: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
 msgid "Error"
-msgstr ""
+msgstr "Fazi"
 
 #: Pinta.Core/Actions/EditActions.cs:353
 msgid "Save Palette File"
-msgstr ""
+msgstr "Enrollañ ar restr livaoueg"
 
 #: Pinta.Core/Actions/EditActions.cs:359
 msgid "Paint.NET palette (*.txt)"
-msgstr ""
+msgstr "Livaoueg mod Paint.NET (*.txt)"
 
 #: Pinta.Core/Actions/EditActions.cs:364
 msgid "GIMP palette (*.gpl)"
-msgstr ""
+msgstr "Livaoueg mod GIMP (*.gpl)"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr "Skeudenn dienroll {0}"
 
 #: Pinta.Core/Managers/WorkspaceManager.cs:151
 msgid "Background"
-msgstr ""
+msgstr "Drekva"
 
 #: Pinta.Core/Managers/WorkspaceManager.cs:158
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
 msgid "New Image"
-msgstr ""
+msgstr "Skeudenn nevez"
 
 #: Pinta.Core/Managers/WorkspaceManager.cs:176
 msgid "Open Image"
-msgstr ""
+msgstr "Digeriñ ur skeudenn"
 
 #: Pinta.Core/Managers/WorkspaceManager.cs:183
 #, csharp-format
 msgid "Could not open file: {0}"
-msgstr ""
+msgstr "N'hall ket digeriñ ar restr : {0}"
 
 #: Pinta.Core/Managers/LivePreviewManager.cs:220
 msgid "Rendering Effect"
-msgstr ""
+msgstr "Efed gant an deouez"
 
 #: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
 #: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
 msgid "Posterize"
-msgstr ""
+msgstr "Skritellaat"
 
 #: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
 msgid "Invert Colors"
-msgstr ""
+msgstr "Tuginañ al livioù"
 
 #: Pinta.Effects/Adjustments/LevelsEffect.cs:24
 msgid "Levels"
-msgstr ""
+msgstr "Liveoù"
 
 #: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
 msgid "Black and White"
-msgstr ""
+msgstr "Du ha Gwenn"
 
 #: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
 msgid "Auto Level"
-msgstr ""
+msgstr "Live emgefreek"
 
 #: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
 msgid "Hue / Saturation"
-msgstr ""
+msgstr "Arliv/Peurvec'hiañ"
 
 #: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
 msgid "Brightness / Contrast"
-msgstr ""
+msgstr "Lintr/Dargemm"
 
 #: Pinta.Effects/Adjustments/SepiaEffect.cs:27
 msgid "Sepia"
-msgstr ""
+msgstr "Sepia"
 
 #: Pinta.Effects/Adjustments/CurvesEffect.cs:28
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
 msgid "Curves"
-msgstr ""
+msgstr "Krommennoù"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
 msgid "Transfer Map"
-msgstr ""
+msgstr "Kartenn dreuzkas"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
 msgid "RGB"
-msgstr ""
+msgstr "RGG"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
 msgid "Luminosity"
-msgstr ""
+msgstr "Lintr"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
 msgid "(256, 256)"
-msgstr ""
+msgstr "(256, 256)"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
 msgid "Red  "
-msgstr ""
+msgstr "Ruz  "
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
 msgid "Green"
-msgstr ""
+msgstr "Gwer"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
 msgid "Blue "
-msgstr ""
+msgstr "Glas "
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
 msgid "Reset"
-msgstr ""
+msgstr "Adderaouekaat"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
 msgid "Tip: Right-click to remove control points."
-msgstr ""
+msgstr "Tun : Klikañ a-zehou da zilemel ar poentoù reoliñ."
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
 msgid "Levels Adjustment"
-msgstr ""
+msgstr "Kengeidadur al liveoù"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
 msgid "Input Histogram"
-msgstr ""
+msgstr "Tellun enankañ"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
 msgid "Input"
-msgstr ""
+msgstr "Enankad"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
 msgid "Output"
-msgstr ""
+msgstr "Ec'hankad"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
 msgid "Output Histogram"
-msgstr ""
+msgstr "Tellun ec'hankañ"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
 msgid "Auto"
-msgstr ""
+msgstr "Emgefreek"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
 msgid "Red"
-msgstr ""
+msgstr "Ruz"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
 msgid "Blue"
-msgstr ""
+msgstr "Glas"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
 msgid "Linked"
-msgstr ""
+msgstr "Ereet"
 
 #: Pinta.Effects/Effects/PencilSketchEffect.cs:33
 msgid "Pencil Sketch"
-msgstr ""
+msgstr "Brastres gant ur c'hreion"
 
 #: Pinta.Effects/Effects/PencilSketchEffect.cs:41
 #: Pinta.Effects/Effects/OilPaintingEffect.cs:34
 #: Pinta.Effects/Effects/InkSketchEffect.cs:42
 msgid "Artistic"
-msgstr ""
+msgstr "Arzek"
 
 #: Pinta.Effects/Effects/UnfocusEffect.cs:28
 msgid "Unfocus"
-msgstr ""
+msgstr "Distiañ"
 
 #: Pinta.Effects/Effects/UnfocusEffect.cs:36
 #: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
@@ -558,11 +565,11 @@ msgstr ""
 #: Pinta.Effects/Effects/FragmentEffect.cs:34
 #: Pinta.Effects/Effects/RadialBlurEffect.cs:34
 msgid "Blurs"
-msgstr ""
+msgstr "Ruzed"
 
 #: Pinta.Effects/Effects/BulgeEffect.cs:26
 msgid "Bulge"
-msgstr ""
+msgstr "Bos"
 
 #: Pinta.Effects/Effects/BulgeEffect.cs:34
 #: Pinta.Effects/Effects/PixelateEffect.cs:38
@@ -571,554 +578,586 @@ msgstr ""
 #: Pinta.Effects/Effects/PolarInversionEffect.cs:39
 #: Pinta.Effects/Effects/TwistEffect.cs:34
 msgid "Distort"
-msgstr ""
+msgstr "Torrgammoù"
 
 #: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
 msgid "Mandelbrot Fractal"
-msgstr ""
+msgstr "Brevennoù mod Mandelbrot"
 
 #: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
 #: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
 #: Pinta.Effects/Effects/CloudsEffect.cs:38
 msgid "Render"
-msgstr ""
+msgstr "Deouez"
 
 #: Pinta.Effects/Effects/MedianEffect.cs:29
 msgid "Median"
-msgstr ""
+msgstr "Krenn"
 
 #: Pinta.Effects/Effects/MedianEffect.cs:37
 #: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
 #: Pinta.Effects/Effects/AddNoiseEffect.cs:38
 msgid "Noise"
-msgstr ""
+msgstr "Trouz"
 
 #: Pinta.Effects/Effects/PixelateEffect.cs:26
 msgid "Pixelate"
-msgstr ""
+msgstr "Pikselaat"
 
 #: Pinta.Effects/Effects/SharpenEffect.cs:26
 msgid "Sharpen"
-msgstr ""
+msgstr "Lemmañ"
 
 #: Pinta.Effects/Effects/SharpenEffect.cs:34
 #: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
 #: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
 msgid "Photo"
-msgstr ""
+msgstr "Luc'hskeudenn"
 
 #: Pinta.Effects/Effects/OilPaintingEffect.cs:26
 msgid "Oil Painting"
-msgstr ""
+msgstr "Livadur dre eoul"
 
 #: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
 msgid "Gaussian Blur"
-msgstr ""
+msgstr "Ruzed mod Gausse"
 
 #: Pinta.Effects/Effects/GlowEffect.cs:31
 msgid "Glow"
-msgstr ""
+msgstr "Skleur"
 
 #: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
 msgid "Soften Portrait"
-msgstr ""
+msgstr "Kuñvaat ar poltred"
 
 #: Pinta.Effects/Effects/TileEffect.cs:26
 msgid "Tile Reflection"
-msgstr ""
+msgstr "Disvannadur er marelloù"
 
 #: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
 msgid "Red Eye Removal"
-msgstr ""
+msgstr "Dilamadur an daoulagad ruz"
 
 #: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
 msgid "Frosted Glass"
-msgstr ""
+msgstr "Gwerenn dilufr"
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
 msgid "Edge Detect"
-msgstr ""
+msgstr "Dinoiñ ar riblennoù"
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
 #: Pinta.Effects/Effects/EmbossEffect.cs:34
 #: Pinta.Effects/Effects/ReliefEffect.cs:33
 #: Pinta.Effects/Effects/OutlineEffect.cs:37
 msgid "Stylize"
-msgstr ""
+msgstr "Stilaat"
 
 #: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
 msgid "Julia Fractal"
-msgstr ""
+msgstr "Brevennoù mod Julia"
 
 #: Pinta.Effects/Effects/MotionBlurEffect.cs:26
 msgid "Motion Blur"
-msgstr ""
+msgstr "Ruzed dre fiñval"
 
 #: Pinta.Effects/Effects/EmbossEffect.cs:26
 msgid "Emboss"
-msgstr ""
+msgstr "Stampiñ"
 
 #: Pinta.Effects/Effects/InkSketchEffect.cs:34
 msgid "Ink Sketch"
-msgstr ""
+msgstr "Brastres dre huz"
 
 #: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
 msgid "Zoom Blur"
-msgstr ""
+msgstr "Ruzed dre zoumañ"
 
 #: Pinta.Effects/Effects/PolarInversionEffect.cs:26
 msgid "Polar Inversion"
-msgstr ""
+msgstr "Tuginadur bleinek"
 
 #: Pinta.Effects/Effects/CloudsEffect.cs:30
 msgid "Clouds"
-msgstr ""
+msgstr "Koumoul"
 
 #: Pinta.Effects/Effects/FragmentEffect.cs:26
 msgid "Fragment"
-msgstr ""
+msgstr "Darnaouiñ"
 
 #: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
 msgid "Reduce Noise"
-msgstr ""
+msgstr "Digreskiñ an trouz"
 
 #: Pinta.Effects/Effects/RadialBlurEffect.cs:26
 msgid "Radial Blur"
-msgstr ""
+msgstr "Ruzed skinek"
 
 #: Pinta.Effects/Effects/TwistEffect.cs:26
 msgid "Twist"
-msgstr ""
+msgstr "Gweañ"
 
 #: Pinta.Effects/Effects/AddNoiseEffect.cs:30
 msgid "Add Noise"
-msgstr ""
+msgstr "Ouzhpennañ trouz"
 
 #: Pinta.Effects/Effects/ReliefEffect.cs:45
 msgid "Relief"
-msgstr ""
+msgstr "Torosennadur"
 
 #: Pinta.Effects/Effects/OutlineEffect.cs:29
 msgid "Outline"
-msgstr ""
+msgstr "Trolinenn"
 
 #: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
 msgid "Random Noise"
-msgstr ""
+msgstr "Trouz dargouezhek"
 
 #: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
 msgid "Reseed"
-msgstr ""
+msgstr "Hadañ en-dro"
 
 #: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
 #: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
 msgid "label1"
-msgstr ""
+msgstr "skritell1"
 
 #: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
 #: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
 msgid "label"
-msgstr ""
+msgstr "skritell"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:146
-msgid "X:"
-msgstr ""
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
+msgstr "Dibab al liv kentael"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:154
-msgid "Y:"
-msgstr ""
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
+msgstr "Dibab al liv eilvedel"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr "Dibab al livaoueg"
 
 #: Pinta.Tools/PanTool.cs:38
 msgid "Pan"
-msgstr ""
+msgstr "Dilec'hiañ"
 
 #: Pinta.Tools/PanTool.cs:44
 msgid "Click and drag to navigate image."
-msgstr ""
+msgstr "Klikañ ha riklañ a-benn merdeiñ war ar skeudenn."
 
 #: Pinta.Tools/TextTool.cs:37
 msgid "Text"
-msgstr ""
+msgstr "Testenn"
 
 #: Pinta.Tools/TextTool.cs:44
 msgid ""
 "Left click to place cursor, then type desired text. Text color is primary "
 "color."
 msgstr ""
+"Klikit kleiz da lakaat ar reti, biziatait neuze an destenn a fell deoc'h. "
+"Liv an destenn a vo al liv kentael."
 
 #: Pinta.Tools/TextTool.cs:144
 msgid "Font"
-msgstr ""
+msgstr "Nodrezh"
 
 #: Pinta.Tools/TextTool.cs:205
 msgid "Bold"
-msgstr ""
+msgstr "Tev"
 
 #: Pinta.Tools/TextTool.cs:212
 msgid "Italic"
-msgstr ""
+msgstr "Stouet"
 
 #: Pinta.Tools/TextTool.cs:220
 msgid "Underline"
-msgstr ""
+msgstr "Islinennet"
 
 #: Pinta.Tools/TextTool.cs:229
 msgid "Left Align"
-msgstr ""
+msgstr "Marzekaat war an tu kleiz"
 
 #: Pinta.Tools/TextTool.cs:238
 msgid "Center Align"
-msgstr ""
+msgstr "Marzekaat e-kreiz"
 
 #: Pinta.Tools/TextTool.cs:246
 msgid "Right Align"
-msgstr ""
+msgstr "Marzekaat war an tu dehou"
 
 #: Pinta.Tools/RectangleTool.cs:38
 msgid "Rectangle"
-msgstr ""
+msgstr "Reizhkorn"
 
 #: Pinta.Tools/RectangleTool.cs:44
 msgid ""
 "Click and drag to draw a rectangle (right click for secondary color). Hold "
 "shift to constrain to a square."
 msgstr ""
+"Klikañ ha riklañ a-benn tresañ ur reizhkorn (klik dehou evut ul liv "
+"eilvedel). Pouezañ war Pennlizh. da dresañ ur c'harrez."
 
 #: Pinta.Tools/FreeformShapeTool.cs:53
 msgid "Freeform Shape"
-msgstr ""
+msgstr "Lun dre zorn"
 
 #: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
 msgid ""
 "Left click to draw with primary color, right click to draw with secondary "
 "color."
 msgstr ""
+"Klik kleiz a-benn trasañ gant ul liv kentael, klik dehou a-benn tresañ gant "
+"ul liv eilvedel."
 
 #: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
 msgid "Fill Style"
-msgstr ""
+msgstr "Stil leuniañ"
 
 #: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
 msgid "Outline Shape"
-msgstr ""
+msgstr "Lun an drolinenn"
 
 #: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
 msgid "Fill Shape"
-msgstr ""
+msgstr "Lun leuniañ"
 
 #: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
 msgid "Fill and Outline Shape"
-msgstr ""
+msgstr "Lun leuniañ ha lun an drolinenn"
 
 #: Pinta.Tools/FloodTool.cs:72
 msgid "Flood Mode"
-msgstr ""
+msgstr "Mod aloubiñ"
 
 #: Pinta.Tools/FloodTool.cs:79
 msgid "Contiguous"
-msgstr ""
+msgstr "Kevelek"
 
 #: Pinta.Tools/FloodTool.cs:80
 msgid "Global"
-msgstr ""
+msgstr "Hollek"
 
 #: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
 msgid "Tolerance"
-msgstr ""
+msgstr "Aotrevarz"
 
 #: Pinta.Tools/LineCurveTool.cs:38
 msgid "Line"
-msgstr ""
+msgstr "Linenn"
 
 #: Pinta.Tools/LineCurveTool.cs:44
-msgid "Left click to draw with primary color, right click for secondary color."
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
 msgstr ""
+"Klik kleiz a-benn tresañ gant ul liv kentael, klik dehou evit ul liv "
+"eilvedel."
 
 #: Pinta.Tools/MoveSelectionTool.cs:42
 msgid "Move Selection"
-msgstr ""
+msgstr "Dilec'hiañ an diuzad"
 
 #: Pinta.Tools/MoveSelectionTool.cs:48
 msgid "Drag the selection to move selection outline."
-msgstr ""
+msgstr "Riklañ an diuzad da zilec'hiañ trolinenn an diuzad."
 
 #: Pinta.Tools/RectangleSelectTool.cs:38
 msgid "Rectangle Select"
-msgstr ""
+msgstr "Diuzañ dre ur reizhkorn"
 
 #: Pinta.Tools/RectangleSelectTool.cs:44
 msgid ""
 "Click and drag to draw a rectangular selection. Hold shift to constrain to a "
 "square."
 msgstr ""
+"Klikañ ha riklañ a-benn tresañ un diuzad reizhkornek. Pouezañ war Pennlizh. "
+"a-benn tresañ ur c'harrez."
 
 #: Pinta.Tools/MagicWandTool.cs:46
 msgid "Magic Wand Select"
-msgstr ""
+msgstr "Diuzad dre ar walenn hudus"
 
 #: Pinta.Tools/MagicWandTool.cs:54
 msgid "Click to select region of similar color."
-msgstr ""
+msgstr "Klikañ a-benn diuzañ maezioù gant livioù damheñvel"
 
 #: Pinta.Tools/EllipseSelectTool.cs:38
 msgid "Ellipse Select"
-msgstr ""
+msgstr "Diuzañ dre an elipsenn"
 
 #: Pinta.Tools/EllipseSelectTool.cs:44
 msgid ""
 "Click and drag to draw an elliptical selection. Hold shift to constrain to a "
 "circle."
 msgstr ""
+"Klikañ ha riklañ a-benn tresañ un diuzad elipsennek. Pouezañ war Pennlizh. a-"
+"benn tresañ ur c'helc'h."
 
 #: Pinta.Tools/LassoSelectTool.cs:45
 msgid "Lasso Select"
-msgstr ""
+msgstr "Diuzañ gant al las-bann"
 
 #: Pinta.Tools/LassoSelectTool.cs:47
 msgid "Click and drag to draw the outline for a selection area."
-msgstr ""
+msgstr "Klikañ ha riklañ a-benn tresañ un drolinenn evit maez un diuzad."
 
 #: Pinta.Tools/PaintBucketTool.cs:40
 msgid "Paint Bucket"
-msgstr ""
+msgstr "Sailh da livañ"
 
 #: Pinta.Tools/PaintBucketTool.cs:46
 msgid ""
 "Left click to fill a region with the primary color, right click to fill with "
 "the secondary color."
 msgstr ""
+"Klik kleiz da leuniañ ur maez gant ul liv kentael, klik dehou a-benn leuniañ "
+"gant al liv eilvedel."
 
 #: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
 msgid "Gradient"
-msgstr ""
+msgstr "Ilrezenn"
 
 #: Pinta.Tools/GradientTool.cs:73
 msgid ""
 "Click and drag to draw gradient from primary to secondary color.  Right "
 "click to reverse."
 msgstr ""
+"Klikañ ha riklañ a-benn tresañ un ilrezenn eus ul liv kentael d'ul liv "
+"eilvedel. Klik dehou da cheñch tu."
 
 #: Pinta.Tools/GradientTool.cs:183
 msgid "Linear Gradient"
-msgstr ""
+msgstr "Ilrezenn linennek"
 
 #: Pinta.Tools/GradientTool.cs:184
 msgid "Linear Reflected Gradient"
-msgstr ""
+msgstr "Ilrezenn linennek disvannet"
 
 #: Pinta.Tools/GradientTool.cs:185
 msgid "Linear Diamond Gradient"
-msgstr ""
+msgstr "Ilrezenn linennek e doare diamant"
 
 #: Pinta.Tools/GradientTool.cs:186
 msgid "Radial Gradient"
-msgstr ""
+msgstr "Ilrezenn skinek"
 
 #: Pinta.Tools/GradientTool.cs:187
 msgid "Conical Gradient"
-msgstr ""
+msgstr "Ilrezenn kernennek"
 
 #: Pinta.Tools/GradientTool.cs:195
 msgid "Mode"
-msgstr ""
+msgstr "Mod"
 
 #: Pinta.Tools/GradientTool.cs:202
 msgid "Color Mode"
-msgstr ""
+msgstr "Mod liv"
 
 #: Pinta.Tools/GradientTool.cs:203
 msgid "Transparency Mode"
-msgstr ""
+msgstr "Mod treuzweluster"
 
 #: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
 msgid "Brush width"
-msgstr ""
+msgstr "Led ar broust"
 
 #: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
 msgid "Decrease brush size"
-msgstr ""
+msgstr "Digreskiñ ment ar broust"
 
 #: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
 msgid "Increase brush size"
-msgstr ""
+msgstr "Kreskiñ ment ar broust"
 
 #: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
 msgid "Paintbrush"
-msgstr ""
+msgstr "Broust livañ"
 
 #: Pinta.Tools/PaintBrushTool.cs:63
 msgid "Type"
-msgstr ""
+msgstr "Rizh"
 
 #: Pinta.Tools/RecolorTool.cs:59
 msgid "Recolor"
-msgstr ""
+msgstr "Adlivañ"
 
 #: Pinta.Tools/RecolorTool.cs:61
 msgid "Left click to replace the secondary color with the primary color."
-msgstr ""
+msgstr "Klik kleiz a-benn amsaviñ al liv eilvedel gant al liv kentael."
 
 #: Pinta.Tools/Brushes/PlainBrush.cs:38
 msgid "Normal"
-msgstr ""
+msgstr "Reizh"
 
 #: Pinta.Tools/Brushes/CircleBrush.cs:38
 msgid "Circles"
-msgstr ""
+msgstr "Kelc'hioù"
 
 #: Pinta.Tools/Brushes/SquaresBrush.cs:40
 msgid "Squares"
-msgstr ""
+msgstr "Karrezioù"
 
 #: Pinta.Tools/Brushes/SplatterBrush.cs:38
 msgid "Splatter"
-msgstr ""
+msgstr "Strimpadenn"
 
 #: Pinta.Tools/Brushes/GridBrush.cs:38
 msgid "Grid"
-msgstr ""
+msgstr "Kael"
 
 #: Pinta.Tools/EllipseTool.cs:38
 msgid "Ellipse"
-msgstr ""
+msgstr "Elipsenn"
 
 #: Pinta.Tools/EllipseTool.cs:44
 msgid ""
 "Click and drag to draw an ellipse (right click for secondary color). Hold "
 "shift to constrain to a circle."
 msgstr ""
+"Klikañ ha riklañ a-benn tresañ un elipsenn (klik dehou evit ul liv "
+"eilvedel). Pouezañ war Pennlizh. da dresañ ur c'helc'h."
 
 #: Pinta.Tools/CloneStampTool.cs:43
 msgid "Clone Stamp"
-msgstr ""
+msgstr "Stampon klonañ"
 
 #: Pinta.Tools/CloneStampTool.cs:48
 msgid "Ctrl-left click to set origin, left click to paint."
 msgstr ""
+"Ctrl-klik kleiz a-benn spislec'hiañ an orin, klik kleiz a-benn livañ."
 
 #: Pinta.Tools/ZoomTool.cs:49
 msgid "Zoom"
-msgstr ""
+msgstr "Zoum"
 
 #: Pinta.Tools/ZoomTool.cs:55
 msgid ""
 "Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
 "selection."
 msgstr ""
+"Klik kleiz evit ar zoum brasaat. Klik dehou a-benn dizoumañ. Klikañ ha "
+"riklañ a-benn zoumañ war an diuzad."
 
 #: Pinta.Tools/RoundedRectangleTool.cs:44
 msgid "Rounded Rectangle"
-msgstr ""
+msgstr "Reizhkorn rontaet"
 
 #: Pinta.Tools/RoundedRectangleTool.cs:50
 msgid ""
 "Click and drag to draw a rounded rectangle (right click for secondary "
 "color). Hold shift to constrain."
 msgstr ""
+"Klikañ ha riklañ a-benn tresañ ur reizhkorn rontaet (klik dehou evit ul liv "
+"eilvedel). Pouezañ war Pennlizh. da dresañ ur c'harrez."
 
 #: Pinta.Tools/RoundedRectangleTool.cs:83
 msgid "Radius"
-msgstr ""
+msgstr "Skin"
 
 #: Pinta.Tools/RoundedRectangleTool.cs:88
 msgid "Decrease rectangle's corner radius"
-msgstr ""
+msgstr "Digreskiñ skin korn ar reizhkorn"
 
 #: Pinta.Tools/RoundedRectangleTool.cs:102
 msgid "Increase rectangle's corner radius"
-msgstr ""
+msgstr "Kreskiñ skin kornioù ar reizhkorn"
 
 #: Pinta.Tools/ColorPickerTool.cs:44
 msgid "Color Picker"
-msgstr ""
+msgstr "Gwalenn da dapout ul liv"
 
 #: Pinta.Tools/ColorPickerTool.cs:50
 msgid "Left click to set primary color. Right click to set secondary color."
 msgstr ""
+"Klik kleiz da arventennañ ul liv kentael. Klik dehou da arventennañ al liv "
+"eilvedel."
 
 #: Pinta.Tools/ColorPickerTool.cs:62
 msgid "After select"
-msgstr ""
+msgstr "Goude bezañ diuzet"
 
 #: Pinta.Tools/ColorPickerTool.cs:68
 msgid "Do not switch tool"
-msgstr ""
+msgstr "Arabat kemmañ ar benveg"
 
 #: Pinta.Tools/ColorPickerTool.cs:68
 msgid "Switch to previous tool"
-msgstr ""
+msgstr "Kemmañ d'ar benveg kent"
 
 #: Pinta.Tools/ColorPickerTool.cs:68
 msgid "Switch to Pencil tool"
-msgstr ""
+msgstr "Kemmañ d'ar benveg Kreion"
 
 #: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
 msgid "Pencil"
-msgstr ""
+msgstr "Kreion"
 
 #: Pinta.Tools/EraserTool.cs:45
 msgid "Eraser"
-msgstr ""
+msgstr "Gomenn"
 
 #: Pinta.Tools/EraserTool.cs:47
 msgid "Click and drag to erase a portion of the image."
-msgstr ""
+msgstr "Klikañ ha riklañ da ziverkañ ul lod eus ar skeudenn."
 
 #: Pinta.Tools/PencilTool.cs:50
 msgid ""
 "Left click to draw freeform, one-pixel wide lines with the primary color, "
 "right click to use the secondary color."
 msgstr ""
+"Klik kleiz a-benn tresañ ul lun gant an dorn, he linennoù ur piksel o zevder "
+"gant al liv kentael. Klik dehou a-benn ober gant al liv eilvedel."
 
 #: Pinta.Tools/MoveSelectedTool.cs:42
 msgid "Move Selected Pixels"
-msgstr ""
+msgstr "Dilec'hiañ ar pikselioù bet diuzet"
 
 #: Pinta.Tools/MoveSelectedTool.cs:48
 msgid "Drag the selection to move selected content."
-msgstr ""
+msgstr "Riklañ an diuzad da zilec'hiañ an endalc'had diuzet"
 
 #: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
 msgid "Hide"
-msgstr ""
+msgstr "Kuzhañ"
 
 #: Pinta/DockLibrary/DockItemContainer.cs:190
 msgid "Dock"
-msgstr ""
+msgstr "Kae"
 
 #: Pinta/DockLibrary/DockItemContainer.cs:194
 #: Pinta/DockLibrary/DockItem.cs:502
 msgid "Auto Hide"
-msgstr ""
+msgstr "Kuzhañ emgefreek"
 
 #: Pinta/DockLibrary/DockItem.cs:485
 msgid "Dockable"
-msgstr ""
+msgstr "Kaeadus"
 
 #: Pinta/DockLibrary/DockItem.cs:493
 msgid "Floating"
-msgstr ""
+msgstr "War neuñv"
 
 #: Pinta/Options.cs:486
 msgid "OptionName"
-msgstr ""
+msgstr "Anv an dibarzh"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
 msgid "By percentage:"
-msgstr ""
+msgstr "Dre zregantad :"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
 msgid "By absolute size:"
-msgstr ""
+msgstr "Dre ar vent dizave :"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
 msgid "Width:"
-msgstr ""
+msgstr "Led :"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
@@ -1127,243 +1166,260 @@ msgstr ""
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
 msgid "pixels"
-msgstr ""
+msgstr "a bikselioù"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
 msgid "Height:"
-msgstr ""
+msgstr "Sav :"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
 msgid "Maintain aspect ratio"
-msgstr ""
+msgstr "Mirout kenfeur an neuz"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
 msgid "Anchor:"
-msgstr ""
+msgstr "Eor :"
 
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
 msgid "New Image Size          "
-msgstr ""
+msgstr "Ment ar skeudenn nevez          "
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Perzhioù an dreuzfollenn"
 
 #: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
 msgid "Name:"
-msgstr ""
+msgstr "Anv :"
 
 #: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
 msgid "Visible"
-msgstr ""
+msgstr "Hewelus"
 
 #: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
 msgid "Opacity:"
-msgstr ""
+msgstr "Demerez :"
 
-#: Pinta/MainWindow.cs:448
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr "..."
+
+#: Pinta/MainWindow.cs:450
 msgid "_File"
-msgstr ""
+msgstr "_Restr"
 
 #: Pinta/MainWindow.cs:449
 msgid "_Edit"
-msgstr ""
+msgstr "_Embann"
 
 #: Pinta/MainWindow.cs:451
 msgid "_View"
-msgstr ""
+msgstr "_Gwelout"
 
 #: Pinta/MainWindow.cs:454
 msgid "_Image"
-msgstr ""
+msgstr "_Skeudenn"
 
 #: Pinta/MainWindow.cs:455
 msgid "_Layers"
-msgstr ""
+msgstr "_Treuzfollenn"
 
 #: Pinta/MainWindow.cs:456
 msgid "_Adjustments"
-msgstr ""
+msgstr "_Kengeidadurioù"
 
 #: Pinta/MainWindow.cs:457
 msgid "Effe_cts"
-msgstr ""
+msgstr "Efe_doù"
 
 #: Pinta/MainWindow.cs:459
 msgid "_Window"
-msgstr ""
+msgstr "_Prenestr"
 
 #: Pinta/MainWindow.cs:463
 msgid "Tool Windows"
-msgstr ""
+msgstr "Prenestr an ostilhoù"
 
 #: Pinta/MainWindow.cs:467
 msgid "_Help"
-msgstr ""
+msgstr "_Skoazell"
 
 #: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
 msgid "Tools"
-msgstr ""
+msgstr "Binvioù"
 
 #: Pinta/MainWindow.cs:578
 msgid "Documents"
-msgstr ""
+msgstr "Teulioù"
 
 #: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
 msgid "Layers"
-msgstr ""
+msgstr "Treuzfollennoù"
 
 #: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
 msgid "History"
-msgstr ""
+msgstr "Roll istor"
 
 #: Pinta/DialogHandlers.cs:99
 msgid "Take Screenshot"
-msgstr ""
+msgstr "Ober ur skrammad"
 
 #: Pinta/DialogHandlers.cs:100
 msgid "Delay before taking a screenshot (seconds):"
-msgstr ""
+msgstr "Pred a-raok ma vo graet ar skrammad (eilennoù) :"
 
 #: Pinta/DialogHandlers.cs:139
 #, csharp-format
 msgid "Save the changes to image \"{0}\" before closing?"
-msgstr ""
+msgstr "Enrollañ ar c'hemmoù graet d'ar skeudenn \"{0}\" kent serriñ ?"
 
 #: Pinta/DialogHandlers.cs:140
 msgid "If you don't save, all changes will be permanently lost."
-msgstr ""
+msgstr "Ma ne enrollot ket e vo kollet an holl gemmoù da vat."
 
 #: Pinta/DialogHandlers.cs:147
 msgid "Close without saving"
-msgstr ""
+msgstr "Serriñ hep enrollañ"
 
 #: Pinta/DialogHandlers.cs:174
 msgid "Resize Palette"
-msgstr ""
+msgstr "Admentañ al livaoueg"
 
 #: Pinta/DialogHandlers.cs:175
 msgid "New palette size:"
-msgstr ""
+msgstr "Ment nevez al livaoueg :"
 
 #: Pinta/DialogHandlers.cs:301
 msgid "Layer Opacity"
-msgstr ""
+msgstr "Demerez an dreuzfollenn"
 
 #: Pinta/DialogHandlers.cs:306
 msgid "Rename Layer"
-msgstr ""
+msgstr "Adenvel an dreuzfollenn"
 
 #: Pinta/DialogHandlers.cs:311
 msgid "Hide Layer"
-msgstr ""
+msgstr "Kuzhañ an dreuzfollenn"
 
 #: Pinta/DialogHandlers.cs:311
 msgid "Show Layer"
-msgstr ""
+msgstr "Diskouez an dreuzfollenn"
 
 #: Pinta/DialogHandlers.cs:404
 msgid "Image files"
-msgstr ""
+msgstr "Restroù skeudenn"
 
 #: Pinta/DialogHandlers.cs:461
 msgid "Paste cancelled"
-msgstr ""
+msgstr "Dilezet eo bet ar pegañ"
 
 #: Pinta/DialogHandlers.cs:462
 msgid "The clipboard does not contain an image"
-msgstr ""
+msgstr "N'eus skeudenn ebet er golver"
 
 #: Pinta/DialogHandlers.cs:495
 msgid "Save Image File"
-msgstr ""
+msgstr "Enrollañ restr ar skeudenn"
 
 #: Pinta/DialogHandlers.cs:575
 msgid "Pinta does not support saving images in this file format."
-msgstr ""
+msgstr "Pinta ne skor ket an enrollañ skeudennoù gant ar mentrezh restr-mañ."
 
 #: Pinta/DialogHandlers.cs:593
 #, csharp-format
 msgid "A file named \"{0}\" already exists. Do you want to replace it?"
 msgstr ""
+"Ur restr anvet \"{0}\" ez eus anezhi endeo. Ha fellout a ra deoc'h hec'h "
+"amsaviñ ?"
 
 #: Pinta/DialogHandlers.cs:594
 #, csharp-format
 msgid ""
 "The file already exists in \"{1}\". Replacing it will overwrite its contents."
 msgstr ""
+"Ar restr ez eus anezhi e \"{1}\". Mar bez amsavet e vo flastret hec'h "
+"endalc'had."
 
 #: Pinta/Main.cs:68
 msgid "number of threads to use for rendering"
-msgstr ""
+msgstr "niver a neudennoù da arverañ evit an deouez"
 
 #: Pinta/Dialogs/AboutPintaTabPage.cs:41
 #: Pinta/Dialogs/VersionInformationTabPage.cs:50
 msgid "Version"
-msgstr ""
+msgstr "Handelv"
 
 #: Pinta/Dialogs/AboutPintaTabPage.cs:50
 msgid "License"
-msgstr ""
+msgstr "Lañvaz"
 
 #: Pinta/Dialogs/AboutPintaTabPage.cs:50
 msgid "Released under the MIT X11 License."
-msgstr ""
+msgstr "Savet dindan Lañvaz MIT X11."
 
 #: Pinta/Dialogs/AboutPintaTabPage.cs:57
 msgid "Copyright"
-msgstr ""
+msgstr "Copyright"
 
 #: Pinta/Dialogs/AboutPintaTabPage.cs:57
 msgid "by Pinta contributors"
-msgstr ""
+msgstr "gant perzhiaded Pinta"
 
 #: Pinta/Dialogs/VersionInformationTabPage.cs:44
 msgid "Title"
-msgstr ""
+msgstr "Titl"
 
 #: Pinta/Dialogs/VersionInformationTabPage.cs:53
 msgid "Path"
-msgstr ""
+msgstr "Treug"
 
 #: Pinta/Dialogs/JpegCompressionDialog.cs:38
 msgid "JPEG Quality"
-msgstr ""
+msgstr "Perzhded JPEG"
 
 #: Pinta/Dialogs/JpegCompressionDialog.cs:46
 msgid "Quality: "
-msgstr ""
+msgstr "Perzhded : "
 
 #: Pinta/Dialogs/AboutDialog.cs:101
 msgid "Contributors to this Release"
-msgstr ""
+msgstr "Perzhiaded evit an handelv-mañ"
 
 #: Pinta/Dialogs/AboutDialog.cs:111
 msgid "Previous Contributors"
-msgstr ""
+msgstr "Perzhiaded kent"
 
 #: Pinta/Dialogs/AboutDialog.cs:120
 msgid "translator-credits"
 msgstr ""
+"This is a dummy translation so that the credits are counted as translated.\n"
+"\n"
+"Launchpad Contributions:\n"
+"  Alan https://launchpad.net/~alan-m.\n"
+"  Skolajidi Diwan https://launchpad.net/~gireg-konan"
 
 #: Pinta/Dialogs/AboutDialog.cs:123
 msgid "Translated by:"
-msgstr ""
+msgstr "Troet gant :"
 
 #: Pinta/Dialogs/AboutDialog.cs:130
 msgid "Based on the work of Paint.NET:"
-msgstr ""
+msgstr "Diazezet war al labour graet evit Paint.NET :"
 
 #: Pinta/Dialogs/AboutDialog.cs:137
 msgid "Using some icons from:"
-msgstr ""
+msgstr "Arver arlunioù zo digant :"
 
 #: Pinta/Dialogs/AboutDialog.cs:249
 msgid "About Pinta"
-msgstr ""
+msgstr "A-zivout Pinta"
 
 #: Pinta/Dialogs/AboutDialog.cs:267
 msgid "Version Info"
-msgstr ""
+msgstr "Titouroù an handelv"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1372,7 +1428,7 @@ msgstr ""
 #: SharpenData dialog
 #: MotionBlurEffect dialog
 msgid "Amount"
-msgstr ""
+msgstr "Kementad"
 
 #: RadialBlurEffect dialog
 #: JuliaFractalEffect dialog
@@ -1382,158 +1438,165 @@ msgstr ""
 #: ReliefData dialog
 #: TwistEffect dialog
 msgid "Angle"
-msgstr ""
+msgstr "Kornad"
 
 #: CloudsEffect dialog
 msgid "Antialias"
-msgstr ""
+msgstr "Lufrañ"
 
 #: GlowEffect dialog
 msgid "Blend Mode"
-msgstr ""
+msgstr "Mod kemmeskañ"
 
 #: OilPaintingEffect dialog
 msgid "Brightness"
-msgstr ""
+msgstr "Lintr"
 
 #: PixelateData dialog
 msgid "Brush Size"
-msgstr ""
+msgstr "Ment ar broust"
 
 #: PolarInversionEffect dialog
 msgid "Cell Size"
-msgstr ""
+msgstr "Ment ar gellig"
 
 #: MotionBlurEffect dialog
 msgid "Center Offset"
-msgstr ""
+msgstr "Linkad ar c'hreiz"
 
 #: OilPaintingEffect dialog
 msgid "Centered"
-msgstr ""
+msgstr "Kreizet"
 
 #: PencilSketchEffect dialog
 msgid "Coarseness"
-msgstr ""
+msgstr "Diguñvder"
 
 #: AddNoiseEffect dialog
 msgid "Color Range"
-msgstr ""
+msgstr "Ledad livioù"
 
 #: InkSketchEffect dialog
 msgid "Color Saturation"
-msgstr ""
+msgstr "Peurvec'hiañ liv"
 
 #: GlowEffect dialog
 msgid "Coloring"
-msgstr ""
+msgstr "Livadur"
 
 #: AddNoiseEffect dialog
 msgid "Contrast"
-msgstr ""
+msgstr "Dargemm"
 
 #: FragmentEffect dialog
 msgid "Coverage"
-msgstr ""
+msgstr "Keitad"
 
 #: MotionBlurEffect dialog
 #: PolarInversionEffect dialog
 msgid "Distance"
-msgstr ""
+msgstr "Pellder"
 
 #: JuliaFractalEffect dialog
 msgid "Edge Behavior"
-msgstr ""
+msgstr "Emzalc'h ar riblenn"
 
 #: MandelbrotFractalEffect dialog
 #: FragmentEffect dialog
 msgid "Factor"
-msgstr ""
+msgstr "Parenn"
 
 #: InkSketchEffect dialog
 msgid "Fragments"
-msgstr ""
+msgstr "Darnoù"
 
 #: TileEffect dialog
 msgid "Ink Outline"
-msgstr ""
+msgstr "Trolinenn dre huz"
 
 #: AddNoiseEffect dialog
 #: OutlineEffect dialog
 #: MandelbrotFractalEffect dialog
 msgid "Intensity"
-msgstr ""
+msgstr "Kreñvder"
 
 #: RadialBlurEffect dialog
 msgid "Lighting"
-msgstr ""
+msgstr "Goulaouiñ"
 
 #: ZoomBlurEffect dialog
 #: BulgeEffect dialog
 #: PencilSketchEffect dialog
 msgid "Offset"
-msgstr ""
+msgstr "Linkañ"
 
 #: MedianEffect dialog
 msgid "Pencil Tip Size"
-msgstr ""
+msgstr "Ment min ar c'hreion"
 
 #: CloudsEffect dialog
 msgid "Percentile"
-msgstr ""
+msgstr "Kantranner"
 
 #: RadialBlurEffect dialog
 msgid "Power"
-msgstr ""
+msgstr "Galloud"
 
 #: PolarInversionEffect dialog
 #: JuliaFractalEffect dialog
 #: MandelbrotFractalEffect dialog
 #: GaussianBlurEffect dialog
 msgid "Quality"
-msgstr ""
+msgstr "Perzhded"
 
 #: TileEffect dialog
 #: RedEyeRemoveData dialog
 msgid "Rotation"
-msgstr ""
+msgstr "C'hwelañ"
 
 #: CloudsEffect dialog
 msgid "Saturation percentage"
-msgstr ""
+msgstr "Tregantad ar peurvec'hiañ"
 
 #: CloudsEffect dialog
 msgid "Scale"
-msgstr ""
+msgstr "Skeulaat"
 
 #: SoftenPortraitData dialog
 msgid "Seed"
-msgstr ""
+msgstr "Hadañ"
 
 #: ReduceNoiseEffect dialog
 msgid "Softness"
-msgstr ""
+msgstr "Kuñvder"
 
 #: OutlineEffect dialog
 msgid "Strength"
-msgstr ""
+msgstr "Kreñvder"
 
 #: TileEffect dialog
 msgid "Thickness"
-msgstr ""
+msgstr "Tevder"
 
 #: RedEyeRemoveData dialog
 msgid "Tile Size"
-msgstr ""
+msgstr "Ment ar marelloù"
 
 #: JuliaFractalEffect dialog
 msgid "Warmth"
-msgstr ""
+msgstr "Tommder"
 
 #: RadialBlurEffect dialog
-msgid "Use low quality for previews, small images, and small angles.  Use high quality for final quality, large images, and large angles."
+msgid ""
+"Use low quality for previews, small images, and small angles.  Use high "
+"quality for final quality, large images, and large angles."
 msgstr ""
+"Arverañ ur berzhded izel evit an alberzioù, skeudennoù bihan ha kornadoù "
+"bihan. Arverañ ur berzhded uhel evit an disoc'h diwezhel, skeudennoù bras ha "
+"kornadoù bras."
 
 #: RedEyeRemoveEffect dialog
 msgid "Hint: For best results, first use selection tools to select each eye."
 msgstr ""
+"Un ali : evit un disoc'h gwellañ, grit da gentañ gant an benveg diuzañ a-"
+"benn diuzañ pep lagad."
diff --git a/po/messages-ca.po b/po/messages-ca.po
index ca40e41..d1673b9 100644
--- a/po/messages-ca.po
+++ b/po/messages-ca.po
@@ -7,669 +7,638 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-06-22 09:23+0000\n"
-"Last-Translator: thor9216 <thor9216 at gmail.com>\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2010-12-28 23:49+0000\n"
+"Last-Translator: tot3lmon <tot3lmon at gmail.com>\n"
 "Language-Team: Catalan <ca at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr ""
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "Finestra"
 
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr ""
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "Capa"
 
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr ""
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "còpia"
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr ""
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "Redimensiona Canvas"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr ""
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr "Eina"
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr ""
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr "Drecera de teclat"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
 msgstr ""
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr ""
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr "Sobreescriu"
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
 msgstr ""
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
 msgstr ""
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr ""
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "Canvia la mida de la imatge"
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
 msgstr ""
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "Eines"
-
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "Paleta"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr ""
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Documents"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr ""
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "Capes"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr ""
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "Historial"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
 msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
 msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "Flotant"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "Oculta automàticament"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
+msgstr "General"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
 msgstr ""
-"Launchpad Contributions:\n"
-"  thor9216 https://launchpad.net/~thor9216"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Traduït per:"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr "Volteja horitzontalment"
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr ""
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr "Volteja verticalment"
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr ""
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr "Aplana"
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "Quant a Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr "Amplia"
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr ""
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr "Redueix"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "Títol"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr "Augmenta la Finestra"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Versió"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr "Zoom a la selecció"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr ""
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr "Mida real"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Llicència"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
+msgstr "Barra d'Eines"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
 msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
 msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr ""
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr "Píxels"
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "Canvia la mida de la imatge"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr "Centímetres"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "Per percentage:"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr "Pantalla sencera"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "Amplada:"
-
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "píxels"
-
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "Alçada:"
-
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
-#: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "Propietats de la capa"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr "Suprimeix Capa"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "Nom:"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr "Capa Duplicada"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "Visible"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "Opacitat:"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "Àncora:"
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr "Puja Capa"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
-msgid "New Image"
-msgstr "Nova imatge"
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr "Baixa Capa"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
+#: Pinta.Core/Actions/LayerActions.cs:74
+msgid "Layer Properties..."
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:57
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "Opacitat de la capa"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "Canvia el nom de la capa"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "Mostra la capa"
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
+msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "etiqueta"
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
-msgstr "Selector de color"
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
 msgstr ""
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
 msgstr ""
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
 msgstr ""
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
 msgstr ""
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
 msgstr ""
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
 msgstr ""
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
 msgstr ""
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
 msgstr ""
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "Paleta"
+
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
 msgstr ""
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:60
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
 msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
-msgstr ""
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
+msgid "New Image"
+msgstr "Nova imatge"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
+#, csharp-format
+msgid "Could not open file: {0}"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
 msgstr ""
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
 msgstr ""
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
 msgstr ""
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
 msgstr ""
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
 msgstr ""
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
 msgstr ""
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
 msgstr ""
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
 msgstr ""
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
 msgstr ""
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:37
-msgid "Text"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:44
-msgid ""
-"Left click to place cursor, then type desired text. Text color is primary "
-"color."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:131
-msgid "Font"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:186
-msgid "Bold"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:193
-msgid "Italic"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:201
-msgid "Underline"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:210
-msgid "Left Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:219
-msgid "Center Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:227
-msgid "Right Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
 msgstr ""
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
 msgstr ""
 
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
 msgstr ""
 
-#: Pinta.Tools/RectangleTool.cs:38
-msgid "Rectangle"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
 msgstr ""
 
-#: Pinta.Tools/RectangleTool.cs:44
-msgid ""
-"Click and drag to draw a rectangle (right click for secondary color). Hold "
-"shift to constrain to a square."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
 msgstr ""
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
-msgstr ""
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
+msgstr "Difuminats"
 
-#: Pinta.Tools/LineCurveTool.cs:44
-msgid ""
-"Left click to draw with primary color, right click for secondary color."
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
 msgstr ""
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
+msgstr "Distorsiona"
+
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
 msgstr ""
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
 msgstr ""
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
 msgstr ""
 
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
 msgstr ""
 
 #: Pinta.Effects/Effects/PixelateEffect.cs:26
 msgid "Pixelate"
 msgstr "Pixelitza"
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr "Distorsiona"
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
-msgstr "Elimina ulls vermells"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
+msgstr ""
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
 msgid "Photo"
 msgstr "Foto"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
 msgstr ""
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
-msgstr "Difuminats"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
+msgstr ""
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
 msgstr ""
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
 msgstr ""
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
 msgstr ""
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr "Elimina ulls vermells"
+
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
 msgstr ""
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
@@ -677,18 +646,26 @@ msgid "Edge Detect"
 msgstr ""
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
 #: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
 msgid "Stylize"
 msgstr ""
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
 msgstr ""
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr ""
+
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr ""
+
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
 msgstr ""
 
 #: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
@@ -703,541 +680,710 @@ msgstr ""
 msgid "Clouds"
 msgstr ""
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
 msgstr ""
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr ""
+
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr ""
+
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
 msgstr ""
 
 #: Pinta.Effects/Effects/AddNoiseEffect.cs:30
 msgid "Add Noise"
 msgstr ""
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
 msgstr ""
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
+#: Pinta.Effects/Effects/OutlineEffect.cs:29
+msgid "Outline"
 msgstr ""
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
 msgstr ""
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
 msgstr ""
 
-#: Pinta.Effects/Effects/OutlineEffect.cs:29
-msgid "Outline"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
 msgstr ""
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "etiqueta"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
 msgstr ""
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
 msgstr ""
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
+#: Pinta.Tools/TextTool.cs:37
+msgid "Text"
 msgstr ""
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
+#: Pinta.Tools/TextTool.cs:44
+msgid ""
+"Left click to place cursor, then type desired text. Text color is primary "
+"color."
 msgstr ""
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
+#: Pinta.Tools/TextTool.cs:144
+msgid "Font"
 msgstr ""
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
+#: Pinta.Tools/TextTool.cs:205
+msgid "Bold"
 msgstr ""
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
+#: Pinta.Tools/TextTool.cs:212
+msgid "Italic"
 msgstr ""
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
+#: Pinta.Tools/TextTool.cs:220
+msgid "Underline"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
+#: Pinta.Tools/TextTool.cs:229
+msgid "Left Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
+#: Pinta.Tools/TextTool.cs:238
+msgid "Center Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
+#: Pinta.Tools/TextTool.cs:246
+msgid "Right Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
+#: Pinta.Tools/RectangleTool.cs:38
+msgid "Rectangle"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
+#: Pinta.Tools/RectangleTool.cs:44
+msgid ""
+"Click and drag to draw a rectangle (right click for secondary color). Hold "
+"shift to constrain to a square."
 msgstr ""
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
+msgid ""
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
 msgstr ""
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:392
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before closing?"
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:402
-msgid "Close without saving"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "Selector de color"
+
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "Oculta automàticament"
+
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "Flotant"
+
+#: Pinta/Options.cs:486
+msgid "OptionName"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "Per percentage:"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "Amplada:"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "píxels"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "Alçada:"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "Àncora:"
+
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Propietats de la capa"
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "Nom:"
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "Visible"
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "Opacitat:"
+
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
+#: Pinta/MainWindow.cs:451
+msgid "_View"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
-msgstr "Finestra"
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "Eines"
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Documents"
+
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "Capes"
+
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "Historial"
+
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
+#: Pinta/DialogHandlers.cs:139
+#, csharp-format
+msgid "Save the changes to image \"{0}\" before closing?"
 msgstr ""
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
+#: Pinta/DialogHandlers.cs:147
+msgid "Close without saving"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "Opacitat de la capa"
+
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "Canvia el nom de la capa"
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "Mostra la capa"
+
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
 msgstr ""
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
 msgstr ""
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
 msgstr ""
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr ""
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Versió"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Llicència"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr ""
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr ""
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr ""
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "Títol"
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr ""
+
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
+msgstr ""
+
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
+msgstr ""
+
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr ""
+
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr ""
+
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  thor9216 https://launchpad.net/~thor9216\n"
+"  tot3lmon https://launchpad.net/~tot3lmon"
+
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Traduït per:"
+
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr ""
+
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr ""
+
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "Quant a Pinta"
+
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
 msgstr ""
 
 #: BulgeEffect dialog
@@ -1415,6 +1561,24 @@ msgstr ""
 msgid "Hint: For best results, first use selection tools to select each eye."
 msgstr ""
 
+#~ msgid "Help"
+#~ msgstr "Ajuda"
+
+#~ msgid "Effects"
+#~ msgstr "Efectes"
+
+#~ msgid "File"
+#~ msgstr "Fitxer"
+
+#~ msgid "Edit"
+#~ msgstr "Edita"
+
+#~ msgid "View"
+#~ msgstr "Visualitza"
+
+#~ msgid "Image"
+#~ msgstr "Imatge"
+
 #~ msgid "%"
 #~ msgstr "%"
 
diff --git a/po/messages-cs.po b/po/messages-cs.po
index ee6f9b6..bc96b41 100644
--- a/po/messages-cs.po
+++ b/po/messages-cs.po
@@ -7,551 +7,746 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-09-07 11:07+0000\n"
-"Last-Translator: Jonathan Pobst <Unknown>\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2011-01-06 11:10+0000\n"
+"Last-Translator: schunka <Unknown>\n"
 "Language-Team: Czech <cs at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "O aplikaci"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "Okno"
 
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "Štětec"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "Vrstva"
 
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "_Soubor"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "kopírovat"
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "_Upravit"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "Změna velikosti plátna"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "_Zobrazit"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr "Nástroj"
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "_Obrázek"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr "Klávesová zkratka"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "_Vrstvy"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr "Normální míchání"
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "_Přizpůsobení"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr "Přepsat"
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "Efe_kty"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr "Antialiasing Zapnout"
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "_Okno"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr "Antialiasing Vypnout"
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "_Nápověda"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "Změnit velikost"
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
-msgstr ""
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr "Dokončit pixely"
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "Nástroje"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr "Otočit o 180°"
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "Paleta"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr "Překlopit obrázek horizontálně"
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Dokumenty"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr "Překlopit obrázek vertikálně"
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "Vrstvy"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr "Otočit o 90° po směru hodin"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "Historie"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr "Otočit o 90° proti směru hodin"
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "Skrýt"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr "Překlopit vrstvu horizontálně"
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "Dokovatelné"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr "Překlopit vrstvu vertikálně"
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "Plovoucí"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
+msgstr "Všeobecné"
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "Skrývat automaticky"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr "{0} obrázek ({1})"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "Ukotvit"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr "Vystřihnout do výběru"
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "Přispěvatelé tohoto vydání"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr "Zvětšit/zmenšit..."
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "Předchozí přispěvatelé"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr "Velikost plátna..."
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
-msgstr ""
-"Launchpad Contributions:\n"
-"  Jonathan Pobst https://launchpad.net/~jpobst\n"
-"  schunka https://launchpad.net/~schunka"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr "Převrátit horizontálně"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Přeložili:"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr "Převrátit vertikálně"
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "Na základě práce Paint.NET"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr "Zploštit"
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "Použity některé ikonky z:"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr "Přiblížit"
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "O Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr "Oddálit"
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "Informace o verzi"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr "Přiblížit do okna"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "Název"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr "Přiblížit na výběr"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Verze"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr "Současná velikost"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "Cesta"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
+msgstr "Panel Nástrojů"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Licence"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr "Pixelová mřížka"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "Vydáno pod licencí MIT X11"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr "Pravítka"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "Copyright"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr "Pixely"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "Od přispěvatelů Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr "Palce"
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
-msgstr "počet vláken použitých k vykreslení"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr "Centimetry"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "Změnit velikost"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr "Celá obrazovka"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "Procentuelně:"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr "Jednotky pravítka"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
-msgstr "Na velikost:"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr "Přidat novou vrstvu"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "Šířka:"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr "Smazat vrstvu"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "pixely"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr "Duplikovat vrstvu"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "Výška:"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr "Spojit vrstvy"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "Zachovat poměr stran"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr "Vložit ze souboru..."
+
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr "Otočení / Zoom"
+
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr "Posunout vrstvu nahoru"
+
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr "Posunout vrstvu dolů"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
 #: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "Vlastnosti vrstvy"
+msgid "Layer Properties..."
+msgstr "Vlastnosti Vrstvy..."
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "Název:"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
+msgstr "Otevřít obrázek"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "Viditelná"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr "Vložit ze souboru"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "Průhlednost"
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr "Uložit vše"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "Změna velikosti plátna"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr "Zavřít vše"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "Kotva:"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr "Stránky Pinta"
+
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
+msgstr "Nahlásit chybu"
+
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
+msgstr "Přeložit tuto aplikaci"
+
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "O aplikaci"
+
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr "Nový..."
+
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
+msgstr "Nový Snímek obrazovky"
+
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
+msgstr "Otevřít..."
+
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr "Otevřít nedávný"
+
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
+msgstr "Zavřít"
+
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
+msgstr "Uložit"
+
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
+msgstr "Uložit jako..."
+
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
+msgstr "Vytisknout"
 
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
+msgstr "Ukončit"
+
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr "Nový"
+
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
+msgstr "Otevřít"
+
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
+msgstr "Vrátit změny"
+
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
+msgstr "Udělat znovu"
+
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
+msgstr "Vyjmout"
+
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
+msgstr "Kopírovat"
+
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
+msgstr "Vložit"
+
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
+msgstr "Vložit do nové vrstvy"
+
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
+msgstr "Vložit do nového obrázku"
+
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
+msgstr "Smazat výběr"
+
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
+msgstr "Vyplnit výběr"
+
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
+msgstr "Obrátit výběr"
+
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
+msgstr "Vybrat vše"
+
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
+msgstr "Zrušit výběr"
+
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
+msgstr "Nastavit na výchozí"
+
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
+msgstr "Nastavit počet barev"
+
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "Paleta"
+
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
+msgstr "Otevřít sobor s paletou"
+
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
+msgstr "Soubory palet (*.txt, *.gpl)"
+
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr "Všechny soubory"
+
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
+msgid ""
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
+msgstr ""
+"Nelze otevřít soubor palety: {0}.\n"
+"Ověřte prosím, že se pokoušíte otevřít platnou paletu GIMP nebo Paint.NET."
+
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
+msgstr "Chyba"
+
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
+msgstr "Uložit soubor palety"
+
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
+msgstr "Paint.NET paleta (*.txt)"
+
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
+msgstr "GIMP paleta (*.gpl)"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr "Neuložený obrázek {0}"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
+msgstr "Pozadí"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
 msgid "New Image"
 msgstr "Nový obrázek"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "Velikost nového obrázku          "
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
+msgstr "Otevřít obrázek"
 
-#: Pinta/DialogHandlers.cs:57
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
 #, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
-msgstr "Uložit změny v obrázku \"{0}\" před vytvořením nového?"
+msgid "Could not open file: {0}"
+msgstr "Nelze otevřít soubor: {0}"
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr "Pokud je neuložíte, veškeré změny budou navždy ztraceny."
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
+msgstr "Vykreslovací efekt"
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "Pokračovat bez uložení"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
+msgstr "Posterizovat"
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "Průhlednost vrstvy"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
+msgstr "Invertovat barvy"
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "Přejmenovat vrstvu"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
+msgstr "Úrovně"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "Skrýt vrstvu"
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
+msgstr "Černobílý"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "Zobrazit vrstvu"
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
+msgstr "Automatická úroveň"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
-msgstr "popisek1"
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
+msgstr "Odstín / Sytost"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "popisek"
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
+msgstr "Jas / Kontrast"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
-msgstr "Náhodný šum"
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
+msgstr "Sépie"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
-msgstr "Znovu načíst"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
+msgstr "Křivky"
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
-msgstr "Kapátko"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
+msgstr "Přenosová mapa"
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
-msgstr ""
-"Levým klikem se nastaví primarní barva. Pravým klikem se nastaví sekundarní "
-"barva."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
+msgstr "RGB barvy"
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
-msgstr "Po výběru"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
+msgstr "Světlost"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
-msgstr "Nepřepínat nástroj"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
+msgstr "(256, 256)"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
-msgstr "Přepnout na předchozí nástroj"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
+msgstr "Červená  "
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
-msgstr "Přepnout na tužku"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
+msgstr "Zelená"
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
-msgstr "Tužka"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
+msgstr "Modrá "
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
-msgstr "Výběr lasem"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
+msgstr "Resetovat"
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
-msgstr "Klikněte a obtáhněte vybranou oblast."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
+msgstr "Tip: Pravým kliknutím odstraníte ovládací body"
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
-msgstr "Lupa"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
+msgstr "Přizpůsobení úrovně"
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
-msgstr ""
-"Levý klik přiblíží. Pravý klik oddálí. Klik a obtažení přiblíží výběr."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
+msgstr "Vstupní histogram"
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
-msgstr "Šířka štětce"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
+msgstr "Vstup"
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
-msgstr "Zmenšit štětec"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
+msgstr "Výstup"
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
-msgstr "Zvětšit štětec"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
+msgstr "Výstupní histogram"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
-msgstr "Obtáhnout tvar"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
+msgstr "Automaticky"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
-msgstr "Vyplnit tvar"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
+msgstr "Červená"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
-msgstr "Vyplnit a Obtáhnout tvar"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
+msgstr "Modrá"
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
-msgstr "Posunout vybrané pixely"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
+msgstr "Spojený"
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
-msgstr "Táhněte výběrem abyste posunuli obsah"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
+msgstr "Náčrt tužkou"
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
-msgstr "Posun"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
+msgstr "Umělecké"
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
-msgstr "Klik a táhnutí navedou obrazék."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
+msgstr "Rozostření"
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
-msgstr ""
-"Levý klik kreslí neupravenou, jednopixelovou čáru primární barvy, pravý klik "
-"kreslí sekundární barvou."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
+msgstr "Rozmazání"
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
-msgstr "Elipsový výběr"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
+msgstr "Vyboulit"
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
-msgstr ""
-"Klik a tažení nakreslí elliptický výběr. Pro kruhový výběr držte shift."
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
+msgstr "Pokřivit"
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
-msgstr "Přechod"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
+msgstr "Mandelbrotův fraktál"
 
-#: Pinta.Tools/GradientTool.cs:60
-msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
-msgstr ""
-"Klik a tažení nakreslé přechod od primární k sekundární barvě. Pravý klik "
-"kreslí obráceně."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
+msgstr "Vykreslit"
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
-msgstr "Lineární přechod"
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
+msgstr "Medián"
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
-msgstr "Lineární odražeý přechod"
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
+msgstr "Šum"
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
-msgstr "Lineární kosočtvercový přechod"
+#: Pinta.Effects/Effects/PixelateEffect.cs:26
+msgid "Pixelate"
+msgstr "Rozpixelovat"
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
-msgstr "Radiální přechod"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
+msgstr "Zaostřit"
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
-msgstr "Kónický přechod"
+#: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
+msgid "Photo"
+msgstr "Fotografie"
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
-msgstr "Barevný režim"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
+msgstr "Olejomalba"
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
-msgstr "Průhledný režim"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
+msgstr "Gaussovo rozmazání"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
-msgstr "Zakulacený obdélník"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
+msgstr "Záře"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
-msgstr ""
-"Klik a težení nakreslí zaoblený obdélník (pravý klik v sekundární barvě). "
-"Pro čtverec držte shift."
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
+msgstr "Zjemnit portrét"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
-msgstr "Poloměr"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
+msgstr "Dlaždicový odraz"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
-msgstr "Snížit poloměr rohů obdélníku"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr "Odstranění červených očí"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
-msgstr "Zvýšit poloměr rohů obdélníku"
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
+msgstr "Omrzlé sklo"
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
-msgstr ""
-"Levý klik kreslí primarní barvou, pravý klik kreslí sekundární barvou."
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
+msgid "Edge Detect"
+msgstr "Detekce hran"
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
-msgstr "Obdélníkový výběr"
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
+#: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
+msgid "Stylize"
+msgstr "Stylizování"
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
-msgstr ""
-"Klik a tažení nakreslí obdélníkový výběr. Pro čtvercový výběr držte shift."
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
+msgstr "Juliin fraktál"
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
-msgstr "Plechovka barvy"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr "Rozmazání pohybem"
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
-msgstr ""
-"Levý klik vyplní oblast primární barvou, pravý klik vyplní oblast sekundární "
-"barvou."
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr "Otisk"
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
-msgstr "Klonovací razítko"
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
+msgstr "Inkoustový náčrt"
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
-msgstr "Přesunout výběr"
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
+msgid "Zoom Blur"
+msgstr "Rozmazání přiblížením"
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
-msgstr "Pro posunutí obrysu táhnout vyběrem ."
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
+msgid "Polar Inversion"
+msgstr "Převrácení pólů"
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
-msgstr "Volný tvar"
+#: Pinta.Effects/Effects/CloudsEffect.cs:30
+msgid "Clouds"
+msgstr "Mraky"
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
-msgstr "Vyplňovací režim"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
+msgstr "Fragment"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
-msgstr "Spojité"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr "Snížit šum"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
-msgstr "Globální"
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr "Rozmazání otáčením"
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
-msgstr "Tolerance"
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
+msgstr "Zkroutit"
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
-msgstr "Elipsa"
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
+msgid "Add Noise"
+msgstr "Přidat šum"
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
-msgstr ""
-"Klik a tažení nakreslí elipsu (pravý klik sekundární barvou). Pro nakreslení "
-"kruhu držte shift."
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
+msgstr "Reliéf"
+
+#: Pinta.Effects/Effects/OutlineEffect.cs:29
+msgid "Outline"
+msgstr "Obtáhnout"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
+msgstr "Náhodný šum"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
+msgstr "Znovu načíst"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "popisek1"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "popisek"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
+msgstr "Vybrat primární barvu"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
+msgstr "Vybrat sekundární barvu"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr "Vybrat barvu palety"
+
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
+msgstr "Posun"
+
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
+msgstr "Klik a táhnutí navedou obrazék."
 
 #: Pinta.Tools/TextTool.cs:37
 msgid "Text"
@@ -564,42 +759,34 @@ msgid ""
 msgstr ""
 "Levý klik umístí kurzor, pak můžete psát text. Primární barva je barva textu."
 
-#: Pinta.Tools/TextTool.cs:131
+#: Pinta.Tools/TextTool.cs:144
 msgid "Font"
 msgstr "Písmo"
 
-#: Pinta.Tools/TextTool.cs:186
+#: Pinta.Tools/TextTool.cs:205
 msgid "Bold"
 msgstr "Tučně"
 
-#: Pinta.Tools/TextTool.cs:193
+#: Pinta.Tools/TextTool.cs:212
 msgid "Italic"
 msgstr "Kurzíva"
 
-#: Pinta.Tools/TextTool.cs:201
+#: Pinta.Tools/TextTool.cs:220
 msgid "Underline"
 msgstr "Podtržené"
 
-#: Pinta.Tools/TextTool.cs:210
+#: Pinta.Tools/TextTool.cs:229
 msgid "Left Align"
 msgstr "Zarovnat doleva"
 
-#: Pinta.Tools/TextTool.cs:219
+#: Pinta.Tools/TextTool.cs:238
 msgid "Center Align"
 msgstr "Zarovnat na střed"
 
-#: Pinta.Tools/TextTool.cs:227
+#: Pinta.Tools/TextTool.cs:246
 msgid "Right Align"
 msgstr "Zarovnat doprava"
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
-msgstr "Výběr kouzelnou hůlkou"
-
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
-msgstr "Klik vybere oblast s podobnou barvou."
-
 #: Pinta.Tools/RectangleTool.cs:38
 msgid "Rectangle"
 msgstr "Obdélník"
@@ -612,654 +799,614 @@ msgstr ""
 "Klik a tažení nakreslí obdélník (pravý klik sekundární barvou). Pro kreslení "
 "čtverce držte shift."
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
-msgstr "Čára"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
+msgstr "Volný tvar"
 
-#: Pinta.Tools/LineCurveTool.cs:44
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
 msgid ""
-"Left click to draw with primary color, right click for secondary color."
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
 msgstr ""
-"Levý klik kreslí primární barvou, pravý klik kreslí sekundární barvou."
-
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
-msgstr "Přebarvit"
-
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
-msgstr "Levý klik přebarví sekundární barvu na primární."
-
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
-msgstr "Guma"
-
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
-msgstr "Klik a tažení smaže kus obrázku"
-
-#: Pinta.Effects/Effects/PixelateEffect.cs:26
-msgid "Pixelate"
-msgstr "Pixelizovat"
-
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr "Pokřivit"
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
-msgstr "Odstranění červených očí"
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
-#: Pinta.Effects/Effects/SharpenEffect.cs:34
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
-msgid "Photo"
-msgstr "Fotografie"
-
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
-msgstr "Rozmazání pohybem"
-
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
-msgstr "Rozmazání"
+"Levý klik kreslí primarní barvou, pravý klik kreslí sekundární barvou."
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
-msgstr "Inkoustový náčrt"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
+msgstr "Styl výpně"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
-msgstr "Umělecké"
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
+msgstr "Obtáhnout tvar"
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
-msgstr "Rozmazání otáčením"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
+msgstr "Vyplnit tvar"
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
-msgstr "Rozostření"
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
+msgstr "Vyplnit a Obtáhnout tvar"
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
-msgid "Edge Detect"
-msgstr "Detekce hran"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
+msgstr "Záplavový režim"
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
-#: Pinta.Effects/Effects/EmbossEffect.cs:34
-msgid "Stylize"
-msgstr "Stylizování"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
+msgstr "Spojité"
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
-msgstr "Omrzlé sklo"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
+msgstr "Globální"
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
-msgstr "Olejomalba"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
+msgstr "Tolerance"
 
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
-msgid "Zoom Blur"
-msgstr "Rozmazání přiblížením"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
+msgstr "Čára"
 
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
-msgid "Polar Inversion"
-msgstr "Převrácení pólů"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
+msgstr ""
+"Levý klik kreslí primární barvou, pravý klik kreslí sekundární barvou."
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:30
-msgid "Clouds"
-msgstr "Mraky"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
+msgstr "Přesunout výběr"
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr "Vykreslit"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
+msgstr "Pro posunutí obrysu táhnout vyběrem ."
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
-msgstr "Záře"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
+msgstr "Obdélníkový výběr"
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
-msgid "Add Noise"
-msgstr "Přidat šum"
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
+msgstr ""
+"Klik a tažení nakreslí obdélníkový výběr. Pro čtvercový výběr držte shift."
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
-msgstr "Šum"
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
+msgstr "Výběr kouzelnou hůlkou"
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
-msgstr "Fragment"
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
+msgstr "Klik vybere oblast s podobnou barvou."
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
-msgstr "Zaostřit"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
+msgstr "Elipsový výběr"
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
-msgstr "Náčrt tužkou"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
+msgstr ""
+"Klik a tažení nakreslí elliptický výběr. Pro kruhový výběr držte shift."
 
-#: Pinta.Effects/Effects/OutlineEffect.cs:29
-msgid "Outline"
-msgstr "Obtáhnout"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
+msgstr "Výběr lasem"
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
-msgstr "Gaussovo rozmazání"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
+msgstr "Klikněte a obtáhněte vybranou oblast."
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
-msgstr "Dlaždicový odraz"
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
+msgstr "Plechovka barvy"
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
-msgstr "Reliéf"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
+msgstr ""
+"Levý klik vyplní oblast primární barvou, pravý klik vyplní oblast sekundární "
+"barvou."
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
-msgstr "Otisk"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
+msgstr "Přechod"
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
-msgstr "Mandelbrotův fraktál"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
+msgstr ""
+"Klik a tažení nakreslé přechod od primární k sekundární barvě. Pravý klik "
+"kreslí obráceně."
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
-msgstr "Vyboulit"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
+msgstr "Lineární přechod"
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
-msgstr "Zkroutit"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
+msgstr "Lineární odražeý přechod"
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
-msgstr "Zjemnit portrét"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
+msgstr "Lineární kosočtvercový přechod"
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
-msgstr "Snížit šum"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
+msgstr "Radiální přechod"
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
-msgstr "Juliin fraktál"
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
+msgstr "Kónický přechod"
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
-msgstr "Medián"
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
+msgstr "Režim"
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
-msgstr "Křivky"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
+msgstr "Barevný režim"
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
-msgstr "Úrovně"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
+msgstr "Průhledný režim"
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
-msgstr "Automatická úroveň"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
+msgstr "Šířka štětce"
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
-msgstr "Invertovat barvy"
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
+msgstr "Zmenšit štětec"
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
-msgstr "Posterizovat"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
+msgstr "Zvětšit štětec"
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
-msgstr "Černobílý"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "Štětec"
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
-msgstr "Odstín / Sytost"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
+msgstr "Typ"
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
-msgstr "Sépie"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
+msgstr "Přebarvit"
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
-msgstr "Jas / Kontrast"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
+msgstr "Levý klik přebarví sekundární barvu na primární."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
-msgstr "Přizpůsobení úrovně"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
+msgstr "Normální"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
-msgstr "Vstupní histogram"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
+msgstr "Kruhy"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
-msgstr "Vstup"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
+msgstr "Čtverce"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
-msgstr "Výstup"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
+msgstr "Cákance"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
-msgstr "Výstupní histogram"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
+msgstr "Mřížka"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
-msgstr "Automaticky"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
+msgstr "Elipsa"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
-msgstr "Resetovat"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
+msgstr ""
+"Klik a tažení nakreslí elipsu (pravý klik sekundární barvou). Pro nakreslení "
+"kruhu držte shift."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
-msgstr "Červená"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
+msgstr "Klonovací razítko"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
-msgstr "Zelená"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
+msgstr "Ctrl+Levý klik k výběru zdroje, levý klik kreslí."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
-msgstr "Modrá"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "Lupa"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
-msgstr "Spojený"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
+msgstr ""
+"Levý klik přiblíží. Pravý klik oddálí. Klik a obtažení přiblíží výběr."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
-msgstr "Přenosová mapa"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
+msgstr "Zakulacený obdélník"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
-msgstr "RGB barvy"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
+msgstr ""
+"Klik a težení nakreslí zaoblený obdélník (pravý klik v sekundární barvě). "
+"Pro čtverec držte shift."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
-msgstr "Světlost"
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
+msgstr "Poloměr"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
-msgstr "(256, 256)"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
+msgstr "Snížit poloměr rohů obdélníku"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
-msgstr "Červená  "
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
+msgstr "Zvýšit poloměr rohů obdélníku"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
-msgstr "Modrá "
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "Kapátko"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
 msgstr ""
+"Levým klikem se nastaví primarní barva. Pravým klikem se nastaví sekundarní "
+"barva."
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
-msgstr "Přidat novou vrstvu"
-
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
-msgstr "Smazat vrstvu"
-
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
-msgstr "Duplikovat vrstvu"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr "Po výběru"
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
-msgstr "Spojit vrstvy"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
+msgstr "Nepřepínat nástroj"
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
-msgstr "Vložit ze souboru..."
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr "Přepnout na předchozí nástroj"
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
-msgstr "Převrátit horizontálně"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
+msgstr "Přepnout na tužku"
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
-msgstr "Převrátit vertikálně"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "Tužka"
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
-msgstr "Otočení / Zoom"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
+msgstr "Guma"
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
-msgstr "Posunout vrstvu nahoru"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
+msgstr "Klik a tažení smaže kus obrázku"
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
-msgstr "Posunout vrstvu dolů"
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
+msgstr ""
+"Levý klik kreslí neupravenou, jednopixelovou čáru primární barvy, pravý klik "
+"kreslí sekundární barvou."
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
-msgstr "Otevřít obrázek"
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
+msgstr "Posunout vybrané pixely"
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
-msgstr "Vložit ze souboru"
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
+msgstr "Táhněte výběrem abyste posunuli obsah"
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
-msgstr "Nový..."
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "Skrýt"
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
-msgstr "Otevřít..."
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "Ukotvit"
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
-msgstr "Otevřít nedávný"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "Skrývat automaticky"
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
-msgstr "Zavřít"
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "Dokovatelné"
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
-msgstr "Uložit"
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "Plovoucí"
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
-msgstr "Uložit jako..."
+#: Pinta/Options.cs:486
+msgid "OptionName"
+msgstr "JménoVolby"
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
-msgstr "Vytisknout"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "Procentuelně:"
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr "Ukončit"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
+msgstr "Na velikost:"
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
-msgstr "Nový"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "Šířka:"
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
-msgstr "Otevřít"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "pixely"
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
-msgstr "Pozadí"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "Výška:"
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
-msgstr "Otevřít obrázek"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "Zachovat poměr stran"
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
-msgstr "Nelze otevřít soubor: {0}"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "Kotva:"
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
-msgstr "Chyba"
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "Velikost nového obrázku          "
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
-msgstr "Uložit změny obrázku \"{0}\" před otevřením nového?"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Vlastnosti vrstvy"
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
-msgstr "Soubory obrázků"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "Název:"
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
-msgstr "Všechny soubory"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "Viditelná"
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
-msgstr "Uložení obrázku"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "Průhlednost"
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
-msgstr "{0} obrázek ({1})"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr "…"
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
-msgstr "OpenRaster formát (*.ora)"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "_Soubor"
 
-#: Pinta.Core/Actions/FileActions.cs:392
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before closing?"
-msgstr "Uložit změny obrázku \"{0}\" před zavřením?"
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "_Upravit"
 
-#: Pinta.Core/Actions/FileActions.cs:402
-msgid "Close without saving"
-msgstr "Zavřít bez uložení"
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "_Zobrazit"
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
-msgstr "Vystřihnout do výběru"
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "_Obrázek"
 
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
-msgstr "Zvětšit/zmenšit..."
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "_Vrstvy"
 
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
-msgstr "Velikost plátna..."
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "_Přizpůsobení"
 
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
-msgstr "Otočit o 90° po směru hodin"
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "Efe_kty"
 
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
-msgstr "Otočit o 90° proti směru hodin"
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "_Okno"
 
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
-msgstr "Otočit o 180°"
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
+msgstr "Okna Nástrojů"
 
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
-msgstr "Zploštit"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "_Nápověda"
 
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr "Vrátit změny"
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "Nástroje"
 
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
-msgstr "Udělat znovu"
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Dokumenty"
 
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
-msgstr "Vyjmout"
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "Vrstvy"
 
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
-msgstr "Kopírovat"
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "Historie"
 
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
-msgstr "Vložit"
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
+msgstr "Sejmout obrazovku"
 
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
-msgstr "Vložit do nové vrstvy"
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
+msgstr "Zpoždění před sejmutím obrazovky (sekundy):"
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
-msgstr "Vložit do nového obrázku"
+#: Pinta/DialogHandlers.cs:139
+#, csharp-format
+msgid "Save the changes to image \"{0}\" before closing?"
+msgstr "Uložit změny obrázku \"{0}\" před zavřením?"
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
-msgstr "Smazat výběr"
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "Pokud je neuložíte, veškeré změny budou navždy ztraceny."
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
-msgstr "Vyplnit výběr"
+#: Pinta/DialogHandlers.cs:147
+msgid "Close without saving"
+msgstr "Zavřít bez uložení"
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
-msgstr "Obrátit výběr"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
+msgstr "Velikost Palety"
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
-msgstr "Vybrat vše"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
+msgstr "Nová velikost palety:"
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
-msgstr "Zrušit výběr"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "Průhlednost vrstvy"
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
-msgstr "Přiblížit"
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "Přejmenovat vrstvu"
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
-msgstr "Oddálit"
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "Skrýt vrstvu"
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
-msgstr "Přiblížit do okna"
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "Zobrazit vrstvu"
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
-msgstr "Přiblížit na výběr"
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
+msgstr "Soubory obrázků"
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
-msgstr "Současná velikost"
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
+msgstr "Vkládání zrušeno"
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
-msgstr "Pixelová mřížka"
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
+msgstr "Schránka neobsahuje obrázek"
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
-msgstr "Pravítka"
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
+msgstr "Uložení obrázku"
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
-msgstr "Pixely"
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
+msgstr "Pinta nepodporuje ukládání obrázků v tomto typu souborů.."
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
-msgstr "Palce"
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
+msgstr "Soubor \"{0}\" už existuje. Chcete ho přepsat?"
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
-msgstr "Centimetry"
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
+msgstr "Soubor už existuje v \"{1}\". Nahrazení přepíše jeho obsah."
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
-msgstr "Celá obrazovka"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr "počet vláken použitých k vykreslení"
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
-msgstr "Okno"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Verze"
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
-msgstr "Stránky Pinta"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Licence"
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
-msgstr "Nahlásit chybu"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "Vydáno pod licencí MIT X11"
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
-msgstr "Přeložit tuto aplikaci"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "Copyright"
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
-msgstr "Všeobecné"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "Od přispěvatelů Pinta"
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
-msgstr "Nástroj"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "Název"
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
-msgstr "Klávesová zkratka"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "Cesta"
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
-msgstr "Vyhlazování"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
+msgstr "Kvalita JPEG"
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
-msgstr "Normální / Přepisovací směšování"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
+msgstr "Kvalita: "
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
-msgstr "Překlopit obrázek horizontálně"
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "Přispěvatelé tohoto vydání"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
-msgstr "Překlopit obrázek vertikálně"
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "Předchozí přispěvatelé"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
-msgstr "Překlopit vrstvu horizontálně"
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst\n"
+"  schunka https://launchpad.net/~schunka"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
-msgstr "Překlopit vrstvu vertikálně"
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Přeložili:"
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
-msgstr "Dokončit pixely"
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "Na základě práce Paint.NET"
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
-msgstr "Vykreslovací efekt"
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "Použity některé ikonky z:"
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
-msgstr "kopírovat"
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "O Pinta"
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
-msgstr "Vrstva"
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "Informace o verzi"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1440,17 +1587,73 @@ msgstr ""
 "Rada: Pro lepší vysledky nejprve použijte výběrové nástroje k označení "
 "každého oka."
 
+#~ msgid "Adjustments"
+#~ msgstr "Úpravy"
+
+#~ msgid "Help"
+#~ msgstr "Nápověda"
+
+#~ msgid "File"
+#~ msgstr "Soubor"
+
+#~ msgid "Effects"
+#~ msgstr "Efekty"
+
+#~ msgid "Edit"
+#~ msgstr "Upravit"
+
+#~ msgid "View"
+#~ msgstr "Zobrazit"
+
+#~ msgid "Image"
+#~ msgstr "Obrázek"
+
 #~ msgid "%"
 #~ msgstr "%"
 
+#~ msgid "Continue without saving"
+#~ msgstr "Pokračovat bez uložení"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr "Uložit změny v obrázku \"{0}\" před vytvořením nového?"
+
 #~ msgid "X :"
 #~ msgstr "X :"
 
 #~ msgid "Y :"
 #~ msgstr "Y :"
 
+#~ msgid "RGB\r"
+#~ msgstr "RGB\r"
+
+#~ msgid "In stetic action button box cannot be empty"
+#~ msgstr "Ve steticu nemůže být aktivní tlačitko prázdné"
+
 #~ msgid "Tip : Right-click to remove control points."
 #~ msgstr "Tip: Pravý klik odstraní ovládací body."
 
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before opening a new image?"
+#~ msgstr "Uložit změny obrázku \"{0}\" před otevřením nového?"
+
+#~ msgid "OpenRaster image (*.ora)"
+#~ msgstr "OpenRaster formát (*.ora)"
+
+#~ msgid "Normal blending / Overwrite blending"
+#~ msgstr "Normální / Přepisovací směšování"
+
+#~ msgid "Antialiasing"
+#~ msgstr "Vyhlazování"
+
 #~ msgid "Show Pad"
 #~ msgstr "Zobrazit podložku"
+
+#~ msgid "Fill mode"
+#~ msgstr "Vyplňovací režim"
+
+#~ msgid "X:"
+#~ msgstr "X:"
+
+#~ msgid "Y:"
+#~ msgstr "Y:"
diff --git a/po/messages-da.po b/po/messages-da.po
index c67c857..77c3ead 100644
--- a/po/messages-da.po
+++ b/po/messages-da.po
@@ -7,555 +7,744 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-09-07 11:12+0000\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2010-10-27 02:02+0000\n"
 "Last-Translator: Jonathan Pobst <Unknown>\n"
 "Language-Team: Danish <da at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "Om"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "Vindue"
 
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "Malerpensel"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "Lag"
 
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "_Fil"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "kopiere"
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "R_edigere"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "Ændr lærred"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "_Vis"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr "Værktøj"
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "B_illede"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr "Genvejstast"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "_Lag"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr ""
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "_Justeringer"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr ""
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "Effe_kter"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr ""
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "_Vindue"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr ""
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "_Hjælp"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "Ændring af billedstørrelse"
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr "Afslut billedepunkter"
+
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr "Rotere 180°"
+
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr "Vend billede vandret"
+
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr "Vend billede lodret"
+
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr "Rotere 90° med uret"
+
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr "Rotere 90° mod uret"
+
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr "Vend lag vandret"
+
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr "Vend lag lodret"
+
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
+msgstr "Generelt"
+
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr "{0} billede ({1})"
+
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr "Beskær til valg"
+
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr "Størrelse..."
+
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr "Lærred størrelse..."
+
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr "Vend vandret"
+
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr "Vend lodret"
+
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr "Udjævn"
+
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr "Zoom ind"
+
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr "Zoom ud"
+
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr "Zoom til vindue"
+
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr "Zoom til markering"
+
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr "Faktisk størrelse"
+
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
 msgstr ""
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "Værktøjer"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr "Billedepunkter gitter"
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "Palet"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr "Linealer"
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Dokumenter"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr "Billedpunkter"
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "Lag"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr "Tommer"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "Historik"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr "Centimeter"
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "Skjul"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr "Fuldskærm"
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "Dokbar"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "Flydende"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr "Tilføj nyt lag"
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "Skjul automatisk"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr "Slet lag"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "Dok"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr "Dupliker lag"
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "Bidragyder til denne frigivelse"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr "Fusionere lag nedad"
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "Tidligere bidragyder"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr "Importere fra fil..."
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr "Rotere / Zoom"
+
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr "Flyt lag op"
+
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr "Flyt lag ned"
+
+#: Pinta.Core/Actions/LayerActions.cs:74
+msgid "Layer Properties..."
 msgstr ""
-"Launchpad Contributions:\n"
-"  Jonathan Pobst https://launchpad.net/~jpobst\n"
-"  Ole Carlsen https://launchpad.net/~ole-carlsen-web"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Oversat af:"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
+msgstr "Åbn billede fil"
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "Baseret på arbejdet med Paint.NET"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr "Importere fra fil"
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "Bruger nogle ikoner fra:"
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "Om Pinta"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "Version Info"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr "Pinta Websted"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "Titel"
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
+msgstr "Rapportere en fejl"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Version"
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
+msgstr "Oversæt dette program"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "Sti"
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "Om"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Licens"
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr "Ny..."
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "Frigivet under MIT X11 Licens."
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "Copyright"
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
+msgstr "Åbn..."
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "af Pinta bidragyder"
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr "Åbn seneste"
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
-msgstr "antal tråde ved rendering"
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
+msgstr "Luk"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "Ændring af billedstørrelse"
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
+msgstr "Gem"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "I procent"
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
+msgstr "Gem som..."
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
-msgstr "I absolut størrelse"
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
+msgstr "Udskriv"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "Bredde:"
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
+msgstr "Afslut"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "billedpunkter"
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr "Ny"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "Højde:"
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
+msgstr "Åbn"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "Bevar størrelsesforhold"
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
+msgstr "Fortryd"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
-#: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "Lag-egenskaber"
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
+msgstr "Omgør"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "Navn:"
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
+msgstr "Klip"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "Synlig"
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
+msgstr "Kopiere"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "Uigennemsighed:"
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
+msgstr "Indsæt"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "Ændr lærred"
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
+msgstr "Indsæt i nyt lag"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "Forankring:"
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
+msgstr "Indsæt i nyt bilede"
+
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
+msgstr "Slet markering"
+
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
+msgstr "Fyld markering"
+
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
+msgstr "Omvend markering"
+
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
+msgstr "Vælg alle"
+
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
+msgstr "Fravælg"
+
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
+msgstr ""
+
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
+msgstr ""
+
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "Palet"
+
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
+msgstr ""
+
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
+msgstr ""
+
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr "Alle filer"
+
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
+msgid ""
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
+msgstr ""
+
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
+msgstr "Fejl"
+
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
+msgstr ""
+
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
+msgstr ""
+
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
+msgstr ""
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr ""
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
+msgstr "Baggrund"
 
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
 msgid "New Image"
 msgstr "Nyt billede"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "Ny billede størrelse          "
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
+msgstr "Åbn billede"
 
-#: Pinta/DialogHandlers.cs:57
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
 #, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
-msgstr "Gem ændringer for billede \"{0}\" før oprettelse af nyt?"
+msgid "Could not open file: {0}"
+msgstr "Kunne ikke åbne fil: {0}"
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr "Hvis du ikke gemmer, vil ændringer være tabt."
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
+msgstr "Optegne effekt"
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "Fortsæt uden at gemme"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
+msgstr "Posterisere"
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "Lag uigennemsigtighed"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
+msgstr "Invertere farver"
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "Omdøb lag"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
+msgstr "Niveauer"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "Skjul lag"
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
+msgstr "Sort og hvid"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "Vis lag"
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
+msgstr "Auto niveau"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
-msgstr "etiket1"
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
+msgstr "Nuance / Mætning"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "etiket"
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
+msgstr "Lysstyrke / Kontrast"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
-msgstr "Tilfældig støj"
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
+msgstr "Sepia"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
-msgstr "Gen-så"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
+msgstr "Kurver"
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
-msgstr "Farvevælger"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
+msgstr "Overføre kort"
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
+msgstr "RGB"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
+msgstr "Luminans"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
+msgstr "(256, 256)"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
+msgstr "Rød  "
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
+msgstr "Grøn"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
+msgstr "Blå "
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
+msgstr "Nulstil"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
 msgstr ""
-"Venstre klik for at sætte primær farve. Højre klik for at sætte sekundær "
-"farve."
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
-msgstr "Efter markering"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
+msgstr "Niveauer justering"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
-msgstr "Skift ikke værktøj"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
+msgstr "Inddate histogram"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
-msgstr "Skift til forrige værktøj"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
+msgstr "Inddata"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
-msgstr "Skift til blyant værktøj"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
+msgstr "Uddata"
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
-msgstr "Blyant"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
+msgstr "Uddate histogram"
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
-msgstr "Lasso markering"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
+msgstr "Auto"
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
-msgstr "Klik og træk for at tegne omrids for valgt område."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
+msgstr "Rød"
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
-msgstr "Zoom"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
+msgstr "Blå"
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
-msgstr ""
-"Venstre klik for at zoome ind. Højre klik for at zoome ud. Klik og træk for "
-"at zoome ind på valgt."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
+msgstr "Sammenkædet"
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
-msgstr "Pensel bredde"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
+msgstr "Blyant stregning"
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
-msgstr "Formindsk pensel størrelse"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
+msgstr "Kunstnerisk"
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
-msgstr "Forøg pensel størrelse"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
+msgstr "Ingen fokus"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
-msgstr "Omrids form"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
+msgstr "Sløringer"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
-msgstr "Fyld form"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
+msgstr "Bule"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
-msgstr "Fyld og omrids form"
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
+msgstr "Forvræng"
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
-msgstr "Flyt markerede billedepunkter"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
+msgstr "Mandelbrot Fraktal"
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
-msgstr "Træk i valgt for at flytte valgt indhold."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
+msgstr "Optegne"
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
-msgstr "Panorér"
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
+msgstr "Median"
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
-msgstr "Klik og træk for at navigere billede."
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
+msgstr "Støj"
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
-msgstr ""
-"Venstre klik for fritegning, et billedepunkt brede linjer med primær farve, "
-"højre klik for at bruge sekundær farve."
+#: Pinta.Effects/Effects/PixelateEffect.cs:26
+msgid "Pixelate"
+msgstr "Pikselere"
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
-msgstr "Ellipse markering"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
+msgstr "Gør skarpere"
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
-msgstr ""
-"Klik og træk for at tegne et ellipse valg. Hold skift for at begrænse til en "
-"cirkel."
+#: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
+msgid "Photo"
+msgstr "Billede"
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
-msgstr "Overgang"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
+msgstr "Olie farvning"
 
-#: Pinta.Tools/GradientTool.cs:60
-msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
-msgstr ""
-"Klik og træk for at tegne farveovergang fra primær til sekundær farve. Højre "
-"klik for modsat."
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
+msgstr "Gaussisk sløring"
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
-msgstr "Lineær farveovergang"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
+msgstr "Glød"
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
-msgstr "Lineær afspejlet farveovergang"
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
+msgstr "Blødt portræt"
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
-msgstr "Lineær diamant farveovergang"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
+msgstr "Flise refleksion"
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
-msgstr "Radial farveovergang"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr "Rødøje fjerne"
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
-msgstr "Konisk farveovergang"
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
+msgstr "Frostet glas"
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
-msgstr "Farvetilstand"
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
+msgid "Edge Detect"
+msgstr "Kant detektion"
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
-msgstr "Gennemsigtighedstilstand"
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
+#: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
+msgid "Stylize"
+msgstr "Stilistisk"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
-msgstr "Afrundet rektangel"
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
+msgstr "Julia fraktal"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
-msgstr ""
-"Klik og træk for at tegne en rund rektangel (højre klik for sekundær farve). "
-"Hold skift for at begrænse."
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr "Bevægelsessløring"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
-msgstr "Radius"
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr "Præg i relief"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
-msgstr "Formindsk rektangels hjørne radius"
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
+msgstr "Blæk skitse"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
-msgstr "Forøg rektangels hjørne radius"
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
+msgid "Zoom Blur"
+msgstr "Zoom sløring"
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
-msgstr ""
-"Venstre klik for at tegne med primær farve, højre klik for at tegne med "
-"sekundær farve."
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
+msgid "Polar Inversion"
+msgstr "Pol invertering"
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
-msgstr "Rektangulær markering"
+#: Pinta.Effects/Effects/CloudsEffect.cs:30
+msgid "Clouds"
+msgstr "Skyer"
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
-msgstr ""
-"Klik og træk for at tegne et rektangel valg. Hold skift for at begrænse til "
-"en kvadrat."
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
+msgstr "Fragment"
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
-msgstr "Malespand"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr "Reducere støj"
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
-msgstr ""
-"enstr klik for at fylde med primær farve, højre klik for at fylde med "
-"sekundær farve."
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr "Radial sløring"
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
-msgstr "Stempel kloning"
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
+msgstr "Drej"
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
-msgstr "Flyt markering"
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
+msgid "Add Noise"
+msgstr "Tilføj støj"
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
-msgstr "Træk i valg for at flytte vaglt omrids."
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
+msgstr "Relief"
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
-msgstr "Fritegne form"
+#: Pinta.Effects/Effects/OutlineEffect.cs:29
+msgid "Outline"
+msgstr "Omrids"
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
-msgstr "Fyld tilstand"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
+msgstr "Tilfældig støj"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
-msgstr "Sammenhængende"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
+msgstr "Gen-så"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
-msgstr "Global"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "etiket1"
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
-msgstr "Tolerance"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "etiket"
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
-msgstr "Ellipse"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
+msgstr ""
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
 msgstr ""
-"Klik og træk for at tegne en ellipse (højre klik for sekundær farve). Hold "
-"skift for at begrænse til en cirkel."
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr ""
+
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
+msgstr "Panorér"
+
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
+msgstr "Klik og træk for at navigere billede."
 
 #: Pinta.Tools/TextTool.cs:37
 msgid "Text"
@@ -569,42 +758,34 @@ msgstr ""
 "Venstre klik for at placere cursor, indtast dernæst den ønskede tekst. Tekst "
 "farve er primær farve."
 
-#: Pinta.Tools/TextTool.cs:131
+#: Pinta.Tools/TextTool.cs:144
 msgid "Font"
 msgstr "Skrifttype"
 
-#: Pinta.Tools/TextTool.cs:186
+#: Pinta.Tools/TextTool.cs:205
 msgid "Bold"
 msgstr "Fed"
 
-#: Pinta.Tools/TextTool.cs:193
+#: Pinta.Tools/TextTool.cs:212
 msgid "Italic"
 msgstr "Kursiv"
 
-#: Pinta.Tools/TextTool.cs:201
+#: Pinta.Tools/TextTool.cs:220
 msgid "Underline"
 msgstr "Understreg"
 
-#: Pinta.Tools/TextTool.cs:210
+#: Pinta.Tools/TextTool.cs:229
 msgid "Left Align"
 msgstr "Venstrejustér"
 
-#: Pinta.Tools/TextTool.cs:219
+#: Pinta.Tools/TextTool.cs:238
 msgid "Center Align"
 msgstr "MidterJustér"
 
-#: Pinta.Tools/TextTool.cs:227
+#: Pinta.Tools/TextTool.cs:246
 msgid "Right Align"
 msgstr "Højrejustér"
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
-msgstr "Tryllestavsmarkering"
-
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
-msgstr "Klik for at vælge område med tilsvarende farve."
-
 #: Pinta.Tools/RectangleTool.cs:38
 msgid "Rectangle"
 msgstr "Rektangel"
@@ -617,654 +798,618 @@ msgstr ""
 "Klik og træk for at tegne en rektangel (højre klik for sekundær farve). Hold "
 "skift for at begrænse til en kvadrat."
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
-msgstr "Linje"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
+msgstr "Fritegne form"
 
-#: Pinta.Tools/LineCurveTool.cs:44
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
 msgid ""
-"Left click to draw with primary color, right click for secondary color."
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
 msgstr ""
-"Venstre klik for at tegne med primær farve, højre klik for sekundær farve."
-
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
-msgstr "Gen-farve"
-
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
-msgstr "Venstre klik for at erstatte sekundær farve med primær farve."
-
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
-msgstr "Viskelæder"
-
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
-msgstr "Klik og træk for at slette en del af billedet."
-
-#: Pinta.Effects/Effects/PixelateEffect.cs:26
-msgid "Pixelate"
-msgstr "Pikselere"
-
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr "Forvræng"
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
-msgstr "Rødøje fjerne"
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
-#: Pinta.Effects/Effects/SharpenEffect.cs:34
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
-msgid "Photo"
-msgstr "Billede"
-
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
-msgstr "Bevægelsessløring"
-
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
-msgstr "Sløringer"
+"Venstre klik for at tegne med primær farve, højre klik for at tegne med "
+"sekundær farve."
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
-msgstr "Blæk skitse"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
+msgstr ""
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
-msgstr "Kunstnerisk"
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
+msgstr "Omrids form"
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
-msgstr "Radial sløring"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
+msgstr "Fyld form"
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
-msgstr "Ingen fokus"
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
+msgstr "Fyld og omrids form"
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
-msgid "Edge Detect"
-msgstr "Kant detektion"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
+msgstr ""
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
-#: Pinta.Effects/Effects/EmbossEffect.cs:34
-msgid "Stylize"
-msgstr "Stilistisk"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
+msgstr "Sammenhængende"
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
-msgstr "Frostet glas"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
+msgstr "Global"
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
-msgstr "Olie farvning"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
+msgstr "Tolerance"
 
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
-msgid "Zoom Blur"
-msgstr "Zoom sløring"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
+msgstr "Linje"
 
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
-msgid "Polar Inversion"
-msgstr "Pol invertering"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
+msgstr ""
+"Venstre klik for at tegne med primær farve, højre klik for sekundær farve."
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:30
-msgid "Clouds"
-msgstr "Skyer"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
+msgstr "Flyt markering"
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr "Optegne"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
+msgstr "Træk i valg for at flytte vaglt omrids."
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
-msgstr "Glød"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
+msgstr "Rektangulær markering"
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
-msgid "Add Noise"
-msgstr "Tilføj støj"
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
+msgstr ""
+"Klik og træk for at tegne et rektangel valg. Hold skift for at begrænse til "
+"en kvadrat."
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
-msgstr "Støj"
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
+msgstr "Tryllestavsmarkering"
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
-msgstr "Fragment"
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
+msgstr "Klik for at vælge område med tilsvarende farve."
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
-msgstr "Gør skarpere"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
+msgstr "Ellipse markering"
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
-msgstr "Blyant stregning"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
+msgstr ""
+"Klik og træk for at tegne et ellipse valg. Hold skift for at begrænse til en "
+"cirkel."
 
-#: Pinta.Effects/Effects/OutlineEffect.cs:29
-msgid "Outline"
-msgstr "Omrids"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
+msgstr "Lasso markering"
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
-msgstr "Gaussisk sløring"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
+msgstr "Klik og træk for at tegne omrids for valgt område."
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
-msgstr "Flise refleksion"
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
+msgstr "Malespand"
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
-msgstr "Relief"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
+msgstr ""
+"enstr klik for at fylde med primær farve, højre klik for at fylde med "
+"sekundær farve."
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
-msgstr "Præg i relief"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
+msgstr "Overgang"
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
-msgstr "Mandelbrot Fraktal"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
+msgstr ""
+"Klik og træk for at tegne farveovergang fra primær til sekundær farve. Højre "
+"klik for modsat."
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
-msgstr "Bule"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
+msgstr "Lineær farveovergang"
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
-msgstr "Drej"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
+msgstr "Lineær afspejlet farveovergang"
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
-msgstr "Blødt portræt"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
+msgstr "Lineær diamant farveovergang"
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
-msgstr "Reducere støj"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
+msgstr "Radial farveovergang"
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
-msgstr "Julia fraktal"
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
+msgstr "Konisk farveovergang"
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
-msgstr "Median"
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
-msgstr "Kurver"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
+msgstr "Farvetilstand"
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
-msgstr "Niveauer"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
+msgstr "Gennemsigtighedstilstand"
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
-msgstr "Auto niveau"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
+msgstr "Pensel bredde"
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
-msgstr "Invertere farver"
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
+msgstr "Formindsk pensel størrelse"
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
-msgstr "Posterisere"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
+msgstr "Forøg pensel størrelse"
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
-msgstr "Sort og hvid"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "Malerpensel"
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
-msgstr "Nuance / Mætning"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
-msgstr "Sepia"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
+msgstr "Gen-farve"
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
-msgstr "Lysstyrke / Kontrast"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
+msgstr "Venstre klik for at erstatte sekundær farve med primær farve."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
-msgstr "Niveauer justering"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
-msgstr "Inddate histogram"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
-msgstr "Inddata"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
-msgstr "Uddata"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
-msgstr "Uddate histogram"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
-msgstr "Auto"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
+msgstr "Ellipse"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
-msgstr "Nulstil"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
+msgstr ""
+"Klik og træk for at tegne en ellipse (højre klik for sekundær farve). Hold "
+"skift for at begrænse til en cirkel."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
-msgstr "Rød"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
+msgstr "Stempel kloning"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
-msgstr "Grøn"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
-msgstr "Blå"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "Zoom"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
-msgstr "Sammenkædet"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
+msgstr ""
+"Venstre klik for at zoome ind. Højre klik for at zoome ud. Klik og træk for "
+"at zoome ind på valgt."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
-msgstr "Overføre kort"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
+msgstr "Afrundet rektangel"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
-msgstr "RGB"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
+msgstr ""
+"Klik og træk for at tegne en rund rektangel (højre klik for sekundær farve). "
+"Hold skift for at begrænse."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
-msgstr "Luminans"
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
+msgstr "Radius"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
-msgstr "(256, 256)"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
+msgstr "Formindsk rektangels hjørne radius"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
-msgstr "Rød  "
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
+msgstr "Forøg rektangels hjørne radius"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
-msgstr "Blå "
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "Farvevælger"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
 msgstr ""
+"Venstre klik for at sætte primær farve. Højre klik for at sætte sekundær "
+"farve."
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
-msgstr "Tilføj nyt lag"
-
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
-msgstr "Slet lag"
-
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
-msgstr "Dupliker lag"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr "Efter markering"
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
-msgstr "Fusionere lag nedad"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
+msgstr "Skift ikke værktøj"
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
-msgstr "Importere fra fil..."
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr "Skift til forrige værktøj"
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
-msgstr "Vend vandret"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
+msgstr "Skift til blyant værktøj"
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
-msgstr "Vend lodret"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "Blyant"
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
-msgstr "Rotere / Zoom"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
+msgstr "Viskelæder"
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
-msgstr "Flyt lag op"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
+msgstr "Klik og træk for at slette en del af billedet."
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
-msgstr "Flyt lag ned"
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
+msgstr ""
+"Venstre klik for fritegning, et billedepunkt brede linjer med primær farve, "
+"højre klik for at bruge sekundær farve."
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
-msgstr "Åbn billede fil"
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
+msgstr "Flyt markerede billedepunkter"
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
-msgstr "Importere fra fil"
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
+msgstr "Træk i valgt for at flytte valgt indhold."
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
-msgstr "Ny..."
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "Skjul"
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
-msgstr "Åbn..."
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "Dok"
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
-msgstr "Åbn seneste"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "Skjul automatisk"
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
-msgstr "Luk"
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "Dokbar"
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
-msgstr "Gem"
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "Flydende"
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
-msgstr "Gem som..."
+#: Pinta/Options.cs:486
+msgid "OptionName"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
-msgstr "Udskriv"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "I procent"
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr "Afslut"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
+msgstr "I absolut størrelse"
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
-msgstr "Ny"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "Bredde:"
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
-msgstr "Åbn"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "billedpunkter"
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
-msgstr "Baggrund"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "Højde:"
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
-msgstr "Åbn billede"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "Bevar størrelsesforhold"
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
-msgstr "Kunne ikke åbne fil: {0}"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "Forankring:"
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
-msgstr "Fejl"
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "Ny billede størrelse          "
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
-msgstr "Gem ændringer for billede \"{0}\" før åbning af nyt billede?"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Lag-egenskaber"
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
-msgstr "Billede filer"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "Navn:"
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
-msgstr "Alle filer"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "Synlig"
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
-msgstr "Gem billede fil"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "Uigennemsighed:"
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
-msgstr "{0} billede ({1})"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
-msgstr "OpenRaster billede (*.ora)"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "_Fil"
 
-#: Pinta.Core/Actions/FileActions.cs:392
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before closing?"
-msgstr "Gem ændringer for billede \"{0}\" før luk?"
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "R_edigere"
 
-#: Pinta.Core/Actions/FileActions.cs:402
-msgid "Close without saving"
-msgstr "Afslut uden at gemme"
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "_Vis"
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
-msgstr "Beskær til valg"
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "B_illede"
 
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
-msgstr "Størrelse..."
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "_Lag"
 
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
-msgstr "Lærred størrelse..."
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "_Justeringer"
 
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
-msgstr "Rotere 90° med uret"
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "Effe_kter"
 
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
-msgstr "Rotere 90° mod uret"
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "_Vindue"
 
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
-msgstr "Rotere 180°"
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
+msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
-msgstr "Udjævn"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "_Hjælp"
 
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr "Fortryd"
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "Værktøjer"
 
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
-msgstr "Omgør"
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Dokumenter"
 
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
-msgstr "Klip"
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "Lag"
 
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
-msgstr "Kopiere"
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "Historik"
 
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
-msgstr "Indsæt"
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
+msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
-msgstr "Indsæt i nyt lag"
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
+msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
-msgstr "Indsæt i nyt bilede"
+#: Pinta/DialogHandlers.cs:139
+#, csharp-format
+msgid "Save the changes to image \"{0}\" before closing?"
+msgstr "Gem ændringer for billede \"{0}\" før luk?"
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
-msgstr "Slet markering"
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "Hvis du ikke gemmer, vil ændringer være tabt."
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
-msgstr "Fyld markering"
+#: Pinta/DialogHandlers.cs:147
+msgid "Close without saving"
+msgstr "Afslut uden at gemme"
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
-msgstr "Omvend markering"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
+msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
-msgstr "Vælg alle"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
+msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
-msgstr "Fravælg"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "Lag uigennemsigtighed"
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
-msgstr "Zoom ind"
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "Omdøb lag"
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
-msgstr "Zoom ud"
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "Skjul lag"
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
-msgstr "Zoom til vindue"
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "Vis lag"
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
-msgstr "Zoom til markering"
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
+msgstr "Billede filer"
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
-msgstr "Faktisk størrelse"
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
-msgstr "Billedepunkter gitter"
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
-msgstr "Linealer"
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
+msgstr "Gem billede fil"
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
-msgstr "Billedpunkter"
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
-msgstr "Tommer"
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
-msgstr "Centimeter"
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
-msgstr "Fuldskærm"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr "antal tråde ved rendering"
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
-msgstr "Vindue"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Version"
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
-msgstr "Pinta Websted"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Licens"
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
-msgstr "Rapportere en fejl"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "Frigivet under MIT X11 Licens."
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
-msgstr "Oversæt dette program"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "Copyright"
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
-msgstr "Generelt"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "af Pinta bidragyder"
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
-msgstr "Værktøj"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "Titel"
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
-msgstr "Genvejstast"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "Sti"
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
-msgstr "Udjævning"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
+msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
-msgstr "Normal blanding / Overskriv blanding"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
+msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
-msgstr "Vend billede vandret"
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "Bidragyder til denne frigivelse"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
-msgstr "Vend billede lodret"
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "Tidligere bidragyder"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
-msgstr "Vend lag vandret"
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst\n"
+"  Ole Carlsen https://launchpad.net/~ole-carlsen-web"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
-msgstr "Vend lag lodret"
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Oversat af:"
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
-msgstr "Afslut billedepunkter"
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "Baseret på arbejdet med Paint.NET"
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
-msgstr "Optegne effekt"
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "Bruger nogle ikoner fra:"
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
-msgstr "kopiere"
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "Om Pinta"
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
-msgstr "Lag"
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "Version Info"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1447,14 +1592,37 @@ msgstr ""
 #~ msgid "%"
 #~ msgstr "%"
 
+#~ msgid "Continue without saving"
+#~ msgstr "Fortsæt uden at gemme"
+
 #~ msgid "X :"
 #~ msgstr "X :"
 
 #~ msgid "Y :"
 #~ msgstr "Y :"
 
+#~ msgid "Fill mode"
+#~ msgstr "Fyld tilstand"
+
+#~ msgid "Antialiasing"
+#~ msgstr "Udjævning"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr "Gem ændringer for billede \"{0}\" før oprettelse af nyt?"
+
 #~ msgid "Tip : Right-click to remove control points."
 #~ msgstr "Tip: Højre klik for at fjerne kontrol punkter."
 
+#~ msgid "OpenRaster image (*.ora)"
+#~ msgstr "OpenRaster billede (*.ora)"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before opening a new image?"
+#~ msgstr "Gem ændringer for billede \"{0}\" før åbning af nyt billede?"
+
+#~ msgid "Normal blending / Overwrite blending"
+#~ msgstr "Normal blanding / Overskriv blanding"
+
 #~ msgid "Show Pad"
 #~ msgstr "Vis blok"
diff --git a/po/messages-de.po b/po/messages-de.po
index 14b2c79..5adad3d 100644
--- a/po/messages-de.po
+++ b/po/messages-de.po
@@ -7,722 +7,666 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-09-07 11:01+0000\n"
-"Last-Translator: Jonathan Pobst <Unknown>\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2010-11-30 00:19+0000\n"
+"Last-Translator: Mathias Fussenegger <Unknown>\n"
 "Language-Team: German <de at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "Über"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "Fenster"
 
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "Pinsel"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "Ebene"
 
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "_Datei"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "kopieren"
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "B_earbeiten"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "Größe der Zeichenfläche ändern"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "_Ansicht"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr "Werkzeug"
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "B_ild"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr "Tastenkürzel"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "E_benen"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr ""
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "_Anpassungen"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr ""
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "E_ffekte"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr ""
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "_Fenster"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr ""
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "_Hilfe"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "Bildgröße ändern"
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
 msgstr ""
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "Werkzeuge"
-
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "Palette"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr "Um 180° drehen"
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Dokumente"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr "Bild horizontal spiegeln"
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "Ebenen"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr "Bild vertikal spiegeln"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "Verlauf"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr "Um 90° im Uhrzeigersinn drehen"
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "Ausblenden"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr "Um 90° im Gegenuhrzeigersinn drehen"
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "Dockbar"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr "Ebene horizontal spiegeln"
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "Schwebend"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr "Ebene vertikal spiegeln"
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "Automatisch ausblenden"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
+msgstr "Allgemein"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "Dock"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr "{0}-Bild ({1})"
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "Beitragende dieser Version"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr "Auf Auswahl beschneiden"
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "Frühere Beitragende"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr "Größe ändern …"
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
-msgstr ""
-"Launchpad Contributions:\n"
-"  Andre https://launchpad.net/~ajx\n"
-"  Francisco Camenforte Torres https://launchpad.net/~fct\n"
-"  Hanh Pham https://launchpad.net/~joel-nohnn\n"
-"  Johannes Rössel https://launchpad.net/~joey-muhkuhsaft\n"
-"  Jonathan Pobst https://launchpad.net/~jpobst\n"
-"  Marco Rolappe https://launchpad.net/~mrolappe\n"
-"  Matthias Mailänder https://launchpad.net/~mailaender"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr "Leinwandgröße..."
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Übersetzt von:"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr "Horizontal spiegeln"
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "Basiert auf der Arbeit von Paint.NET:"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr "Vertikal spiegeln"
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "Einige Icons benutzt von:"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr "Auf eine Ebene reduzieren"
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "Über Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr "Vergrößern"
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "Versionsinfo"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr "Verkleinern"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "Titel"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr "Größe an Fenster anpassen"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Version"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr "Größe an Auswahl anpassen"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "Pfad"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr "Tatsächliche Größe"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Lizenz"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "Veröffentlicht unter der MIT X11-Lizenz"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr "Pixelgitter"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "Copyright"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr "Lineale"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "Pinta-Mitwirkende"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr "Pixel"
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
-msgstr "Anzahl Threads, die zur Bildberechnung benutzt werden"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr "Zoll"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "Bildgröße ändern"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr "Zentimeter"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "Prozentual"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr "Vollbild"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
-msgstr "Absolute Werte:"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "Breite:"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr "Neue Ebene hinzufügen"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "Pixel"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr "Ebene löschen"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "Höhe:"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr "Ebene duplizieren"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "Seitenverhältnis beibehalten"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr "Ebene mit darunterliegenden zusammenfassen"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
-#: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "Ebeneneigenschaften"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr "Aus Datei importieren..."
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "Name:"
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr "Drehen/Vergrößern"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "Sichtbar"
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr "Ebene nach oben"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "Deckkraft:"
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr "Ebene nach unten"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "Größe der Zeichenfläche ändern"
+#: Pinta.Core/Actions/LayerActions.cs:74
+msgid "Layer Properties..."
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "Ankerpunkt:"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
+msgstr "Bilddatei öffnen"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
-msgid "New Image"
-msgstr "Neues Bild"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr "Aus Datei importieren"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "Größe des neuen Bildes          "
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:57
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
 msgstr ""
-"Änderungen an der Bilddatei \"{0}\" speichern, bevor eine neue angelegt wird?"
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr "Wenn Sie nicht speichern, gehen alle Änderungen dauerhaft verloren."
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr "Pinta-Webpräsenz"
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "Ohne Speichern fortfahren"
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
+msgstr "Einen Fehler melden"
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "Ebenendeckkraft"
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
+msgstr "Diese Anwendung übersetzen"
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "Ebene umbenennen"
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "Über"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "Ebene verbergen"
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr "Neu..."
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "Ebene anzeigen"
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
+msgstr "Neuer Screenshot..."
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
-msgstr "label1"
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
+msgstr "Öffnen..."
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "Markierung"
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr "Zuletzt geöffnet"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
-msgstr "zufälliges Rauschen"
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
+msgstr "Schließen"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
-msgstr "neu erzeugen"
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
+msgstr "Speichern"
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
-msgstr "Farbwähler"
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
+msgstr "Speichern unter..."
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
-msgstr ""
-"Linksklick, um Primärfarbe festzulegen. Rechtsklick, um Sekundärfarbe "
-"festzulegen."
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
+msgstr "Drucken"
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
-msgstr "Nach Auswahl"
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
+msgstr "Beenden"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
-msgstr "Werkzeug nicht wechseln"
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr "Neu"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
-msgstr "Zum vorherigen Werkzeug wechseln"
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
+msgstr "Öffnen"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
-msgstr "Zum Stift wechseln"
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
+msgstr "Rückgängig"
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
-msgstr "Bleistift"
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
+msgstr "Wiederherstellen"
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
-msgstr "Freie Auswahl"
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
+msgstr "Ausschneiden"
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
-msgstr "Klicken und ziehen, um einen Bereich auszuwählen"
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
+msgstr "Kopieren"
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
-msgstr "Lupe"
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
+msgstr "Einfügen"
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
-msgstr ""
-"Zum Hineinzoomen mit linker Maustaste klicken. Zum Herauszoomen mit rechter "
-"Maustaste klicken. Klicken und einen Bereich aufziehen, um in diesen zu "
-"zoomen."
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
+msgstr "In neue Ebene einfügen"
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
-msgstr "Pinsel Breite"
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
+msgstr "In neues Bild einfügen"
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
-msgstr "Pinsel Breite verringern"
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
+msgstr "Auswahl löschen"
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
-msgstr "Pinsel Breite vergrößern"
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
+msgstr "Auswahl füllen"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
-msgstr "Nur Umrandung"
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
+msgstr "Auswahl umkehren"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
-msgstr "Nur Füllung"
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
+msgstr "Alles auswählen"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
-msgstr "Umrandung und Füllung"
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
+msgstr "Auswahl aufheben"
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
-msgstr "Ausgewählte Pixels bewegen"
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
+msgstr ""
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
-msgstr "Ausgewählten Bereich verschieben"
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
+msgstr ""
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
-msgstr "Ausschnitt verschieben"
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "Palette"
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
-msgstr "Klicken und ziehen um den sichtbaren Bildbereich zu verschieben."
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
+msgstr ""
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
 msgstr ""
-"Linksklick um Freiform zu zeichnen, 1-Pixel breite Linien mit der "
-"Vordergrundfarbe, Rechtsklick um die Hintergrundfarbe zu verwenden."
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
-msgstr "Elliptische Auswahl"
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr "Alle Dateien"
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
 msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
 msgstr ""
-"Klicken und ziehen um eine elliptische Auswahl aufzuziehen. Shift gedrückt "
-"halten, um daraus einen Kreis zu machen."
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
-msgstr "Gradient"
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
+msgstr "Fehler"
 
-#: Pinta.Tools/GradientTool.cs:60
-msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
 msgstr ""
-"Klicken und Ziehen, um einen Farbverlauf von der Primär- zur Sekundärfarbe "
-"zu zeichnen. Rechtsklick um die Farben zu vertauschen."
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
-msgstr "Linearer Gradient"
-
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
-msgstr "Linearer gespiegelter Verlauf"
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
+msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
-msgstr "Linearer rautenförmiger Verlauf"
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
+msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
-msgstr "Kreisförmiger Verlauf"
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
-msgstr "Kegelförmiger Verlauf"
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
+msgstr "Hintergrund"
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
-msgstr "Farbmodus"
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
+msgid "New Image"
+msgstr "Neues Bild"
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
-msgstr "Transparenz-Modus"
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
+msgstr "Bild öffnen"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
-msgstr "Abgerundetes Rechteck"
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
+#, csharp-format
+msgid "Could not open file: {0}"
+msgstr "Datei konnte nicht geöffnet werden: {0}"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
 msgstr ""
-"Klicken und ziehen um ein abgerundetes Rechteck zu zeichnen (Rechtsklick für "
-"Sekundärfarbe). Shift gedrückt halten, um daraus ein Quadrat zu machen."
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
-msgstr "Radius"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
+msgstr "Posterisieren"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
-msgstr "Eckenradius des Rechtecks verringern"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
+msgstr "Farben invertieren"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
-msgstr "Eckenradius des Rechtecks steigern"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
+msgstr "Ebenen"
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
-msgstr ""
-"Linksklick um mit Primärfarbe zu zeichnen, Rechtsklick um mit Sekundärfarbe "
-"zu zeichnen."
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
+msgstr "Schwarz-Weiß"
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
-msgstr "Rechteckige Auswahl"
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
+msgstr "Automatische Tonwertkorrektur"
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
-msgstr ""
-"Klicken und ziehen um eine rechteckige Auswahl aufzuziehen. Shift gedrückt "
-"halten, um daraus ein Quadrat zu machen."
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
+msgstr "Farbton/Sättigung"
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
-msgstr "Farbeimer"
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
+msgstr "Helligkeit/Kontrast"
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
-msgstr ""
-"Linksklick um eine Region mit der Primärfarbe zu füllen. Rechtsklick um eine "
-"Region mit der Sekundärfarbe zu füllen."
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
+msgstr "Sepia"
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
-msgstr "Stempel Klonen"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
+msgstr "Farbkurven"
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
-msgstr "Auswahl verschieben"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
+msgstr ""
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
-msgstr "Auswahl ziehen, um die Auswahl zu verschieben."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
+msgstr "RGB"
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
-msgstr "Freiform-Gestaltung"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
+msgstr "Leuchtkraft"
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
-msgstr "Füllmodus"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
+msgstr "(256, 256)"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
-msgstr "Zusammenhängend"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
+msgstr "Rot  "
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
-msgstr "Global"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
+msgstr "Grün"
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
-msgstr "Toleranz"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
+msgstr "Blau "
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
-msgstr "Ellipse"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
+msgstr "Zurücksetzen"
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
 msgstr ""
-"Klicken und ziehen um eine Ellipse zu zeichnen (Rechtsklick für "
-"Sekundärfarbe). Shift gedrückthalten um daraus einen Kreis zu machen."
 
-#: Pinta.Tools/TextTool.cs:37
-msgid "Text"
-msgstr "Text"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
+msgstr "Ebenenabgleich"
 
-#: Pinta.Tools/TextTool.cs:44
-msgid ""
-"Left click to place cursor, then type desired text. Text color is primary "
-"color."
-msgstr ""
-"Linksklick um den Cursor zu platzieren, dann den gewünschten Text eintippen. "
-"Textfarbe ist Vordergrundfarbe."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
+msgstr "Eingabe-Histogramm"
 
-#: Pinta.Tools/TextTool.cs:131
-msgid "Font"
-msgstr "Schriftart"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
+msgstr "Eingabe"
 
-#: Pinta.Tools/TextTool.cs:186
-msgid "Bold"
-msgstr "Fett"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
+msgstr "Ausgabe"
 
-#: Pinta.Tools/TextTool.cs:193
-msgid "Italic"
-msgstr "Kursiv"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
+msgstr "Ausgabe-Histogramm"
 
-#: Pinta.Tools/TextTool.cs:201
-msgid "Underline"
-msgstr "Unterstrichen"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
+msgstr "Automatisch"
 
-#: Pinta.Tools/TextTool.cs:210
-msgid "Left Align"
-msgstr "Linksbündig"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
+msgstr "Rot"
 
-#: Pinta.Tools/TextTool.cs:219
-msgid "Center Align"
-msgstr "Zentriert"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
+msgstr "Blau"
 
-#: Pinta.Tools/TextTool.cs:227
-msgid "Right Align"
-msgstr "Rechtsbündig"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
+msgstr "Verknüpft"
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
-msgstr "Zauberstab"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
+msgstr "Bleistiftskizze"
 
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
-msgstr "Nach Farbe auswählen"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
+msgstr "Künstlerisch"
 
-#: Pinta.Tools/RectangleTool.cs:38
-msgid "Rectangle"
-msgstr "Rechteck"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
+msgstr "Defokussieren"
 
-#: Pinta.Tools/RectangleTool.cs:44
-msgid ""
-"Click and drag to draw a rectangle (right click for secondary color). Hold "
-"shift to constrain to a square."
-msgstr ""
-"Klicken und ziehen um ein Rechteck zu zeichnen (Rechtsklick für "
-"Sekundärfarbe). Shift gedrückt halten für ein Quadrat."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
+msgstr "Unschärfe"
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
-msgstr "Linie"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
+msgstr "Verbeulen"
 
-#: Pinta.Tools/LineCurveTool.cs:44
-msgid ""
-"Left click to draw with primary color, right click for secondary color."
-msgstr ""
-"Linksklick um mit der Primärfarbe zu zeichnen, Rechtsklick für Sekundärfarbe."
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
+msgstr "Verzerren"
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
-msgstr "Einfärben"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
+msgstr "Mandelbrot-Fraktal"
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
-msgstr "Linksklick um die Sekundärfarbe durch die Primärfarbe zu ersetzen."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
+msgstr "Rendern"
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
-msgstr "Radiergummi"
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
+msgstr "Median"
 
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
-msgstr "Klicken und gedrückt lassen um einen Teil des Bildes zu löschen."
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
+msgstr "Rauschen"
 
 #: Pinta.Effects/Effects/PixelateEffect.cs:26
 msgid "Pixelate"
 msgstr "Verpixeln"
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr "Verzerren"
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
-msgstr "Rote Augen entfernen"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
+msgstr "Scharfzeichnen"
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
 msgid "Photo"
 msgstr "Foto"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
-msgstr "Bewegungsunschärfe"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
+msgstr "Ölgemälde"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
-msgstr "Unschärfe"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
+msgstr "Gaußsche Unschärfe"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
-msgstr "Tintenskizze"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
+msgstr "Glühen"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
-msgstr "Künstlerisch"
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
+msgstr "Portrait weichzeichnen"
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
-msgstr "Radiale Unschärfe"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
+msgstr ""
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
-msgstr "Defokussieren"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr "Rote Augen entfernen"
+
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
+msgstr "Gefrorenes Glas"
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
 msgid "Edge Detect"
 msgstr "Kanten erkennen"
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
 #: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
 msgid "Stylize"
 msgstr "Stilisieren"
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
-msgstr "Gefrorenes Glas"
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
+msgstr "Julia-Fraktal"
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
-msgstr "Ölgemälde"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr "Bewegungsunschärfe"
+
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr "Prägen"
+
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
+msgstr "Tintenskizze"
 
 #: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
 msgid "Zoom Blur"
@@ -736,544 +680,743 @@ msgstr ""
 msgid "Clouds"
 msgstr "Wolken"
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr "Rendern"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
+msgstr "Fragment"
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
-msgstr "Glühen"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr "Rauschen verringern"
+
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr "Radiale Unschärfe"
+
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
+msgstr "Verdrehen"
 
 #: Pinta.Effects/Effects/AddNoiseEffect.cs:30
 msgid "Add Noise"
 msgstr "Rauschen hinzufügen"
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
-msgstr "Rauschen"
-
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
-msgstr "Fragment"
-
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
-msgstr "Scharfzeichnen"
-
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
-msgstr "Bleistiftskizze"
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
+msgstr "Relief"
 
 #: Pinta.Effects/Effects/OutlineEffect.cs:29
 msgid "Outline"
 msgstr "Umriss"
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
-msgstr "Gaußsche Unschärfe"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
+msgstr "zufälliges Rauschen"
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
+msgstr "neu erzeugen"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "label1"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "Markierung"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
-msgstr "Relief"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
+msgstr ""
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
-msgstr "Prägen"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr ""
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
-msgstr "Mandelbrot-Fraktal"
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
+msgstr "Ausschnitt verschieben"
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
-msgstr "Verbeulen"
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
+msgstr "Klicken und ziehen um den sichtbaren Bildbereich zu verschieben."
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
-msgstr "Verdrehen"
+#: Pinta.Tools/TextTool.cs:37
+msgid "Text"
+msgstr "Text"
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
-msgstr "Portrait weichzeichnen"
+#: Pinta.Tools/TextTool.cs:44
+msgid ""
+"Left click to place cursor, then type desired text. Text color is primary "
+"color."
+msgstr ""
+"Linksklick um den Cursor zu platzieren, dann den gewünschten Text eintippen. "
+"Textfarbe ist Vordergrundfarbe."
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
-msgstr "Rauschen verringern"
+#: Pinta.Tools/TextTool.cs:144
+msgid "Font"
+msgstr "Schriftart"
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
-msgstr "Julia-Fraktal"
+#: Pinta.Tools/TextTool.cs:205
+msgid "Bold"
+msgstr "Fett"
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
-msgstr "Median"
+#: Pinta.Tools/TextTool.cs:212
+msgid "Italic"
+msgstr "Kursiv"
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
-msgstr "Farbkurven"
+#: Pinta.Tools/TextTool.cs:220
+msgid "Underline"
+msgstr "Unterstrichen"
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
-msgstr "Ebenen"
+#: Pinta.Tools/TextTool.cs:229
+msgid "Left Align"
+msgstr "Linksbündig"
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
-msgstr "Automatische Tonwertkorrektur"
+#: Pinta.Tools/TextTool.cs:238
+msgid "Center Align"
+msgstr "Zentriert"
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
-msgstr "Farben invertieren"
+#: Pinta.Tools/TextTool.cs:246
+msgid "Right Align"
+msgstr "Rechtsbündig"
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
-msgstr "Posterisieren"
+#: Pinta.Tools/RectangleTool.cs:38
+msgid "Rectangle"
+msgstr "Rechteck"
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
-msgstr "Schwarz-Weiß"
+#: Pinta.Tools/RectangleTool.cs:44
+msgid ""
+"Click and drag to draw a rectangle (right click for secondary color). Hold "
+"shift to constrain to a square."
+msgstr ""
+"Klicken und ziehen um ein Rechteck zu zeichnen (Rechtsklick für "
+"Sekundärfarbe). Shift gedrückt halten für ein Quadrat."
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
-msgstr "Farbton/Sättigung"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
+msgstr "Freiform-Gestaltung"
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
-msgstr "Sepia"
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
+msgid ""
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
+msgstr ""
+"Linksklick um mit Primärfarbe zu zeichnen, Rechtsklick um mit Sekundärfarbe "
+"zu zeichnen."
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
-msgstr "Helligkeit/Kontrast"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
-msgstr "Ebenenabgleich"
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
+msgstr "Nur Umrandung"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
-msgstr "Eingabe-Histogramm"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
+msgstr "Nur Füllung"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
-msgstr "Eingabe"
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
+msgstr "Umrandung und Füllung"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
-msgstr "Ausgabe"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
-msgstr "Ausgabe-Histogramm"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
+msgstr "Zusammenhängend"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
-msgstr "Automatisch"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
+msgstr "Global"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
-msgstr "Zurücksetzen"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
+msgstr "Toleranz"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
-msgstr "Rot"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
+msgstr "Linie"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
-msgstr "Grün"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
+msgstr ""
+"Linksklick um mit der Primärfarbe zu zeichnen, Rechtsklick für Sekundärfarbe."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
-msgstr "Blau"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
+msgstr "Auswahl verschieben"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
-msgstr "Verknüpft"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
+msgstr "Auswahl ziehen, um die Auswahl zu verschieben."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
+msgstr "Rechteckige Auswahl"
+
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
 msgstr ""
+"Klicken und ziehen um eine rechteckige Auswahl aufzuziehen. Shift gedrückt "
+"halten, um daraus ein Quadrat zu machen."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
-msgstr "RGB"
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
+msgstr "Zauberstab"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
-msgstr "Leuchtkraft"
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
+msgstr "Nach Farbe auswählen"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
-msgstr "(256, 256)"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
+msgstr "Elliptische Auswahl"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
-msgstr "Rot  "
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
+msgstr ""
+"Klicken und ziehen um eine elliptische Auswahl aufzuziehen. Shift gedrückt "
+"halten, um daraus einen Kreis zu machen."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
-msgstr "Blau "
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
+msgstr "Freie Auswahl"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
+msgstr "Klicken und ziehen, um einen Bereich auszuwählen"
+
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
+msgstr "Farbeimer"
+
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
 msgstr ""
+"Linksklick um eine Region mit der Primärfarbe zu füllen. Rechtsklick um eine "
+"Region mit der Sekundärfarbe zu füllen."
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
-msgstr "Neue Ebene hinzufügen"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
+msgstr "Gradient"
 
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
-msgstr "Ebene löschen"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
+msgstr ""
+"Klicken und Ziehen, um einen Farbverlauf von der Primär- zur Sekundärfarbe "
+"zu zeichnen. Rechtsklick um die Farben zu vertauschen."
 
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
-msgstr "Ebene duplizieren"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
+msgstr "Linearer Gradient"
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
-msgstr "Ebene mit darunterliegenden zusammenfassen"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
+msgstr "Linearer gespiegelter Verlauf"
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
-msgstr "Aus Datei importieren..."
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
+msgstr "Linearer rautenförmiger Verlauf"
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
-msgstr "Horizontal spiegeln"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
+msgstr "Kreisförmiger Verlauf"
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
-msgstr "Vertikal spiegeln"
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
+msgstr "Kegelförmiger Verlauf"
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
-msgstr "Drehen/Vergrößern"
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
+msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
-msgstr "Ebene nach oben"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
+msgstr "Farbmodus"
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
-msgstr "Ebene nach unten"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
+msgstr "Transparenz-Modus"
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
-msgstr "Bilddatei öffnen"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
+msgstr "Pinsel Breite"
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
-msgstr "Aus Datei importieren"
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
+msgstr "Pinsel Breite verringern"
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
-msgstr "Neu..."
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
+msgstr "Pinsel Breite vergrößern"
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
-msgstr "Öffnen..."
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "Pinsel"
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
-msgstr "Zuletzt geöffnet"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
-msgstr "Schließen"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
+msgstr "Einfärben"
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
-msgstr "Speichern"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
+msgstr "Linksklick um die Sekundärfarbe durch die Primärfarbe zu ersetzen."
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
-msgstr "Speichern unter..."
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
-msgstr "Drucken"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr "Beenden"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
-msgstr "Neu"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
-msgstr "Öffnen"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
-msgstr "Hintergrund"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
+msgstr "Ellipse"
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
-msgstr "Bild öffnen"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
+msgstr ""
+"Klicken und ziehen um eine Ellipse zu zeichnen (Rechtsklick für "
+"Sekundärfarbe). Shift gedrückthalten um daraus einen Kreis zu machen."
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
-msgstr "Datei konnte nicht geöffnet werden: {0}"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
+msgstr "Stempel Klonen"
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
-msgstr "Fehler"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "Lupe"
+
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
 msgstr ""
-"Änderungen an Bilddatei \"{0}\" speichern, bevor ein neues Bild geöffnet "
-"wird?"
+"Zum Hineinzoomen mit linker Maustaste klicken. Zum Herauszoomen mit rechter "
+"Maustaste klicken. Klicken und einen Bereich aufziehen, um in diesen zu "
+"zoomen."
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
-msgstr "Bilddateien"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
+msgstr "Abgerundetes Rechteck"
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
-msgstr "Alle Dateien"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
+msgstr ""
+"Klicken und ziehen um ein abgerundetes Rechteck zu zeichnen (Rechtsklick für "
+"Sekundärfarbe). Shift gedrückt halten, um daraus ein Quadrat zu machen."
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
-msgstr "Bilddatei speichern"
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
+msgstr "Radius"
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
-msgstr "{0}-Bild ({1})"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
+msgstr "Eckenradius des Rechtecks verringern"
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
-msgstr "OpenRaster-Bild (*.ora)"
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
+msgstr "Eckenradius des Rechtecks steigern"
 
-#: Pinta.Core/Actions/FileActions.cs:392
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before closing?"
-msgstr "Änderungen an Bilddatei \"{0}\" vor dem Schließen speichern?"
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "Farbwähler"
 
-#: Pinta.Core/Actions/FileActions.cs:402
-msgid "Close without saving"
-msgstr "Schließen ohne zu speichern"
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
+msgstr ""
+"Linksklick, um Primärfarbe festzulegen. Rechtsklick, um Sekundärfarbe "
+"festzulegen."
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
-msgstr "Auf Auswahl beschneiden"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr "Nach Auswahl"
 
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
-msgstr "Größe ändern …"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
+msgstr "Werkzeug nicht wechseln"
 
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
-msgstr "Leinwandgröße..."
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr "Zum vorherigen Werkzeug wechseln"
 
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
-msgstr "Um 90° im Uhrzeigersinn drehen"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
+msgstr "Zum Stift wechseln"
 
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
-msgstr "Um 90° im Gegenuhrzeigersinn drehen"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "Bleistift"
 
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
-msgstr "Um 180° drehen"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
+msgstr "Radiergummi"
 
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
-msgstr "Auf eine Ebene reduzieren"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
+msgstr "Klicken und gedrückt lassen um einen Teil des Bildes zu löschen."
 
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr "Rückgängig"
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
+msgstr ""
+"Linksklick um Freiform zu zeichnen, 1-Pixel breite Linien mit der "
+"Vordergrundfarbe, Rechtsklick um die Hintergrundfarbe zu verwenden."
 
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
-msgstr "Wiederherstellen"
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
+msgstr "Ausgewählte Pixels bewegen"
 
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
-msgstr "Ausschneiden"
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
+msgstr "Ausgewählten Bereich verschieben"
 
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
-msgstr "Kopieren"
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "Ausblenden"
 
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
-msgstr "Einfügen"
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "Dock"
 
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
-msgstr "In neue Ebene einfügen"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "Automatisch ausblenden"
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
-msgstr "In neues Bild einfügen"
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "Dockbar"
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
-msgstr "Auswahl löschen"
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "Schwebend"
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
-msgstr "Auswahl füllen"
+#: Pinta/Options.cs:486
+msgid "OptionName"
+msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
-msgstr "Auswahl umkehren"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "Prozentual"
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
-msgstr "Alles auswählen"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
+msgstr "Absolute Werte:"
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
-msgstr "Auswahl aufheben"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "Breite:"
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
-msgstr "Vergrößern"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "Pixel"
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
-msgstr "Verkleinern"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "Höhe:"
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
-msgstr "Größe an Fenster anpassen"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "Seitenverhältnis beibehalten"
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
-msgstr "Größe an Auswahl anpassen"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "Ankerpunkt:"
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
-msgstr "Tatsächliche Größe"
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "Größe des neuen Bildes          "
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
-msgstr "Pixelgitter"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Ebeneneigenschaften"
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
-msgstr "Lineale"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "Name:"
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
-msgstr "Pixel"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "Sichtbar"
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
-msgstr "Zoll"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "Deckkraft:"
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
-msgstr "Zentimeter"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
-msgstr "Vollbild"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "_Datei"
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
-msgstr "Fenster"
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "B_earbeiten"
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
-msgstr "Pinta-Webpräsenz"
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "_Ansicht"
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
-msgstr "Einen Fehler melden"
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "B_ild"
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
-msgstr "Diese Anwendung übersetzen"
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "E_benen"
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
-msgstr "Allgemein"
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "_Anpassungen"
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
-msgstr "Werkzeug"
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "E_ffekte"
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
-msgstr "Tastenkürzel"
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "_Fenster"
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
-msgstr "Kantenglättung"
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
+msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "_Hilfe"
+
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "Werkzeuge"
+
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Dokumente"
+
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "Ebenen"
+
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "Verlauf"
+
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
-msgstr "Bild horizontal spiegeln"
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
+msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
-msgstr "Bild vertikal spiegeln"
+#: Pinta/DialogHandlers.cs:139
+#, csharp-format
+msgid "Save the changes to image \"{0}\" before closing?"
+msgstr "Änderungen an Bilddatei \"{0}\" vor dem Schließen speichern?"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
-msgstr "Ebene horizontal spiegeln"
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "Wenn Sie nicht speichern, gehen alle Änderungen dauerhaft verloren."
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
-msgstr "Ebene vertikal spiegeln"
+#: Pinta/DialogHandlers.cs:147
+msgid "Close without saving"
+msgstr "Schließen ohne zu speichern"
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
 msgstr ""
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
 msgstr ""
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
-msgstr "kopieren"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "Ebenendeckkraft"
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
-msgstr "Ebene"
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "Ebene umbenennen"
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "Ebene verbergen"
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "Ebene anzeigen"
+
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
+msgstr "Bilddateien"
+
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
+msgstr ""
+
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
+msgstr ""
+
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
+msgstr "Bilddatei speichern"
+
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
+msgstr ""
+
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
+msgstr ""
+
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
+msgstr ""
+
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr "Anzahl Threads, die zur Bildberechnung benutzt werden"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Version"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Lizenz"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "Veröffentlicht unter der MIT X11-Lizenz"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "Copyright"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "Pinta-Mitwirkende"
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "Titel"
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "Pfad"
+
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
+msgstr ""
+
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
+msgstr ""
+
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "Beitragende dieser Version"
+
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "Frühere Beitragende"
+
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Andre https://launchpad.net/~ajx\n"
+"  Francisco Camenforte Torres https://launchpad.net/~fct\n"
+"  Hanh Pham https://launchpad.net/~joel-nohnn\n"
+"  Johannes Rössel https://launchpad.net/~joey-muhkuhsaft\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst\n"
+"  Marco Rolappe https://launchpad.net/~mrolappe\n"
+"  Mathias Fussenegger https://launchpad.net/~f-mathias\n"
+"  Matthias Mailänder https://launchpad.net/~mailaender"
+
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Übersetzt von:"
+
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "Basiert auf der Arbeit von Paint.NET:"
+
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "Einige Icons benutzt von:"
+
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "Über Pinta"
+
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "Versionsinfo"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1455,17 +1598,64 @@ msgstr ""
 "Bemerkung: Um das beste Ergebnis zu bekommen, markiere am bestens jede Auge "
 "einzeln."
 
+#~ msgid "Help"
+#~ msgstr "Hilfe"
+
+#~ msgid "Adjustments"
+#~ msgstr "Anpassungen"
+
+#~ msgid "Effects"
+#~ msgstr "Effekte"
+
+#~ msgid "File"
+#~ msgstr "Datei"
+
+#~ msgid "Edit"
+#~ msgstr "Bearbeiten"
+
+#~ msgid "View"
+#~ msgstr "Ansicht"
+
+#~ msgid "Image"
+#~ msgstr "Bild"
+
 #~ msgid "%"
 #~ msgstr "%"
 
+#~ msgid "Continue without saving"
+#~ msgstr "Ohne Speichern fortfahren"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr ""
+#~ "Änderungen an der Bilddatei \"{0}\" speichern, bevor eine neue angelegt wird?"
+
 #~ msgid "X :"
 #~ msgstr "X :"
 
 #~ msgid "Y :"
 #~ msgstr "Y :"
 
+#~ msgid "RGB\r"
+#~ msgstr "RGB\r"
+
 #~ msgid "Tip : Right-click to remove control points."
 #~ msgstr "Tipp: Rechtsklicken zum Entfernen eines Kontrollpunkts."
 
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before opening a new image?"
+#~ msgstr ""
+#~ "Änderungen an Bilddatei \"{0}\" speichern, bevor ein neues Bild geöffnet "
+#~ "wird?"
+
+#~ msgid "OpenRaster image (*.ora)"
+#~ msgstr "OpenRaster-Bild (*.ora)"
+
+#~ msgid "Antialiasing"
+#~ msgstr "Kantenglättung"
+
+#~ msgid "Fill mode"
+#~ msgstr "Füllmodus"
+
 #~ msgid "Show Pad"
 #~ msgstr "zeige Leiste"
diff --git a/po/messages-el.po b/po/messages-el.po
index c194ba2..dfb95c5 100644
--- a/po/messages-el.po
+++ b/po/messages-el.po
@@ -7,536 +7,743 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-09-07 10:57+0000\n"
-"Last-Translator: Jonathan Pobst <Unknown>\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2010-12-16 10:57+0000\n"
+"Last-Translator: Νιάνιος Ρωμανός <Unknown>\n"
 "Language-Team: Greek <el at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "Σχετικά με..."
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "Παράθυρο"
 
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "Πινέλο"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "Στρώμα"
 
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "_Αρχείο"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "αντιγραφή"
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "_Επεξεργασία"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "Αλλαγή Μεγέθους"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "_Προβολή"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr "Εργαλείο"
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "Ει_κόνα"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr "Πλήκτρο συντόμευσης"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "Επίπε_δα"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr ""
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
 msgstr ""
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "Ε_φέ"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr ""
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "Παρά_θυρα"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr ""
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "_Βοήθεια"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "Αλλαγή Μεγέθους Εικόνας"
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
 msgstr ""
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "Εργαλεία"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr "Περιστροφή 180°"
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "Παλέττα"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr "Αναποδογύρισμα Εικόνας Οριζόντια"
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Έγγραφα"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr "Αναποδογύρισμα Εικόνας Κάθετα"
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "Επίπεδα"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr "Περιστροφή 90° Δεξιόστροφα"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "Ιστορικό"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr "Περιστροφή 90° Αριστερόστροφα"
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "Απόκρυψη"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr "Αναποδογύρισμα Στρώματος Οριζόντια"
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr "Αναποδογύρισμα Στρώματος Κάθετα"
+
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
+msgstr "Γενικά"
+
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr "{0} εικόνα ({1})"
+
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
 msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "Ελεύθερα μετακινούμενη"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr "Αλλαγή Μεγέθους"
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "Αυτόματη απόκρυψη"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr "Μέγεθος Καμβά"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "Προσάρτηση"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr "Οριζόντια Αντιστροφή"
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "Συντελεστές Έκδοσης"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr "Κατακόρυφη Αντιστροφή"
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "Προηγούμενοι Συντελεστές"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr "Ισοπέδωση"
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
-msgstr ""
-"Launchpad Contributions:\n"
-"  Jonathan Pobst https://launchpad.net/~jpobst\n"
-"  Psychorat https://launchpad.net/~dougy-giro1\n"
-"  spiros anthis https://launchpad.net/~sugaraddicted"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr "Μεγέθυνση"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Μεταφράστηκε από:"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr "Σμίκρυνση"
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "Βασίζεται στο Paint.NET"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr "Εστίαση στο Παράθυρο"
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "Γίνεται χρήση εικονιδίων απο:"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr "Εστίαση στην επιλογή"
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "Σχετικά με το Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr "Πραγματικό μέγεθος"
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "Πληροφορίες Έκδοσης"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
+msgstr "Γραμμή Εργαλείων"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "Τίτλος"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr "Πίνακας Pixel"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Έκδοση"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr "Χάρακες"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "Διαδρομή"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr "Εικονοστοιχεία"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Άδεια Χρήσης"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr "Ίντσες"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "Κυκλοφορεί κάτω απο την MIT X11 άδεια χρήσης"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr "Εκατοστά"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "Πνευματικά Δικαιώματα"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr "Πλήρης Οθόνη"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "απο τους συντελεστές του Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr "Μονάδας Χάρακα"
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
-msgstr ""
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr "Προσθήκη Στρώματος"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "Αλλαγή Μεγέθους Εικόνας"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr "Διαγραφή Στρώματος"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "Σε ποσοστό:"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr "Αντιγραφή Στρώματος"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
-msgstr "Σε απόλυτο μέγεθος:"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "Πλάτος:"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr "Εισαγωγή απο αρχείο..."
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "Εικονοστοιχεία"
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr "Περιστροφή / Ζουμ"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "Ύψος:"
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr "Μετακίνηση Στρώματος Πάνω"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "Διατήρηση αναλογίας διαστάσεων"
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr "Μετακίνηση Στρώματος Κάτω"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
 #: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "Ιδιότητες στρώματος"
-
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "Όνομα:"
+msgid "Layer Properties..."
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "Ορατό"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
+msgstr "Άνοιγμα Αρχείου Εικόνας"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "Διαφάνεια:"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr "Εισαγωγή Απο Αρχείο"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "Αλλαγή Μεγέθους"
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr "Αποθήκευση όλων"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "Αγκυροβόληση"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
-msgid "New Image"
-msgstr "Νέα Εικόνα"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr "Ιστοσελίδα Pinta"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "Νέο Μέγεθος Εικόνας          "
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
+msgstr "Στείλτε αναφορά σφάλματος"
 
-#: Pinta/DialogHandlers.cs:57
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
 msgstr ""
-"Να αποθηκευτούν οι αλλαγές στην εικόνα \"{0}\" πριν δημιουργήσετε νέα;"
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr "Αν δε γίνει αποθήκευση, οι αλλαγές θα χαθούν οριστικά."
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "Σχετικά με..."
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "Να μην γίνει αποθήκευση"
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr "Νέο..."
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "Αδιαφάνεια στρώματος"
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
+msgstr "Νέα αποτύπωση οθόνης"
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "Μετονομασία Στρώματος"
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
+msgstr "Άνοιγμα..."
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "Απόκρυψη Στρώματος"
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr "Άνοιγμα Πρόσφατου"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "Εμφάνιση Στρώματος"
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
+msgstr "Κλείσιμο"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
-msgstr "ετικέττα1"
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
+msgstr "Αποθήκευση"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "ετικέττα"
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
+msgstr "Αποθήκευση Ως"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
-msgstr "Τυχαίος Θόρυβος"
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
+msgstr "Εκτύπωση"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
-msgstr ""
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
+msgstr "Έξοδος"
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
-msgstr "Επιλογέας Χρώματος"
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr "Νέο"
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
-msgstr "Αριστερό κλικ πρωτεύον χρώμα.Δεξί κλικ δευτερεύον χρώμα."
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
+msgstr "Άνοιγμα"
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
-msgstr ""
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
+msgstr "Αναίρεση"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
-msgstr ""
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
+msgstr "Επαναφορά"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
-msgstr ""
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
+msgstr "Αποκοπή"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
-msgstr "Αλλαγή σε μολύβι"
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
+msgstr "Αντιγραφή"
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
-msgstr "Μολύβι"
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
+msgstr "Επικόλληση"
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
-msgstr "Επιλογή με λάσο"
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
+msgstr "Επικόλληση Σε Νέο Στρώμα"
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
-msgstr ""
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
+msgstr "Επικόλληση Σε Νέα Εικόνα"
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
-msgstr "Μεγένθυση"
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
+msgstr "Διαγραφή Επιλογής"
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
-msgstr ""
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
+msgstr "Επιλογή Αρχείου"
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
-msgstr "Μήκος βούρτσας"
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
+msgstr "Αντιστροφή Επιλογής"
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
-msgstr ""
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
+msgstr "Επιλογή Όλων"
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
-msgstr ""
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
+msgstr "Αποεπιλογή"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
+msgstr "Θέστε αριθμό χρωμάτων"
+
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "Παλέττα"
+
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr "Όλα τα αρχεία"
+
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
+msgid ""
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
 msgstr ""
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
+msgstr "Σφάλμα"
+
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
 msgstr ""
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
 msgstr ""
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
 msgstr ""
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
 msgstr ""
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
-msgstr "Ελλειψοειδής επιλογή"
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
+msgstr "Φόντο"
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
-msgstr ""
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
+msgid "New Image"
+msgstr "Νέα Εικόνα"
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
-msgstr "Διαβάθμιση χρώματος"
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
+msgstr "Άνοιγμα εικόνας"
 
-#: Pinta.Tools/GradientTool.cs:60
-msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
+#, csharp-format
+msgid "Could not open file: {0}"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
-msgstr ""
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
+msgstr "Δημιουργία πόστερ"
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
-msgstr ""
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
+msgstr "Αντιστροφή χρωμάτων"
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
-msgstr ""
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
+msgstr "Επίπεδα"
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
+msgstr "Ασπρόμαυρο"
+
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
-msgstr "Τύπος χρώματος"
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
+msgstr "Απόχρωση / Κορεσμός"
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
-msgstr ""
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
+msgstr "Φωτεινότητα / αντίθεση"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
-msgstr "Στρογγυλεμένο ορθογώνιο"
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
+msgstr "Σέπια"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
+msgstr "Καμπύλες"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
-msgstr "Ακτίνα"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
+msgstr "RGB"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
+msgstr "Φωτεινότητα"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
+msgstr "(256, 256)"
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
+msgstr "Κόκκινο  "
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
-msgstr "Ορθογώνια επιλογή"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
+msgstr "Πράσινο"
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
+msgstr "Μπλέ "
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
+msgstr "Επαναφορά"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
 msgstr ""
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
+msgstr "Ρύθμιση Επιπέδων"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
+msgstr "Ιστόγραμμα Εισόδου"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
+msgstr "Είσοδος"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
+msgstr "Έξοδος"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
+msgstr "Ιστόγραμμα Εξόδου"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
+msgstr "Αυτόματα"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
+msgstr "Κόκκινο"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
+msgstr "Μπλέ"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
+msgstr "Συνδεμένο"
+
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
+msgstr "Σκίτσο με μολύβι"
+
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
+msgstr "Καλλιτεχνικό"
+
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
+msgstr "Αναίρεση Εστίασης"
+
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
 msgstr ""
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
+msgstr "Φούσκωμα"
+
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
+msgstr "Παραμόρφωση"
+
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
-msgstr "Μετακίνηση επιλογής"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
+msgstr "Αποτύπωση"
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
+msgstr "Μέση τιμή"
+
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
+msgstr "Θόρυβος"
+
+#: Pinta.Effects/Effects/PixelateEffect.cs:26
+msgid "Pixelate"
+msgstr "Εικονοστοιχειοποίηση"
+
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
+msgstr "Όξυνση"
+
+#: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
+msgid "Photo"
+msgstr "Φωτογραφία"
+
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
+msgstr "Ζωγραφική Λαδιού"
+
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
+msgstr "Θόλωμα Gauss"
+
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
+msgstr "Λάμψη"
+
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
 msgstr ""
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
+msgstr "Αντανάκλαση Πλακιδίου"
+
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr "Αφαίρεση Κοκκινίλας Ματιών"
+
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
+msgstr "Παγωμένο Γυαλί"
+
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
+msgid "Edge Detect"
+msgstr "Εντοπισμός Άκρου"
+
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
+#: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
+msgid "Stylize"
+msgstr "Πρόσδοση Ύφους"
+
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
+msgstr "Φράκταλ Julia"
+
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr "Θόλωμα κίνησης"
+
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr "Εμβάθυνση"
+
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
+msgid "Zoom Blur"
+msgstr "Θόλωμα μεγέθυνσης"
+
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
+msgid "Polar Inversion"
+msgstr "Πολική Αναστροφή"
+
+#: Pinta.Effects/Effects/CloudsEffect.cs:30
+msgid "Clouds"
+msgstr "Σύννεφα"
+
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
+msgstr "Κατακερμάτιση"
+
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr "Μείωση Θορύβου"
+
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr "Ακτινικό θόλωμα"
+
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
+msgstr "Συστροφή"
+
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
+msgid "Add Noise"
+msgstr "Προσθήκη θορύβου"
+
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
+msgstr "Ανάγλυφο"
+
+#: Pinta.Effects/Effects/OutlineEffect.cs:29
+msgid "Outline"
+msgstr "Εξωτερικό περίγραμμα"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
+msgstr "Τυχαίος Θόρυβος"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "ετικέττα1"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "ετικέττα"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
-msgstr "Ανοχή"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr ""
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
 msgstr ""
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
 msgstr ""
 
 #: Pinta.Tools/TextTool.cs:37
@@ -549,42 +756,34 @@ msgid ""
 "color."
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:131
+#: Pinta.Tools/TextTool.cs:144
 msgid "Font"
 msgstr "Γραμματοσειρά"
 
-#: Pinta.Tools/TextTool.cs:186
+#: Pinta.Tools/TextTool.cs:205
 msgid "Bold"
 msgstr "Έντονα"
 
-#: Pinta.Tools/TextTool.cs:193
+#: Pinta.Tools/TextTool.cs:212
 msgid "Italic"
 msgstr "Πλάγια"
 
-#: Pinta.Tools/TextTool.cs:201
+#: Pinta.Tools/TextTool.cs:220
 msgid "Underline"
 msgstr "Υπογράμμιση"
 
-#: Pinta.Tools/TextTool.cs:210
+#: Pinta.Tools/TextTool.cs:229
 msgid "Left Align"
 msgstr "Αριστερή στοίχιση"
 
-#: Pinta.Tools/TextTool.cs:219
+#: Pinta.Tools/TextTool.cs:238
 msgid "Center Align"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:227
+#: Pinta.Tools/TextTool.cs:246
 msgid "Right Align"
 msgstr "Δεξιά στοίχιση"
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
-msgstr ""
-
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
-msgstr ""
-
 #: Pinta.Tools/RectangleTool.cs:38
 msgid "Rectangle"
 msgstr "Ορθογώνιο"
@@ -595,653 +794,600 @@ msgid ""
 "shift to constrain to a square."
 msgstr ""
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
-msgstr "Γραμμή"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
+msgstr ""
 
-#: Pinta.Tools/LineCurveTool.cs:44
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
 msgid ""
-"Left click to draw with primary color, right click for secondary color."
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
 msgstr ""
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
 msgstr ""
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
 msgstr ""
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
-msgstr "Γόμα"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
+msgstr ""
 
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
 msgstr ""
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:26
-msgid "Pixelate"
-msgstr "Εικονοστοιχειοποίηση"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
+msgstr ""
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr "Παραμόρφωση"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
+msgstr ""
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
-msgstr "Αφαίρεση Κοκκινίλας Ματιών"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
+msgstr ""
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
-#: Pinta.Effects/Effects/SharpenEffect.cs:34
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
-msgid "Photo"
-msgstr "Φωτογραφία"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
+msgstr "Ανοχή"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
-msgstr "Θόλωμα κίνησης"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
+msgstr "Γραμμή"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
 msgstr ""
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
-msgstr ""
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
+msgstr "Μετακίνηση επιλογής"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
-msgstr "Καλλιτεχνικό"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
+msgstr ""
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
-msgstr "Ακτινικό θόλωμα"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
+msgstr "Ορθογώνια επιλογή"
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
-msgstr "Αναίρεση Εστίασης"
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
+msgstr ""
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
-msgid "Edge Detect"
-msgstr "Εντοπισμός Άκρου"
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
+msgstr ""
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
-#: Pinta.Effects/Effects/EmbossEffect.cs:34
-msgid "Stylize"
-msgstr "Πρόσδοση Ύφους"
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
+msgstr ""
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
-msgstr "Παγωμένο Γυαλί"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
+msgstr "Ελλειψοειδής επιλογή"
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
-msgstr "Ζωγραφική Λαδιού"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
+msgstr ""
 
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
-msgid "Zoom Blur"
-msgstr "Θόλωμα μεγέθυνσης"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
+msgstr "Επιλογή με λάσο"
 
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
-msgid "Polar Inversion"
-msgstr "Πολική Αναστροφή"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
+msgstr ""
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:30
-msgid "Clouds"
-msgstr "Σύννεφα"
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
+msgstr ""
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr "Αποτύπωση"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
+msgstr ""
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
-msgstr "Λάμψη"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
+msgstr "Διαβάθμιση χρώματος"
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
-msgid "Add Noise"
-msgstr "Προσθήκη θορύβου"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
+msgstr ""
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
-msgstr "Θόρυβος"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
+msgstr ""
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
-msgstr "Κατακερμάτιση"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
+msgstr ""
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
-msgstr "Όξυνση"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
+msgstr ""
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
-msgstr "Σκίτσο με μολύβι"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
+msgstr ""
 
-#: Pinta.Effects/Effects/OutlineEffect.cs:29
-msgid "Outline"
-msgstr "Εξωτερικό περίγραμμα"
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
+msgstr ""
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
-msgstr "Θόλωμα Gauss"
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
+msgstr ""
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
-msgstr "Αντανάκλαση Πλακιδίου"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
+msgstr "Τύπος χρώματος"
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
-msgstr "Ανάγλυφο"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
+msgstr ""
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
-msgstr "Εμβάθυνση"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
+msgstr "Μήκος βούρτσας"
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
 msgstr ""
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
-msgstr "Φούσκωμα"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
+msgstr ""
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
-msgstr "Συστροφή"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "Πινέλο"
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
 msgstr ""
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
-msgstr "Μείωση Θορύβου"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
+msgstr ""
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
-msgstr "Φράκταλ Julia"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
+msgstr ""
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
-msgstr "Μέση τιμή"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
-msgstr "Καμπύλες"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
-msgstr "Επίπεδα"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
-msgstr "Αντιστροφή χρωμάτων"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
-msgstr "Δημιουργία πόστερ"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
-msgstr "Ασπρόμαυρο"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
+msgstr ""
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
-msgstr "Απόχρωση / Κορεσμός"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
-msgstr "Σέπια"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
+msgstr ""
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
-msgstr "Φωτεινότητα / αντίθεση"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "Μεγένθυση"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
-msgstr "Ρύθμιση Επιπέδων"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
-msgstr "Ιστόγραμμα Εισόδου"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
+msgstr "Στρογγυλεμένο ορθογώνιο"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
-msgstr "Είσοδος"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
-msgstr "Έξοδος"
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
+msgstr "Ακτίνα"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
-msgstr "Ιστόγραμμα Εξόδου"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
-msgstr "Αυτόματα"
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
-msgstr "Επαναφορά"
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "Επιλογέας Χρώματος"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
-msgstr "Κόκκινο"
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
+msgstr "Αριστερό κλικ πρωτεύον χρώμα.Δεξί κλικ δευτερεύον χρώμα."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
-msgstr "Πράσινο"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
-msgstr "Μπλέ"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
-msgstr "Συνδεμένο"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr "Προηγούμενο εργαλείο"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
-msgstr ""
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
+msgstr "Αλλαγή σε μολύβι"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
-msgstr "RGB"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "Μολύβι"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
-msgstr "Φωτεινότητα"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
+msgstr "Γόμα"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
-msgstr "(256, 256)"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
-msgstr "Κόκκινο  "
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
-msgstr "Μπλέ "
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
-msgstr "Προσθήκη Στρώματος"
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "Απόκρυψη"
 
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
-msgstr "Διαγραφή Στρώματος"
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "Προσάρτηση"
 
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
-msgstr "Αντιγραφή Στρώματος"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "Αυτόματη απόκρυψη"
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
-msgstr "Εισαγωγή απο αρχείο..."
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "Ελεύθερα μετακινούμενη"
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
-msgstr "Οριζόντια Αντιστροφή"
+#: Pinta/Options.cs:486
+msgid "OptionName"
+msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
-msgstr "Κατακόρυφη Αντιστροφή"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "Σε ποσοστό:"
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
-msgstr "Περιστροφή / Ζουμ"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
+msgstr "Σε απόλυτο μέγεθος:"
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
-msgstr "Μετακίνηση Στρώματος Πάνω"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "Πλάτος:"
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
-msgstr "Μετακίνηση Στρώματος Κάτω"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "Εικονοστοιχεία"
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
-msgstr "Άνοιγμα Αρχείου Εικόνας"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "Ύψος:"
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
-msgstr "Εισαγωγή Απο Αρχείο"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "Διατήρηση αναλογίας διαστάσεων"
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
-msgstr "Νέο..."
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "Αγκυροβόληση"
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
-msgstr "Άνοιγμα..."
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "Νέο Μέγεθος Εικόνας          "
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
-msgstr "Άνοιγμα Πρόσφατου"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Ιδιότητες στρώματος"
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
-msgstr "Κλείσιμο"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "Όνομα:"
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
-msgstr "Αποθήκευση"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "Ορατό"
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
-msgstr "Αποθήκευση Ως"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "Διαφάνεια:"
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
-msgstr "Εκτύπωση"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr "Έξοδος"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "_Αρχείο"
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
-msgstr "Νέο"
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "_Επεξεργασία"
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
-msgstr "Άνοιγμα"
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "_Προβολή"
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
-msgstr "Φόντο"
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "Ει_κόνα"
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
-msgstr "Άνοιγμα εικόνας"
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "Επίπε_δα"
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
-msgstr "Σφάλμα"
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "Ε_φέ"
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
-msgstr "Να αποθηκευθούν οι αλλαγές στην εικόνα \"{0}\" πριν ανοίξετε νέα;"
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "Παρά_θυρα"
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
-msgstr "Αρχεία Εικόνων"
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
+msgstr "Εργαλειοθήκες"
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
-msgstr "Όλα τα αρχεία"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "_Βοήθεια"
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
-msgstr "Αποθήκευση αρχείου εικόνας"
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "Εργαλεία"
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
-msgstr "{0} εικόνα ({1})"
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Έγγραφα"
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
-msgstr "Εικόνα OpenRaster (*.ora)"
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "Επίπεδα"
 
-#: Pinta.Core/Actions/FileActions.cs:392
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "Ιστορικό"
+
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
+msgstr ""
+
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
+msgstr ""
+
+#: Pinta/DialogHandlers.cs:139
 #, csharp-format
 msgid "Save the changes to image \"{0}\" before closing?"
 msgstr "Να αποθηκευτούν οι αλλαγές στην εικόνα \"{0}\" πριν την έξοδο;"
 
-#: Pinta.Core/Actions/FileActions.cs:402
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "Αν δε γίνει αποθήκευση, οι αλλαγές θα χαθούν οριστικά."
+
+#: Pinta/DialogHandlers.cs:147
 msgid "Close without saving"
 msgstr "Κλείσιμο χωρίς αποθήκευση"
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
-msgstr "Αλλαγή Μεγέθους"
-
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
-msgstr "Μέγεθος Καμβά"
-
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
-msgstr "Περιστροφή 90° Δεξιόστροφα"
-
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
-msgstr "Περιστροφή 90° Αριστερόστροφα"
-
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
-msgstr "Περιστροφή 180°"
-
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
-msgstr "Ισοπέδωση"
-
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr "Αναίρεση"
-
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
-msgstr "Επαναφορά"
-
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
-msgstr "Αποκοπή"
-
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
-msgstr "Αντιγραφή"
-
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
-msgstr "Επικόλληση"
-
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
-msgstr "Επικόλληση Σε Νέο Στρώμα"
-
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
-msgstr "Επικόλληση Σε Νέα Εικόνα"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
+msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
-msgstr "Διαγραφή Επιλογής"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "Αδιαφάνεια στρώματος"
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
-msgstr "Επιλογή Αρχείου"
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "Μετονομασία Στρώματος"
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
-msgstr "Αντιστροφή Επιλογής"
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "Απόκρυψη Στρώματος"
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
-msgstr "Επιλογή Όλων"
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "Εμφάνιση Στρώματος"
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
-msgstr "Αποεπιλογή"
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
+msgstr "Αρχεία Εικόνων"
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
-msgstr "Μεγέθυνση"
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
-msgstr "Σμίκρυνση"
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
-msgstr "Εστίαση στο Παράθυρο"
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
+msgstr "Αποθήκευση αρχείου εικόνας"
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
-msgstr "Εστίαση στην επιλογή"
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
-msgstr "Πραγματικό μέγεθος"
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
-msgstr "Χάρακες"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
-msgstr "Εικονοστοιχεία"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Έκδοση"
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
-msgstr "Ίντσες"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Άδεια Χρήσης"
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
-msgstr "Εκατοστά"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "Κυκλοφορεί κάτω απο την MIT X11 άδεια χρήσης"
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
-msgstr "Πλήρης Οθόνη"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "Πνευματικά Δικαιώματα"
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
-msgstr "Παράθυρο"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "απο τους συντελεστές του Pinta"
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
-msgstr "Ιστοσελίδα Pinta"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "Τίτλος"
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
-msgstr "Στείλτε αναφορά σφάλματος"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "Διαδρομή"
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
 msgstr ""
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
-msgstr "Γενικά"
-
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
-msgstr "Εργαλείο"
-
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
-msgstr "Πλήκτρο συντόμευσης"
-
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
-msgstr "Antialiasing"
-
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
-msgstr "Αναποδογύρισμα Εικόνας Οριζόντια"
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "Συντελεστές Έκδοσης"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
-msgstr "Αναποδογύρισμα Εικόνας Κάθετα"
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "Προηγούμενοι Συντελεστές"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
-msgstr "Αναποδογύρισμα Στρώματος Οριζόντια"
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst\n"
+"  Petros Kyladitis https://launchpad.net/~multipetros\n"
+"  Psychorat https://launchpad.net/~dougy-giro1\n"
+"  spiros anthis https://launchpad.net/~sugaraddicted\n"
+"  Νιάνιος Ρωμανός https://launchpad.net/~romanos-nianios"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
-msgstr "Αναποδογύρισμα Στρώματος Κάθετα"
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Μεταφράστηκε από:"
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
-msgstr ""
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "Βασίζεται στο Paint.NET"
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
-msgstr ""
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "Γίνεται χρήση εικονιδίων απο:"
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
-msgstr "αντιγραφή"
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "Σχετικά με το Pinta"
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
-msgstr "Στρώμα"
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "Πληροφορίες Έκδοσης"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1420,11 +1566,53 @@ msgstr ""
 "Υπόδειξη: Για καλύτερα αποτελέσματα, χρησημοποιείστε τα εργαλεία επιλογής σε "
 "κάθε μάτι."
 
+#~ msgid "Help"
+#~ msgstr "Βοήθεια"
+
+#~ msgid "Adjustments"
+#~ msgstr "Προσαρμογές"
+
+#~ msgid "Effects"
+#~ msgstr "Εφέ"
+
+#~ msgid "File"
+#~ msgstr "Αρχείο"
+
+#~ msgid "Edit"
+#~ msgstr "Επεξεργασία"
+
+#~ msgid "View"
+#~ msgstr "Προβολή"
+
+#~ msgid "Image"
+#~ msgstr "Εικόνα"
+
 #~ msgid "%"
 #~ msgstr "%"
 
+#~ msgid "Continue without saving"
+#~ msgstr "Να μην γίνει αποθήκευση"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr ""
+#~ "Να αποθηκευτούν οι αλλαγές στην εικόνα \"{0}\" πριν δημιουργήσετε νέα;"
+
 #~ msgid "X :"
 #~ msgstr "X :"
 
 #~ msgid "Y :"
 #~ msgstr "Y :"
+
+#~ msgid "OpenRaster image (*.ora)"
+#~ msgstr "Εικόνα OpenRaster (*.ora)"
+
+#~ msgid "Antialiasing"
+#~ msgstr "Antialiasing"
+
+#~ msgid "RGB\r"
+#~ msgstr "RGB\r"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before opening a new image?"
+#~ msgstr "Να αποθηκευθούν οι αλλαγές στην εικόνα \"{0}\" πριν ανοίξετε νέα;"
diff --git a/po/messages.pot b/po/messages-en_GB.po
similarity index 92%
copy from po/messages.pot
copy to po/messages-en_GB.po
index 8ea8d21..97c4499 100644
--- a/po/messages.pot
+++ b/po/messages-en_GB.po
@@ -1,20 +1,21 @@
-# Pinta Translatable Strings
-# Copyright (C) 2010 Pinta Contributors
-# This file is distributed under the same license as the Pinta package.
-# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+# English (United Kingdom) translation for pinta
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the pinta package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2010.
 #
-#, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
+"Project-Id-Version: pinta\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
 "POT-Creation-Date: 2010-10-31 12:19-0500\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"
+"PO-Revision-Date: 2010-11-04 20:01+0000\n"
+"Last-Translator: nsx98 <Unknown>\n"
+"Language-Team: English (United Kingdom) <en_GB at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
 #: Pinta.Core/Classes/DocumentWorkspace.cs:160
 #: Pinta.Core/Classes/DocumentWorkspace.cs:181
@@ -176,7 +177,7 @@ msgstr ""
 
 #: Pinta.Core/Actions/ViewActions.cs:72
 msgid "Centimeters"
-msgstr ""
+msgstr "Centimetres"
 
 #: Pinta.Core/Actions/ViewActions.cs:73
 msgid "Fullscreen"
@@ -225,8 +226,7 @@ msgid "Move Layer Down"
 msgstr ""
 
 #: Pinta.Core/Actions/LayerActions.cs:74
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
-msgid "Layer Properties"
+msgid "Layer Properties..."
 msgstr ""
 
 #: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
@@ -360,7 +360,7 @@ msgstr ""
 
 #: Pinta.Core/Actions/EditActions.cs:81
 msgid "Set Number of Colors"
-msgstr ""
+msgstr "Set Number of Colours"
 
 #: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
 #: Pinta/MainWindow.cs:569
@@ -403,6 +403,11 @@ msgstr ""
 msgid "GIMP palette (*.gpl)"
 msgstr ""
 
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr ""
+
 #: Pinta.Core/Managers/WorkspaceManager.cs:151
 msgid "Background"
 msgstr ""
@@ -432,7 +437,7 @@ msgstr ""
 
 #: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
 msgid "Invert Colors"
-msgstr ""
+msgstr "Invert Colours"
 
 #: Pinta.Effects/Adjustments/LevelsEffect.cs:24
 msgid "Levels"
@@ -721,12 +726,16 @@ msgstr ""
 msgid "label"
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:146
-msgid "X:"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:154
-msgid "Y:"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
+msgstr ""
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
 msgstr ""
 
 #: Pinta.Tools/PanTool.cs:38
@@ -746,6 +755,8 @@ msgid ""
 "Left click to place cursor, then type desired text. Text color is primary "
 "color."
 msgstr ""
+"Left click to place cursor, then type desired text. Text colour is primary "
+"colour."
 
 #: Pinta.Tools/TextTool.cs:144
 msgid "Font"
@@ -769,7 +780,7 @@ msgstr ""
 
 #: Pinta.Tools/TextTool.cs:238
 msgid "Center Align"
-msgstr ""
+msgstr "Centre Align"
 
 #: Pinta.Tools/TextTool.cs:246
 msgid "Right Align"
@@ -784,6 +795,8 @@ msgid ""
 "Click and drag to draw a rectangle (right click for secondary color). Hold "
 "shift to constrain to a square."
 msgstr ""
+"Click and drag to draw a rectangle (right click for secondary colour). Hold "
+"shift to constrain to a square."
 
 #: Pinta.Tools/FreeformShapeTool.cs:53
 msgid "Freeform Shape"
@@ -794,6 +807,8 @@ msgid ""
 "Left click to draw with primary color, right click to draw with secondary "
 "color."
 msgstr ""
+"Left click to draw with primary colour, right click to draw with secondary "
+"colour."
 
 #: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
 msgid "Fill Style"
@@ -832,8 +847,10 @@ msgid "Line"
 msgstr ""
 
 #: Pinta.Tools/LineCurveTool.cs:44
-msgid "Left click to draw with primary color, right click for secondary color."
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
 msgstr ""
+"Left click to draw with primary colour, right click for secondary colour."
 
 #: Pinta.Tools/MoveSelectionTool.cs:42
 msgid "Move Selection"
@@ -859,7 +876,7 @@ msgstr ""
 
 #: Pinta.Tools/MagicWandTool.cs:54
 msgid "Click to select region of similar color."
-msgstr ""
+msgstr "Click to select region of similar colour."
 
 #: Pinta.Tools/EllipseSelectTool.cs:38
 msgid "Ellipse Select"
@@ -888,6 +905,8 @@ msgid ""
 "Left click to fill a region with the primary color, right click to fill with "
 "the secondary color."
 msgstr ""
+"Left click to fill a region with the primary colour, right click to fill "
+"with the secondary colour."
 
 #: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
 msgid "Gradient"
@@ -925,7 +944,7 @@ msgstr ""
 
 #: Pinta.Tools/GradientTool.cs:202
 msgid "Color Mode"
-msgstr ""
+msgstr "Colour Mode"
 
 #: Pinta.Tools/GradientTool.cs:203
 msgid "Transparency Mode"
@@ -953,11 +972,11 @@ msgstr ""
 
 #: Pinta.Tools/RecolorTool.cs:59
 msgid "Recolor"
-msgstr ""
+msgstr "Recolour"
 
 #: Pinta.Tools/RecolorTool.cs:61
 msgid "Left click to replace the secondary color with the primary color."
-msgstr ""
+msgstr "Left click to replace the secondary colour with the primary colour."
 
 #: Pinta.Tools/Brushes/PlainBrush.cs:38
 msgid "Normal"
@@ -988,6 +1007,8 @@ msgid ""
 "Click and drag to draw an ellipse (right click for secondary color). Hold "
 "shift to constrain to a circle."
 msgstr ""
+"Click and drag to draw an ellipse (right click for secondary colour). Hold "
+"shift to constrain to a circle."
 
 #: Pinta.Tools/CloneStampTool.cs:43
 msgid "Clone Stamp"
@@ -1016,6 +1037,8 @@ msgid ""
 "Click and drag to draw a rounded rectangle (right click for secondary "
 "color). Hold shift to constrain."
 msgstr ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"colour). Hold shift to constrain."
 
 #: Pinta.Tools/RoundedRectangleTool.cs:83
 msgid "Radius"
@@ -1031,11 +1054,12 @@ msgstr ""
 
 #: Pinta.Tools/ColorPickerTool.cs:44
 msgid "Color Picker"
-msgstr ""
+msgstr "Colour Picker"
 
 #: Pinta.Tools/ColorPickerTool.cs:50
 msgid "Left click to set primary color. Right click to set secondary color."
 msgstr ""
+"Left click to set primary colour. Right click to set secondary colour."
 
 #: Pinta.Tools/ColorPickerTool.cs:62
 msgid "After select"
@@ -1070,6 +1094,8 @@ msgid ""
 "Left click to draw freeform, one-pixel wide lines with the primary color, "
 "right click to use the secondary color."
 msgstr ""
+"Left click to draw freeform, one-pixel wide lines with the primary colour, "
+"right click to use the secondary colour."
 
 #: Pinta.Tools/MoveSelectedTool.cs:42
 msgid "Move Selected Pixels"
@@ -1148,6 +1174,10 @@ msgstr ""
 msgid "New Image Size          "
 msgstr ""
 
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr ""
+
 #: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
 msgid "Name:"
 msgstr ""
@@ -1160,7 +1190,11 @@ msgstr ""
 msgid "Opacity:"
 msgstr ""
 
-#: Pinta/MainWindow.cs:448
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr ""
+
+#: Pinta/MainWindow.cs:450
 msgid "_File"
 msgstr ""
 
@@ -1344,6 +1378,10 @@ msgstr ""
 #: Pinta/Dialogs/AboutDialog.cs:120
 msgid "translator-credits"
 msgstr ""
+"This is a dummy translation so that the credits are counted as translated.\n"
+"\n"
+"Launchpad Contributions:\n"
+"  nsx98 https://launchpad.net/~nsx98"
 
 #: Pinta/Dialogs/AboutDialog.cs:123
 msgid "Translated by:"
@@ -1406,11 +1444,11 @@ msgstr ""
 
 #: MotionBlurEffect dialog
 msgid "Center Offset"
-msgstr ""
+msgstr "Centre Offset"
 
 #: OilPaintingEffect dialog
 msgid "Centered"
-msgstr ""
+msgstr "Centred"
 
 #: PencilSketchEffect dialog
 msgid "Coarseness"
@@ -1418,15 +1456,15 @@ msgstr ""
 
 #: AddNoiseEffect dialog
 msgid "Color Range"
-msgstr ""
+msgstr "Colour Range"
 
 #: InkSketchEffect dialog
 msgid "Color Saturation"
-msgstr ""
+msgstr "Colour Saturation"
 
 #: GlowEffect dialog
 msgid "Coloring"
-msgstr ""
+msgstr "Colouring"
 
 #: AddNoiseEffect dialog
 msgid "Contrast"
@@ -1531,7 +1569,9 @@ msgid "Warmth"
 msgstr ""
 
 #: RadialBlurEffect dialog
-msgid "Use low quality for previews, small images, and small angles.  Use high quality for final quality, large images, and large angles."
+msgid ""
+"Use low quality for previews, small images, and small angles.  Use high "
+"quality for final quality, large images, and large angles."
 msgstr ""
 
 #: RedEyeRemoveEffect dialog
diff --git a/po/messages-es.po b/po/messages-es.po
index bc6557e..2bd41b3 100644
--- a/po/messages-es.po
+++ b/po/messages-es.po
@@ -7,560 +7,747 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-10-05 03:39+0000\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2011-01-07 22:06+0000\n"
 "Last-Translator: Fitoschido <Unknown>\n"
 "Language-Team: Spanish <es at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "Acerca de"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "Ventana"
 
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "Pincel"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "Capa"
 
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "_Archivo"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "copiar"
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "_Editar"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "Redimensionar el lienzo"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "_Ver"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr "Herramienta"
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "_Imagen"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr "Atajo de teclado"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "_Capas"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr "Mezclado normal"
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "_Ajustes"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr "Sobreescribir"
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "Efe_ctos"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr "Suavizado habilitado"
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "_Ventana"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr "Suavizado deshabilitado"
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "Ay_uda"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "Redimensionar la imagen"
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
-msgstr ""
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr "Finalizar píxeles"
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "Herramientas"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr "Girar 180º"
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "Paleta"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr "Voltear imagen horizontalmente"
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Documentos"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr "Voltear imagen verticalmente"
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "Capas"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr "Girar 90º a la derecha"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "Historial"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr "Girar 90º a la izquierda"
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "Ocultar"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr "Voltear capa horizontalmente"
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "Acoplable"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr "Voltear capa verticalmente"
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "Flotante"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
+msgstr "General"
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "Ocultar automáticamente"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr "Imagen {0} ({1})"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "Anclar"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr "Recortar según la selección"
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "Contribuidores de esta versión"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr "Redimensionar…"
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "Contribuidores anteriores"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr "Tamaño de lienzo..."
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
-msgstr ""
-"Launchpad Contributions:\n"
-"  Fitoschido https://launchpad.net/~fitoschido\n"
-"  Francisco Camenforte Torres https://launchpad.net/~fct\n"
-"  Jin Valiant https://launchpad.net/~jin-valiant\n"
-"  Jonathan Pobst https://launchpad.net/~jpobst"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr "Voltear horizontalmente"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Traducido por:"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr "Voltear verticalmente"
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "Basado en el trabajo de Paint.NET:"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr "Acoplar"
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "Se usan algunos iconos de:"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr "Ampliar"
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "Acerca de Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr "Reducir"
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "Información de la versión"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr "Ampliar a ventana"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "Título"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr "Ampliar a selección"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Versión"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr "Tamaño real"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "Ruta"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
+msgstr "Barra de herramientas"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Licencia"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr "Cuadrícula de píxeles"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "Publicado bajo licencia MIT X11."
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr "Reglas"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "Copyright"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr "Píxeles"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "de los contribuidores de Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr "Pulgadas"
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
-msgstr "número de hebras que se usarán al renderizar"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr "Centímetros"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "Cambiar tamaño de imagen"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr "Pantalla completa"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "Por porcentaje:"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr "Unidades de regla"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
-msgstr "Por tamaño absoluto:"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr "Añadir nueva capa"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "Anchura:"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr "Eliminar capa"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "píxeles"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr "Duplicar capa"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "Altura:"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr "Combinar las capas hacia abajo"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "Mantener las proporciones"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr "Importar desde archivo..."
+
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr "Girar y zoom"
+
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr "Subir capa"
+
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr "Bajar capa"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
 #: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "Propiedades de capa"
+msgid "Layer Properties..."
+msgstr "Propiedades de capa..."
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "Nombre:"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
+msgstr "Abrir archivo de imagen"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "Visible"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr "Importar desde archivo"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "Opacidad:"
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr "Guardar todo"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "Cambiar tamaño del lienzo"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr "Cerrar todo"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "Anclaje:"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr "Sitio web de Pinta"
+
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
+msgstr "Informar de un fallo"
+
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
+msgstr "Traducir esta aplicación"
+
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "Acerca de"
+
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr "Nuevo..."
+
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
+msgstr "Nueva captura de pantalla..."
+
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
+msgstr "Abrir..."
+
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr "Abrir recientes"
+
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
+msgstr "Cerrar"
+
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
+msgstr "Guardar"
+
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
+msgstr "Guardar como…"
+
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
+msgstr "Imprimir"
+
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
+msgstr "Salir"
+
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr "Nuevo"
+
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
+msgstr "Abrir"
+
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
+msgstr "Deshacer"
+
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
+msgstr "Rehacer"
+
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
+msgstr "Cortar"
+
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
+msgstr "Copiar"
+
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
+msgstr "Pegar"
+
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
+msgstr "Pegar en una capa nueva"
+
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
+msgstr "Pegar en una imagen nueva"
+
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
+msgstr "Borrar selección"
+
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
+msgstr "Rellenar la selección"
+
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
+msgstr "Invertir la selección"
+
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
+msgstr "Seleccionar todo"
+
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
+msgstr "Anular la selección"
+
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
+msgstr "Restablecer valores predeterminados"
+
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
+msgstr "Configurar número de colores"
+
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "Paleta"
+
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
+msgstr "Abrir archivo de paleta"
+
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
+msgstr "Archivos de paletas (*.txt, *.gpl)"
+
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr "Todos los archivos"
+
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
+msgid ""
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
+msgstr ""
+"No se pudo abrir el archivo de paleta: {0}.\n"
+"Verifique que está tratando de abrir un archivo de paleta de GIMP o "
+"Paint.NET válido."
+
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
+msgstr "Error"
+
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
+msgstr "Guardar archivo de paleta"
+
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
+msgstr "Paleta de Paint.NET (*.txt)"
+
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
+msgstr "Paleta de GIMP (*.gpl)"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr "Imagen sin guardar {0}"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
+msgstr "Fondo"
 
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
 msgid "New Image"
-msgstr "Nueva Imagen"
+msgstr "Nueva imagen"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "Nuevo tamaño de imagen          "
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
+msgstr "Abrir imagen"
 
-#: Pinta/DialogHandlers.cs:57
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
 #, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
-msgstr "¿Guardar los cambios en la imagen \"{0}\" antes de crear otra?"
+msgid "Could not open file: {0}"
+msgstr "No se pudo abrir el archivo: {0}"
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr "Si no guarda los cambios, éstos se perderán permanentemente."
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
+msgstr "Efecto de renderizado"
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "Continuar sin guardar"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
+msgstr "Posterizar"
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "Opacidad de la capa"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
+msgstr "Invertir colores"
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "Renombrar capa"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
+msgstr "Niveles"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "Ocultar Capa"
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
+msgstr "Blanco y negro"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "Mostrar Capa"
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
+msgstr "Autonivel"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
-msgstr "etiqueta1"
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
+msgstr "Matiz y saturación"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "etiqueta"
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
+msgstr "Brillo y contraste"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
-msgstr "Ruido aleatorio"
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
+msgstr "Sepia"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
-msgstr "Reiniciar semilla"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
+msgstr "Curvas"
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
-msgstr "Selector de color"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
+msgstr "Mapa de transferencia"
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
-msgstr ""
-"Haga clic con el botón izquierdo para establecer el color primario. Haga "
-"clic con el botón derecho para establecer el color secundario."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
+msgstr "RGB"
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
-msgstr "Tras selección"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
+msgstr "Luminosidad"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
-msgstr "No cambiar herramienta"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
+msgstr "(256, 256)"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
-msgstr "Usar herramienta anterior"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
+msgstr "Rojo  "
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
-msgstr "Usar lápiz"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
+msgstr "Verde"
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
-msgstr "Lápiz"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
+msgstr "Azul "
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
-msgstr "Selección con lazo"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
+msgstr "Restablecer"
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
-msgstr "Seleccione y arrastre el contorno para seleccionar un área."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
+msgstr "Consejo: Haga clic secundario para eliminar los puntos de control."
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
-msgstr "Zoom"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
+msgstr "Ajuste de niveles"
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
-msgstr ""
-"Haga clic con el botón izquierdo para ampliar o con el botón derecho para "
-"reducir. Haga clic y arrastre para hacer zoom en la selección."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
+msgstr "Histograma de entrada"
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
-msgstr "Grosor del pincel"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
+msgstr "Entrada"
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
-msgstr "Reducir grosor del pincel"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
+msgstr "Salida"
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
-msgstr "Aumentar grosor del pincel"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
+msgstr "Histograma de salida"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
-msgstr "Perfilar forma"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
+msgstr "Automático"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
-msgstr "Rellenar forma"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
+msgstr "Rojo"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
-msgstr "Rellenar y perfilar forma"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
+msgstr "Azul"
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
-msgstr "Desplazar píxeles seleccionados"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
+msgstr "Vinculado"
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
-msgstr "Arrastre la selección para desplazar el contenido."
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
+msgstr "Boceto a lápiz"
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
-msgstr "Desplazamiento"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
+msgstr "Artístico"
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
-msgstr "Haga clic y arrastre para desplazarse por la imagen."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
+msgstr "Desenfocar"
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
-msgstr ""
-"Clic con botón izquierdo para dibujar libremente líneas de un píxel de "
-"grosor con color primario, clic con botón derecho para usar color secundario."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
+msgstr "Difuminados"
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
-msgstr "Selección elíptica"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
+msgstr "Abultar"
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
-msgstr ""
-"Haga clic y arrastre para dibujar una selección elíptica. Mantenga pulsada "
-"la tecla Mayús si desea que la forma sea un círculo."
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
+msgstr "Distorsión"
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
-msgstr "Gradiente"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
+msgstr "Fractal de Mandelbrot"
 
-#: Pinta.Tools/GradientTool.cs:60
-msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
-msgstr ""
-"Haga clic y arrastre para dibujar un gradiente del color primario al "
-"secundario. Haga clic con el botón derecho para realizar la operación a la "
-"inversa."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
+msgstr "Renderizar"
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
-msgstr "Gradiente lineal"
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
+msgstr "Mediana"
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
-msgstr "Gradiente lineal reflejado"
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
+msgstr "Ruido"
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
-msgstr "Gradiente lineal en diamante"
+#: Pinta.Effects/Effects/PixelateEffect.cs:26
+msgid "Pixelate"
+msgstr "Pixelar"
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
-msgstr "Gradiente radial"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
+msgstr "Nítido"
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
-msgstr "Gradiente cónico"
+#: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
+msgid "Photo"
+msgstr "Fotografía"
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
-msgstr "Modo de color"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
+msgstr "Pintura al óleo"
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
-msgstr "Modo de transparencia"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
+msgstr "Difuminado gaussiano"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
-msgstr "Rectángulo redondeado"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
+msgstr "Brillo"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
-msgstr ""
-"Haga clic y arrastre para dibujar un rectángulo redondeado (con el botón "
-"derecho para usar el color secundario). Mantenga pulsada la tecla Mayús si "
-"desea que la forma sea un cuadrado."
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
+msgstr "Suavizado de retrato"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
-msgstr "Radio"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
+msgstr "Reflejo en mosaico"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
-msgstr "Reducir radio de la esquina del rectángulo"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr "Quitar ojos rojos"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
-msgstr "Aumentar radio de la esquina del rectángulo"
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
+msgstr "Cristal congelado"
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
-msgstr ""
-"Haga clic con el botón izquierdo para dibujar con el color primario, o bien "
-"con el botón derecho para dibujar con el color secundario."
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
+msgid "Edge Detect"
+msgstr "Detección de bordes"
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
-msgstr "Selección rectangular"
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
+#: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
+msgid "Stylize"
+msgstr "Estilizado"
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
-msgstr ""
-"Haga clic y arrastre para dibujar una selección rectangular. Mantenga "
-"pulsada la tecla Mayús si desea que la forma sea un cuadrado."
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
+msgstr "Fractal de Julia"
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
-msgstr "Cubo de pintura"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr "Difuminado de movimiento"
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
-msgstr ""
-"Haga clic con botón izquierdo para rellenar una región con el color "
-"primario, con el botón derecho para usar el color secundario."
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr "Realce"
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
-msgstr "Tampón de clonación"
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
+msgstr "Boceto en tinta"
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
-msgstr "Mover selección"
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
+msgid "Zoom Blur"
+msgstr "Difuminado de zoom"
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
-msgstr "Arrastre la selección para mover su contorno."
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
+msgid "Polar Inversion"
+msgstr "Inversión polar"
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
-msgstr "Forma libre"
+#: Pinta.Effects/Effects/CloudsEffect.cs:30
+msgid "Clouds"
+msgstr "Nubes"
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
-msgstr "Modo de relleno"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
+msgstr "Fragmento"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
-msgstr "Contigua"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr "Reducir ruido"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
-msgstr "Global"
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr "Difuminado radial"
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
-msgstr "Tolerancia"
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
+msgstr "Giro"
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
-msgstr "Elipse"
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
+msgid "Add Noise"
+msgstr "Añadir ruido"
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
-msgstr ""
-"Haga clic y arrastre para dibujar una elipse (con el botón derecho para usar "
-"el color secundario). Mantenga pulsada la tecla Mayús si desea que la forma "
-"sea un círculo."
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
+msgstr "Relieve"
+
+#: Pinta.Effects/Effects/OutlineEffect.cs:29
+msgid "Outline"
+msgstr "Contorno"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
+msgstr "Ruido aleatorio"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
+msgstr "Reiniciar semilla"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "etiqueta1"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "etiqueta"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
+msgstr "Elegir color primario"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
+msgstr "Elegir color secundario"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr "Elegir colores de paleta"
+
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
+msgstr "Desplazamiento"
+
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
+msgstr "Haga clic y arrastre para desplazarse por la imagen."
 
 #: Pinta.Tools/TextTool.cs:37
 msgid "Text"
@@ -574,42 +761,34 @@ msgstr ""
 "Haga clic con botón izquierdo para color el cursor, después teclee el texto. "
 "El color del texto será el primario."
 
-#: Pinta.Tools/TextTool.cs:131
+#: Pinta.Tools/TextTool.cs:144
 msgid "Font"
 msgstr "Fuente"
 
-#: Pinta.Tools/TextTool.cs:186
+#: Pinta.Tools/TextTool.cs:205
 msgid "Bold"
 msgstr "Negrita"
 
-#: Pinta.Tools/TextTool.cs:193
+#: Pinta.Tools/TextTool.cs:212
 msgid "Italic"
 msgstr "Cursiva"
 
-#: Pinta.Tools/TextTool.cs:201
+#: Pinta.Tools/TextTool.cs:220
 msgid "Underline"
 msgstr "Subrayado"
 
-#: Pinta.Tools/TextTool.cs:210
+#: Pinta.Tools/TextTool.cs:229
 msgid "Left Align"
 msgstr "Alinear a la izquierda"
 
-#: Pinta.Tools/TextTool.cs:219
+#: Pinta.Tools/TextTool.cs:238
 msgid "Center Align"
 msgstr "Centrar texto"
 
-#: Pinta.Tools/TextTool.cs:227
+#: Pinta.Tools/TextTool.cs:246
 msgid "Right Align"
 msgstr "Alinear a la derecha"
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
-msgstr "Selección con varita mágica"
-
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
-msgstr "Haga clic para seleccionar una región de un color similar."
-
 #: Pinta.Tools/RectangleTool.cs:38
 msgid "Rectangle"
 msgstr "Rectángulo"
@@ -623,657 +802,628 @@ msgstr ""
 "usar el color secundario). Mantenga pulsada la tecla Mayús si desea que la "
 "forma sea un cuadrado."
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
-msgstr "Línea"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
+msgstr "Forma libre"
 
-#: Pinta.Tools/LineCurveTool.cs:44
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
 msgid ""
-"Left click to draw with primary color, right click for secondary color."
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
 msgstr ""
 "Haga clic con el botón izquierdo para dibujar con el color primario, o bien "
 "con el botón derecho para dibujar con el color secundario."
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
-msgstr "Recolorear"
-
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
-msgstr ""
-"Haga clic con el botón izquierdo para reemplazar el color secundario por el "
-"primario."
-
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
-msgstr "Goma de borrar"
-
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
-msgstr "Haga clic y arrastre para borrar una parte de la imagen."
-
-#: Pinta.Effects/Effects/PixelateEffect.cs:26
-msgid "Pixelate"
-msgstr "Pixelar"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
+msgstr "Estilo de llenado"
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr "Distorsión"
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
-msgstr "Quitar ojos rojos"
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
-#: Pinta.Effects/Effects/SharpenEffect.cs:34
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
-msgid "Photo"
-msgstr "Fotografía"
-
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
-msgstr "Difuminado de movimiento"
-
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
-msgstr "Difuminados"
-
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
-msgstr "Boceto en tinta"
-
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
-msgstr "Artístico"
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
+msgstr "Perfilar forma"
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
-msgstr "Difuminado radial"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
+msgstr "Rellenar forma"
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
-msgstr "Desenfocar"
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
+msgstr "Rellenar y perfilar forma"
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
-msgid "Edge Detect"
-msgstr "Detección de bordes"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
+msgstr "Modo de llenado"
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
-#: Pinta.Effects/Effects/EmbossEffect.cs:34
-msgid "Stylize"
-msgstr "Estilizado"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
+msgstr "Contigua"
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
-msgstr "Cristal congelado"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
+msgstr "Global"
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
-msgstr "Pintura al óleo"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
+msgstr "Tolerancia"
 
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
-msgid "Zoom Blur"
-msgstr "Difuminado de zoom"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
+msgstr "Línea"
 
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
-msgid "Polar Inversion"
-msgstr "Inversión polar"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
+msgstr ""
+"Haga clic con el botón izquierdo para dibujar con el color primario, o bien "
+"con el botón derecho para dibujar con el color secundario."
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:30
-msgid "Clouds"
-msgstr "Nubes"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
+msgstr "Mover selección"
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr "Renderizar"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
+msgstr "Arrastre la selección para mover su contorno."
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
-msgstr "Brillo"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
+msgstr "Selección rectangular"
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
-msgid "Add Noise"
-msgstr "Añadir ruido"
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
+msgstr ""
+"Haga clic y arrastre para dibujar una selección rectangular. Mantenga "
+"pulsada la tecla Mayús si desea que la forma sea un cuadrado."
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
-msgstr "Ruido"
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
+msgstr "Selección con varita mágica"
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
-msgstr "Fragmento"
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
+msgstr "Haga clic para seleccionar una región de un color similar."
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
-msgstr "Nítido"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
+msgstr "Selección elíptica"
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
-msgstr "Boceto a lápiz"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
+msgstr ""
+"Haga clic y arrastre para dibujar una selección elíptica. Mantenga pulsada "
+"la tecla Mayús si desea que la forma sea un círculo."
 
-#: Pinta.Effects/Effects/OutlineEffect.cs:29
-msgid "Outline"
-msgstr "Contorno"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
+msgstr "Selección con lazo"
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
-msgstr "Difuminado gaussiano"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
+msgstr "Seleccione y arrastre el contorno para seleccionar un área."
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
-msgstr "Reflejo en mosaico"
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
+msgstr "Cubo de pintura"
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
-msgstr "Relieve"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
+msgstr ""
+"Haga clic con botón izquierdo para rellenar una región con el color "
+"primario, con el botón derecho para usar el color secundario."
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
-msgstr "Realce"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
+msgstr "Gradiente"
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
-msgstr "Fractal de Mandelbrot"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
+msgstr ""
+"Haga clic y arrastre para dibujar un gradiente del color primario al "
+"secundario. Haga clic con el botón derecho para realizar la operación a la "
+"inversa."
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
-msgstr "Abultar"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
+msgstr "Gradiente lineal"
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
-msgstr "Giro"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
+msgstr "Gradiente lineal reflejado"
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
-msgstr "Suavizado de retrato"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
+msgstr "Gradiente lineal en diamante"
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
-msgstr "Reducir ruido"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
+msgstr "Gradiente radial"
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
-msgstr "Fractal de Julia"
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
+msgstr "Gradiente cónico"
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
-msgstr "Mediana"
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
+msgstr "Modo"
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
-msgstr "Curvas"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
+msgstr "Modo de color"
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
-msgstr "Niveles"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
+msgstr "Modo de transparencia"
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
-msgstr "Autonivel"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
+msgstr "Grosor del pincel"
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
-msgstr "Invertir colores"
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
+msgstr "Reducir grosor del pincel"
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
-msgstr "Posterizar"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
+msgstr "Aumentar grosor del pincel"
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
-msgstr "Blanco y negro"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "Pincel"
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
-msgstr "Matiz y saturación"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
+msgstr "Tipo"
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
-msgstr "Sepia"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
+msgstr "Recolorear"
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
-msgstr "Brillo y contraste"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
+msgstr ""
+"Haga clic con el botón izquierdo para reemplazar el color secundario por el "
+"primario."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
-msgstr "Ajuste de niveles"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
+msgstr "Normal"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
-msgstr "Histograma de entrada"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
+msgstr "Círculos"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
-msgstr "Entrada"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
+msgstr "Cuadrados"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
-msgstr "Salida"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
+msgstr "Aerógrafo"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
-msgstr "Histograma de salida"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
+msgstr "Red"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
-msgstr "Automático"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
+msgstr "Elipse"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
-msgstr "Restablecer"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
+msgstr ""
+"Haga clic y arrastre para dibujar una elipse (con el botón derecho para usar "
+"el color secundario). Mantenga pulsada la tecla Mayús si desea que la forma "
+"sea un círculo."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
-msgstr "Rojo"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
+msgstr "Tampón de clonación"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
-msgstr "Verde"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
+msgstr "Ctrl+clic para fijar origen, clic para pintar."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
-msgstr "Azul"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "Zoom"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
-msgstr "Vinculado"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
+msgstr ""
+"Haga clic con el botón izquierdo para ampliar o con el botón derecho para "
+"reducir. Haga clic y arrastre para hacer zoom en la selección."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
-msgstr "Mapa de transferencia"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
+msgstr "Rectángulo redondeado"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
-msgstr "RGB"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
+msgstr ""
+"Haga clic y arrastre para dibujar un rectángulo redondeado (con el botón "
+"derecho para usar el color secundario). Mantenga pulsada la tecla Mayús si "
+"desea que la forma sea un cuadrado."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
-msgstr "Luminosidad"
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
+msgstr "Radio"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
-msgstr "(256, 256)"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
+msgstr "Reducir radio de la esquina del rectángulo"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
-msgstr "Rojo  "
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
+msgstr "Aumentar radio de la esquina del rectángulo"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
-msgstr "Azul "
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "Selector de color"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
 msgstr ""
+"Haga clic con el botón izquierdo para establecer el color primario. Haga "
+"clic con el botón derecho para establecer el color secundario."
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
-msgstr "Añadir nueva capa"
-
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
-msgstr "Borrar capa"
-
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
-msgstr "Duplicar capa"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr "Tras selección"
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
-msgstr "Combinar las capas hacia abajo"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
+msgstr "No cambiar herramienta"
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
-msgstr "Importar desde archivo..."
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr "Usar herramienta anterior"
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
-msgstr "Voltear horizontalmente"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
+msgstr "Usar lápiz"
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
-msgstr "Voltear verticalmente"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "Lápiz"
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
-msgstr "Girar y zoom"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
+msgstr "Goma de borrar"
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
-msgstr "Subir capa"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
+msgstr "Haga clic y arrastre para borrar una parte de la imagen."
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
-msgstr "Bajar capa"
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
+msgstr ""
+"Clic con botón izquierdo para dibujar libremente líneas de un píxel de "
+"grosor con color primario, clic con botón derecho para usar color secundario."
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
-msgstr "Abrir fichero de imagen"
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
+msgstr "Desplazar píxeles seleccionados"
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
-msgstr "Importar desde archivo"
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
+msgstr "Arrastre la selección para desplazar el contenido."
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
-msgstr "Nuevo..."
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "Ocultar"
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
-msgstr "Abrir..."
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "Anclar"
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
-msgstr "Abrir reciente"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "Ocultar automáticamente"
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
-msgstr "Cerrar"
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "Acoplable"
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
-msgstr "Guardar"
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "Flotante"
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
-msgstr "Guardar como…"
+#: Pinta/Options.cs:486
+msgid "OptionName"
+msgstr "OptionName"
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
-msgstr "Imprimir"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "Por porcentaje:"
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr "Salir"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
+msgstr "Por tamaño absoluto:"
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
-msgstr "Nuevo"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "Anchura:"
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
-msgstr "Abrir"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "píxeles"
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
-msgstr "Fondo"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "Altura:"
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
-msgstr "Abrir imagen"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "Mantener las proporciones"
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
-msgstr "No se pudo abrir el fichero: {0}"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "Anclaje:"
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
-msgstr "Error"
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "Nuevo tamaño de imagen          "
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
-msgstr "¿Guardar los cambios en la imagen \"{0}\" antes de abrir otra?"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Propiedades de capa"
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
-msgstr "Ficheros de imagen"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "Nombre:"
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
-msgstr "Todos los ficheros"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "Visible"
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
-msgstr "Guardar fichero de imagen"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "Opacidad:"
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
-msgstr "Imagen {0} ({1})"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr "..."
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
-msgstr "Imagen OpenRaster (*.ora)"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "_Archivo"
 
-#: Pinta.Core/Actions/FileActions.cs:392
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before closing?"
-msgstr "¿Guardar los cambios en la imagen \"{0}\" antes de cerrar?"
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "_Editar"
 
-#: Pinta.Core/Actions/FileActions.cs:402
-msgid "Close without saving"
-msgstr "Cerrar sin guardar"
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "_Ver"
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
-msgstr "Recortar según la selección"
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "_Imagen"
 
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
-msgstr "Cambiar el tamaño..."
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "_Capas"
 
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
-msgstr "Tamaño de lienzo..."
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "A_justes"
 
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
-msgstr "Girar 90º a la derecha"
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "Efe_ctos"
 
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
-msgstr "Girar 90º a la izquierda"
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "_Ventana"
 
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
-msgstr "Girar 180º"
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
+msgstr "Ventanas de herramientas"
 
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
-msgstr "Acoplar"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "Ay_uda"
 
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr "Deshacer"
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "Herramientas"
 
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
-msgstr "Rehacer"
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Documentos"
 
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
-msgstr "Cortar"
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "Capas"
 
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
-msgstr "Copiar"
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "Historial"
 
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
-msgstr "Pegar"
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
+msgstr "Tomar captura de pantalla"
 
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
-msgstr "Pegar en una capa nueva"
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
+msgstr "Tiempo de retraso antes de tomar la captura (segs):"
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
-msgstr "Pegar en una imagen nueva"
+#: Pinta/DialogHandlers.cs:139
+#, csharp-format
+msgid "Save the changes to image \"{0}\" before closing?"
+msgstr "¿Guardar los cambios en la imagen \"{0}\" antes de cerrar?"
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
-msgstr "Borrar selección"
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "Si no guarda los cambios, éstos se perderán permanentemente."
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
-msgstr "Rellenar la selección"
+#: Pinta/DialogHandlers.cs:147
+msgid "Close without saving"
+msgstr "Cerrar sin guardar"
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
-msgstr "Invertir la selección"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
+msgstr "Redimensionar paleta"
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
-msgstr "Seleccionar todo"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
+msgstr "Nuevo tamaño de paleta:"
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
-msgstr "Anular la selección"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "Opacidad de la capa"
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
-msgstr "Ampliar"
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "Renombrar capa"
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
-msgstr "Reducir"
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "Ocultar Capa"
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
-msgstr "Ampliar a ventana"
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "Mostrar Capa"
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
-msgstr "Ampliar a selección"
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
+msgstr "Ficheros de imagen"
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
-msgstr "Tamaño real"
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
+msgstr "Pegado cancelado"
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
-msgstr "Cuadrícula de píxeles"
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
+msgstr "El portapapeles no contiene ninguna imagen"
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
-msgstr "Reglas"
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
+msgstr "Guardar archivo de imagen"
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
-msgstr "Píxeles"
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
+msgstr "Pinta no soporta el guardado de imágenes en este formato."
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
-msgstr "Pulgadas"
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
+msgstr "Un archivo llamado «{0}» ya existe. ¿Desea reemplazarlo?"
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
-msgstr "Centímetros"
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
+msgstr ""
+"El archivo ya existe en «{1}». Al reemplazarlo se sobreescribirá su "
+"contenido."
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
-msgstr "Pantalla completa"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr "número de hebras que se usarán al renderizar"
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
-msgstr "Ventana"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Versión"
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
-msgstr "Página web de Pinta"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Licencia"
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
-msgstr "Informar de un fallo"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "Publicado bajo licencia MIT X11."
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
-msgstr "Traducir esta aplicación"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "Copyright"
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
-msgstr "General"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "de los contribuidores de Pinta"
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
-msgstr "Herramienta"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "Título"
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
-msgstr "Atajo de teclado"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "Ruta"
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
-msgstr "Suavizado"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
+msgstr "Calidad de JPEG"
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
-msgstr "Mezcla normal / Reemplazar"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
+msgstr "Calidad: "
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
-msgstr "Voltear imagen horizontalmente"
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "Contribuidores de esta versión"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
-msgstr "Voltear imagen verticalmente"
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "Contribuidores anteriores"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
-msgstr "Voltear capa horizontalmente"
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Fitoschido https://launchpad.net/~fitoschido\n"
+"  Francisco Camenforte Torres https://launchpad.net/~fct\n"
+"  Jin Valiant https://launchpad.net/~jin-valiant\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
-msgstr "Voltear capa verticalmente"
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Traducido por:"
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
-msgstr "Finalizar píxeles"
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "Basado en el trabajo de Paint.NET:"
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
-msgstr "Efecto de renderizado"
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "Se usan algunos iconos de:"
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
-msgstr "copiar"
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "Acerca de Pinta"
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
-msgstr "Capa"
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "Información de la versión"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1455,18 +1605,71 @@ msgstr ""
 "Consejo: para mejorar el resultado, seleccione primero cada ojo con las "
 "herramientas de selección."
 
+#~ msgid "Help"
+#~ msgstr "Ayuda"
+
+#~ msgid "Adjustments"
+#~ msgstr "Ajustes"
+
+#~ msgid "Effects"
+#~ msgstr "Efectos"
+
+#~ msgid "File"
+#~ msgstr "Fichero"
+
+#~ msgid "Edit"
+#~ msgstr "Edición"
+
+#~ msgid "View"
+#~ msgstr "Ver"
+
+#~ msgid "Image"
+#~ msgstr "Imagen"
+
 #~ msgid "%"
 #~ msgstr "%"
 
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr "¿Guardar los cambios en la imagen \"{0}\" antes de crear otra?"
+
+#~ msgid "OpenRaster image (*.ora)"
+#~ msgstr "Imagen OpenRaster (*.ora)"
+
+#~ msgid "Normal blending / Overwrite blending"
+#~ msgstr "Mezcla normal / Reemplazar"
+
+#~ msgid "Continue without saving"
+#~ msgstr "Continuar sin guardar"
+
+#~ msgid "RGB\r"
+#~ msgstr "RGB\r"
+
 #~ msgid "Tip : Right-click to remove control points."
 #~ msgstr ""
 #~ "Sugerencia: haga clic con el botón derecho para quitar los puntos de control."
 
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before opening a new image?"
+#~ msgstr "¿Guardar los cambios en la imagen \"{0}\" antes de abrir otra?"
+
+#~ msgid "Antialiasing"
+#~ msgstr "Suavizado"
+
 #~ msgid "X :"
 #~ msgstr "X:"
 
 #~ msgid "Y :"
 #~ msgstr "Y:"
 
+#~ msgid "Fill mode"
+#~ msgstr "Modo de relleno"
+
 #~ msgid "Show Pad"
 #~ msgstr "Mostrar panel"
+
+#~ msgid "X:"
+#~ msgstr "X:"
+
+#~ msgid "Y:"
+#~ msgstr "Y:"
diff --git a/po/messages.pot b/po/messages-eu.po
similarity index 69%
copy from po/messages.pot
copy to po/messages-eu.po
index 8ea8d21..9fe8776 100644
--- a/po/messages.pot
+++ b/po/messages-eu.po
@@ -1,383 +1,383 @@
-# Pinta Translatable Strings
-# Copyright (C) 2010 Pinta Contributors
-# This file is distributed under the same license as the Pinta package.
-# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+# Basque translation for pinta
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the pinta package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2010.
 #
-#, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
+"Project-Id-Version: pinta\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
 "POT-Creation-Date: 2010-10-31 12:19-0500\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"
+"PO-Revision-Date: 2010-12-11 22:24+0000\n"
+"Last-Translator: Asier Sarasua Garmendia <Unknown>\n"
+"Language-Team: Basque <eu at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
 #: Pinta.Core/Classes/DocumentWorkspace.cs:160
 #: Pinta.Core/Classes/DocumentWorkspace.cs:181
 #: Pinta.Core/Actions/ViewActions.cs:200
 msgid "Window"
-msgstr ""
+msgstr "Leihoa"
 
 #: Pinta.Core/Classes/Document.cs:299
 msgid "Layer"
-msgstr ""
+msgstr "Geruza"
 
 #: Pinta.Core/Classes/Document.cs:367
 msgid "copy"
-msgstr ""
+msgstr "kopiatu"
 
 #: Pinta.Core/Classes/Document.cs:589
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
 msgid "Resize Canvas"
-msgstr ""
+msgstr "Aldatu oihalaren tamaina"
 
 #: Pinta.Core/Classes/BaseTool.cs:146
 msgid "Tool"
-msgstr ""
+msgstr "Tresna"
 
 #: Pinta.Core/Classes/BaseTool.cs:204
 msgid "Shortcut key"
-msgstr ""
+msgstr "Lasterbide-gakoa"
 
 #: Pinta.Core/Classes/BaseTool.cs:227
 msgid "Normal Blending"
-msgstr ""
+msgstr "Nahaste normala"
 
 #: Pinta.Core/Classes/BaseTool.cs:228
 msgid "Overwrite"
-msgstr ""
+msgstr "Gainidatzi"
 
 #: Pinta.Core/Classes/BaseTool.cs:242
 msgid "Antialiasing On"
-msgstr ""
+msgstr "Antialiasing-a aktibatua"
 
 #: Pinta.Core/Classes/BaseTool.cs:243
 msgid "Antialiasing Off"
-msgstr ""
+msgstr "Antialiasing-a desaktibatua"
 
 #: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
 msgid "Resize Image"
-msgstr ""
+msgstr "Aldatu irudiaren tamaina"
 
 #: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
 msgid "Finish Pixels"
-msgstr ""
+msgstr "Amaitu pixelak"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
 #: Pinta.Core/Actions/ImageActions.cs:65
 msgid "Rotate 180°"
-msgstr ""
+msgstr "Biratu 180º"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
 msgid "Flip Image Horizontal"
-msgstr ""
+msgstr "Irauli irudia horizontalki"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
 msgid "Flip Image Vertical"
-msgstr ""
+msgstr "Irauli irudia bertikalki"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
 #: Pinta.Core/Actions/ImageActions.cs:63
 msgid "Rotate 90° Clockwise"
-msgstr ""
+msgstr "Biratu 90º eskuinetara"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
 #: Pinta.Core/Actions/ImageActions.cs:64
 msgid "Rotate 90° Counter-Clockwise"
-msgstr ""
+msgstr "Biratu 90º ezkerretara"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
 msgid "Flip Layer Horizontal"
-msgstr ""
+msgstr "Irauli geruza horizontalki"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
 msgid "Flip Layer Vertical"
-msgstr ""
+msgstr "Irauli geruza bertikalki"
 
 #: Pinta.Core/Effects/BaseEffect.cs:42
 msgid "General"
-msgstr ""
+msgstr "Orokorra"
 
 #: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
 #, csharp-format
 msgid "{0} image ({1})"
-msgstr ""
+msgstr "{0} irudia ({1})"
 
 #: Pinta.Core/Actions/ImageActions.cs:58
 #: Pinta.Core/Actions/ImageActions.cs:181
 msgid "Crop to Selection"
-msgstr ""
+msgstr "Moztu hautapenera"
 
 #: Pinta.Core/Actions/ImageActions.cs:59
 msgid "Resize..."
-msgstr ""
+msgstr "Aldatu tamaina..."
 
 #: Pinta.Core/Actions/ImageActions.cs:60
 msgid "Canvas Size..."
-msgstr ""
+msgstr "Oihalaren tamaina..."
 
 #: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
 msgid "Flip Horizontal"
-msgstr ""
+msgstr "Irauli horizontalki"
 
 #: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
 msgid "Flip Vertical"
-msgstr ""
+msgstr "Irauli bertikalki"
 
 #: Pinta.Core/Actions/ImageActions.cs:66
 #: Pinta.Core/Actions/ImageActions.cs:127
 msgid "Flatten"
-msgstr ""
+msgstr "Berdindu"
 
 #: Pinta.Core/Actions/ViewActions.cs:62
 msgid "Zoom In"
-msgstr ""
+msgstr "Handiagotu"
 
 #: Pinta.Core/Actions/ViewActions.cs:63
 msgid "Zoom Out"
-msgstr ""
+msgstr "Txikiagotu"
 
 #: Pinta.Core/Actions/ViewActions.cs:64
 msgid "Zoom to Window"
-msgstr ""
+msgstr "Zooma leihora"
 
 #: Pinta.Core/Actions/ViewActions.cs:65
 msgid "Zoom to Selection"
-msgstr ""
+msgstr "Zooma hautapenera"
 
 #: Pinta.Core/Actions/ViewActions.cs:66
 msgid "Actual Size"
-msgstr ""
+msgstr "Uneko tamaina"
 
 #: Pinta.Core/Actions/ViewActions.cs:67
 msgid "Toolbar"
-msgstr ""
+msgstr "Tresna-barra"
 
 #: Pinta.Core/Actions/ViewActions.cs:68
 msgid "Pixel Grid"
-msgstr ""
+msgstr "Pixel-sareta"
 
 #: Pinta.Core/Actions/ViewActions.cs:69
 msgid "Rulers"
-msgstr ""
+msgstr "Erregelak"
 
 #: Pinta.Core/Actions/ViewActions.cs:70
 msgid "Pixels"
-msgstr ""
+msgstr "Pixelak"
 
 #: Pinta.Core/Actions/ViewActions.cs:71
 msgid "Inches"
-msgstr ""
+msgstr "Hazbeteak"
 
 #: Pinta.Core/Actions/ViewActions.cs:72
 msgid "Centimeters"
-msgstr ""
+msgstr "Zentimetroak"
 
 #: Pinta.Core/Actions/ViewActions.cs:73
 msgid "Fullscreen"
-msgstr ""
+msgstr "Pantaila osoa"
 
 #: Pinta.Core/Actions/ViewActions.cs:111
 msgid "Ruler Units"
-msgstr ""
+msgstr "Erregelen unitateak"
 
 #: Pinta.Core/Actions/LayerActions.cs:64
 #: Pinta.Core/Actions/LayerActions.cs:283
 msgid "Add New Layer"
-msgstr ""
+msgstr "Gehitu geruza berria"
 
 #: Pinta.Core/Actions/LayerActions.cs:65
 #: Pinta.Core/Actions/LayerActions.cs:266
 msgid "Delete Layer"
-msgstr ""
+msgstr "Ezabatu geruza"
 
 #: Pinta.Core/Actions/LayerActions.cs:66
 #: Pinta.Core/Actions/LayerActions.cs:257
 msgid "Duplicate Layer"
-msgstr ""
+msgstr "Bikoiztu geruza"
 
 #: Pinta.Core/Actions/LayerActions.cs:67
 #: Pinta.Core/Actions/LayerActions.cs:235
 msgid "Merge Layer Down"
-msgstr ""
+msgstr "Batu geruza beherantz"
 
 #: Pinta.Core/Actions/LayerActions.cs:68
 msgid "Import from File..."
-msgstr ""
+msgstr "Inportatu fitxategitik..."
 
 #: Pinta.Core/Actions/LayerActions.cs:71
 msgid "Rotate / Zoom"
-msgstr ""
+msgstr "Biratu / Zooma"
 
 #: Pinta.Core/Actions/LayerActions.cs:72
 #: Pinta.Core/Actions/LayerActions.cs:213
 msgid "Move Layer Up"
-msgstr ""
+msgstr "Mugitu geruza gora"
 
 #: Pinta.Core/Actions/LayerActions.cs:73
 #: Pinta.Core/Actions/LayerActions.cs:224
 msgid "Move Layer Down"
-msgstr ""
+msgstr "Mugitu geruza behera"
 
 #: Pinta.Core/Actions/LayerActions.cs:74
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
-msgid "Layer Properties"
-msgstr ""
+msgid "Layer Properties..."
+msgstr "Geruzaren propietateak..."
 
 #: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
 msgid "Open Image File"
-msgstr ""
+msgstr "Ireki irudi-fitxategia"
 
 #: Pinta.Core/Actions/LayerActions.cs:179
 msgid "Import From File"
-msgstr ""
+msgstr "Inportatu fitxategitik"
 
 #: Pinta.Core/Actions/WindowActions.cs:45
 msgid "Save All"
-msgstr ""
+msgstr "Gorde dena"
 
 #: Pinta.Core/Actions/WindowActions.cs:46
 msgid "Close All"
-msgstr ""
+msgstr "Itxi dena"
 
 #: Pinta.Core/Actions/HelpActions.cs:50
 msgid "Pinta Website"
-msgstr ""
+msgstr "Pinta-ren webgunea"
 
 #: Pinta.Core/Actions/HelpActions.cs:51
 msgid "File a Bug"
-msgstr ""
+msgstr "Jakinarazi akatsa"
 
 #: Pinta.Core/Actions/HelpActions.cs:52
 msgid "Translate This Application"
-msgstr ""
+msgstr "Itzuli aplikazio hau"
 
 #: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
 msgid "About"
-msgstr ""
+msgstr "Honi buruz"
 
 #: Pinta.Core/Actions/FileActions.cs:54
 msgid "New..."
-msgstr ""
+msgstr "Berria..."
 
 #: Pinta.Core/Actions/FileActions.cs:55
 msgid "New Screenshot..."
-msgstr ""
+msgstr "Pantaila-argazki berria..."
 
 #: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
 msgid "Open..."
-msgstr ""
+msgstr "Ireki..."
 
 #: Pinta.Core/Actions/FileActions.cs:57
 msgid "Open Recent"
-msgstr ""
+msgstr "Ireki azkenak"
 
 #: Pinta.Core/Actions/FileActions.cs:64
 msgid "Close"
-msgstr ""
+msgstr "Itxi"
 
 #: Pinta.Core/Actions/FileActions.cs:65
 msgid "Save"
-msgstr ""
+msgstr "Gorde"
 
 #: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
 msgid "Save As..."
-msgstr ""
+msgstr "Gorde honela..."
 
 #: Pinta.Core/Actions/FileActions.cs:67
 msgid "Print"
-msgstr ""
+msgstr "Inprimatu"
 
 #: Pinta.Core/Actions/FileActions.cs:68
 msgid "Quit"
-msgstr ""
+msgstr "Irten"
 
 #: Pinta.Core/Actions/FileActions.cs:70
 msgid "New"
-msgstr ""
+msgstr "Berria"
 
 #: Pinta.Core/Actions/FileActions.cs:71
 msgid "Open"
-msgstr ""
+msgstr "Ireki"
 
 #: Pinta.Core/Actions/EditActions.cs:65
 msgid "Undo"
-msgstr ""
+msgstr "Desegin"
 
 #: Pinta.Core/Actions/EditActions.cs:66
 msgid "Redo"
-msgstr ""
+msgstr "Berregin"
 
 #: Pinta.Core/Actions/EditActions.cs:67
 msgid "Cut"
-msgstr ""
+msgstr "Moztu"
 
 #: Pinta.Core/Actions/EditActions.cs:68
 msgid "Copy"
-msgstr ""
+msgstr "Kopiatu"
 
 #: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
 msgid "Paste"
-msgstr ""
+msgstr "Itsatsi"
 
 #: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
 msgid "Paste Into New Layer"
-msgstr ""
+msgstr "Itsatsi geruza berrian"
 
 #: Pinta.Core/Actions/EditActions.cs:71
 msgid "Paste Into New Image"
-msgstr ""
+msgstr "Itsatsi irudi berrian"
 
 #: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
 #: Pinta.Core/Actions/EditActions.cs:296
 msgid "Erase Selection"
-msgstr ""
+msgstr "Ezabatu hautapena"
 
 #: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
 msgid "Fill Selection"
-msgstr ""
+msgstr "Bete hautapena"
 
 #: Pinta.Core/Actions/EditActions.cs:74
 msgid "Invert Selection"
-msgstr ""
+msgstr "Alderantzikatu hautapena"
 
 #: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
 msgid "Select All"
-msgstr ""
+msgstr "Hautatu dena"
 
 #: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
 msgid "Deselect"
-msgstr ""
+msgstr "Desautatu"
 
 #: Pinta.Core/Actions/EditActions.cs:80
 msgid "Reset to Default"
-msgstr ""
+msgstr "Berrezarri lehenetsia"
 
 #: Pinta.Core/Actions/EditActions.cs:81
 msgid "Set Number of Colors"
-msgstr ""
+msgstr "Ezarri kolore-kopurua"
 
 #: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
 #: Pinta/MainWindow.cs:569
 msgid "Palette"
-msgstr ""
+msgstr "Paleta"
 
 #: Pinta.Core/Actions/EditActions.cs:313
 msgid "Open Palette File"
-msgstr ""
+msgstr "Ireki paleta-fitxategia"
 
 #: Pinta.Core/Actions/EditActions.cs:320
 msgid "Palette files (*.txt, *.gpl)"
-msgstr ""
+msgstr "Paleta-fitxategiak (*.txt, *.gpl)"
 
 #: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
 msgid "All files"
-msgstr ""
+msgstr "Fitxategi guztiak"
 
 #: Pinta.Core/Actions/EditActions.cs:340
 #, csharp-format
@@ -385,171 +385,180 @@ msgid ""
 "Could not open palette file: {0}.\n"
 "Please verify that you are trying to open a valid GIMP or Paint.NET palette."
 msgstr ""
+"Ezin izan da paleta-fitxategia ireki: {0}.\n"
+"Egiaztatu benetan GIMPen edo Paint.NETen paleta bat irekitzen saiatzen ari "
+"zarela."
 
 #: Pinta.Core/Actions/EditActions.cs:341
 #: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
 msgid "Error"
-msgstr ""
+msgstr "Errorea"
 
 #: Pinta.Core/Actions/EditActions.cs:353
 msgid "Save Palette File"
-msgstr ""
+msgstr "Gorde paleta-fitxategia"
 
 #: Pinta.Core/Actions/EditActions.cs:359
 msgid "Paint.NET palette (*.txt)"
-msgstr ""
+msgstr "Paint.NET paleta (*.txt)"
 
 #: Pinta.Core/Actions/EditActions.cs:364
 msgid "GIMP palette (*.gpl)"
-msgstr ""
+msgstr "GIMP paleta (*.gpl)"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr "Gorde gabeko {0} irudia"
 
 #: Pinta.Core/Managers/WorkspaceManager.cs:151
 msgid "Background"
-msgstr ""
+msgstr "Atzeko planoa"
 
 #: Pinta.Core/Managers/WorkspaceManager.cs:158
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
 msgid "New Image"
-msgstr ""
+msgstr "Irudi berria"
 
 #: Pinta.Core/Managers/WorkspaceManager.cs:176
 msgid "Open Image"
-msgstr ""
+msgstr "Ireki irudia"
 
 #: Pinta.Core/Managers/WorkspaceManager.cs:183
 #, csharp-format
 msgid "Could not open file: {0}"
-msgstr ""
+msgstr "Ezin izan da fitxategia ireki: {0}"
 
 #: Pinta.Core/Managers/LivePreviewManager.cs:220
 msgid "Rendering Effect"
-msgstr ""
+msgstr "Errendatze-efektua"
 
 #: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
 #: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
 msgid "Posterize"
-msgstr ""
+msgstr "Posterizatu"
 
 #: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
 msgid "Invert Colors"
-msgstr ""
+msgstr "Alderantzikatu koloreak"
 
 #: Pinta.Effects/Adjustments/LevelsEffect.cs:24
 msgid "Levels"
-msgstr ""
+msgstr "Mailak"
 
 #: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
 msgid "Black and White"
-msgstr ""
+msgstr "Zuri-beltza"
 
 #: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
 msgid "Auto Level"
-msgstr ""
+msgstr "Maila automatikoa"
 
 #: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
 msgid "Hue / Saturation"
-msgstr ""
+msgstr "Ñabardura / saturazioa"
 
 #: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
 msgid "Brightness / Contrast"
-msgstr ""
+msgstr "Distira / kontrastea"
 
 #: Pinta.Effects/Adjustments/SepiaEffect.cs:27
 msgid "Sepia"
-msgstr ""
+msgstr "Sepia"
 
 #: Pinta.Effects/Adjustments/CurvesEffect.cs:28
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
 msgid "Curves"
-msgstr ""
+msgstr "Kurbak"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
 msgid "Transfer Map"
-msgstr ""
+msgstr "Transferentzia-mapa"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
 msgid "RGB"
-msgstr ""
+msgstr "RGB"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
 msgid "Luminosity"
-msgstr ""
+msgstr "Argitasuna"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
 msgid "(256, 256)"
-msgstr ""
+msgstr "(256, 256)"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
 msgid "Red  "
-msgstr ""
+msgstr "Gorria  "
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
 msgid "Green"
-msgstr ""
+msgstr "Berdea"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
 msgid "Blue "
-msgstr ""
+msgstr "Urdina "
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
 msgid "Reset"
-msgstr ""
+msgstr "Berrezarri"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
 msgid "Tip: Right-click to remove control points."
 msgstr ""
+"Iradokizuna: Egin klik eskuineko botoiarekin kontrol-puntuak kentzeko."
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
 msgid "Levels Adjustment"
-msgstr ""
+msgstr "Mailen doikuntza"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
 msgid "Input Histogram"
-msgstr ""
+msgstr "Sarrerako histograma"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
 msgid "Input"
-msgstr ""
+msgstr "Sarrera"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
 msgid "Output"
-msgstr ""
+msgstr "Irteera"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
 msgid "Output Histogram"
-msgstr ""
+msgstr "Irteerako histograma"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
 msgid "Auto"
-msgstr ""
+msgstr "Automatikoa"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
 msgid "Red"
-msgstr ""
+msgstr "Gorria"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
 msgid "Blue"
-msgstr ""
+msgstr "Urdina"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
 msgid "Linked"
-msgstr ""
+msgstr "Lotua"
 
 #: Pinta.Effects/Effects/PencilSketchEffect.cs:33
 msgid "Pencil Sketch"
-msgstr ""
+msgstr "Arkatz-zirriborroa"
 
 #: Pinta.Effects/Effects/PencilSketchEffect.cs:41
 #: Pinta.Effects/Effects/OilPaintingEffect.cs:34
 #: Pinta.Effects/Effects/InkSketchEffect.cs:42
 msgid "Artistic"
-msgstr ""
+msgstr "Artistikoa"
 
 #: Pinta.Effects/Effects/UnfocusEffect.cs:28
 msgid "Unfocus"
-msgstr ""
+msgstr "Desenfokatu"
 
 #: Pinta.Effects/Effects/UnfocusEffect.cs:36
 #: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
@@ -558,11 +567,11 @@ msgstr ""
 #: Pinta.Effects/Effects/FragmentEffect.cs:34
 #: Pinta.Effects/Effects/RadialBlurEffect.cs:34
 msgid "Blurs"
-msgstr ""
+msgstr "Lausotzeak"
 
 #: Pinta.Effects/Effects/BulgeEffect.cs:26
 msgid "Bulge"
-msgstr ""
+msgstr "Konkortu"
 
 #: Pinta.Effects/Effects/BulgeEffect.cs:34
 #: Pinta.Effects/Effects/PixelateEffect.cs:38
@@ -571,554 +580,587 @@ msgstr ""
 #: Pinta.Effects/Effects/PolarInversionEffect.cs:39
 #: Pinta.Effects/Effects/TwistEffect.cs:34
 msgid "Distort"
-msgstr ""
+msgstr "Distortsioa"
 
 #: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
 msgid "Mandelbrot Fractal"
-msgstr ""
+msgstr "Mandelbrot-en fraktala"
 
 #: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
 #: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
 #: Pinta.Effects/Effects/CloudsEffect.cs:38
 msgid "Render"
-msgstr ""
+msgstr "Errendatu"
 
 #: Pinta.Effects/Effects/MedianEffect.cs:29
 msgid "Median"
-msgstr ""
+msgstr "Mediana"
 
 #: Pinta.Effects/Effects/MedianEffect.cs:37
 #: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
 #: Pinta.Effects/Effects/AddNoiseEffect.cs:38
 msgid "Noise"
-msgstr ""
+msgstr "Zarata"
 
 #: Pinta.Effects/Effects/PixelateEffect.cs:26
 msgid "Pixelate"
-msgstr ""
+msgstr "Pixelatu"
 
 #: Pinta.Effects/Effects/SharpenEffect.cs:26
 msgid "Sharpen"
-msgstr ""
+msgstr "Zorroztu"
 
 #: Pinta.Effects/Effects/SharpenEffect.cs:34
 #: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
 #: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
 msgid "Photo"
-msgstr ""
+msgstr "Argazkia"
 
 #: Pinta.Effects/Effects/OilPaintingEffect.cs:26
 msgid "Oil Painting"
-msgstr ""
+msgstr "Olioz pintatu"
 
 #: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
 msgid "Gaussian Blur"
-msgstr ""
+msgstr "Gauss-en lausotzea"
 
 #: Pinta.Effects/Effects/GlowEffect.cs:31
 msgid "Glow"
-msgstr ""
+msgstr "Dirdira"
 
 #: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
 msgid "Soften Portrait"
-msgstr ""
+msgstr "Erretratu leuna"
 
 #: Pinta.Effects/Effects/TileEffect.cs:26
 msgid "Tile Reflection"
-msgstr ""
+msgstr "Mosaiko-islapena"
 
 #: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
 msgid "Red Eye Removal"
-msgstr ""
+msgstr "Begi gorriak kentzea"
 
 #: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
 msgid "Frosted Glass"
-msgstr ""
+msgstr "Beira izoztua"
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
 msgid "Edge Detect"
-msgstr ""
+msgstr "Ertz-detekzioa"
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
 #: Pinta.Effects/Effects/EmbossEffect.cs:34
 #: Pinta.Effects/Effects/ReliefEffect.cs:33
 #: Pinta.Effects/Effects/OutlineEffect.cs:37
 msgid "Stylize"
-msgstr ""
+msgstr "Estilizatu"
 
 #: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
 msgid "Julia Fractal"
-msgstr ""
+msgstr "Julia-ren fraktala"
 
 #: Pinta.Effects/Effects/MotionBlurEffect.cs:26
 msgid "Motion Blur"
-msgstr ""
+msgstr "Mugimendu-lausotzea"
 
 #: Pinta.Effects/Effects/EmbossEffect.cs:26
 msgid "Emboss"
-msgstr ""
+msgstr "Bozeldu"
 
 #: Pinta.Effects/Effects/InkSketchEffect.cs:34
 msgid "Ink Sketch"
-msgstr ""
+msgstr "Tinta-zirriborroa"
 
 #: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
 msgid "Zoom Blur"
-msgstr ""
+msgstr "Zoom-lausotzea"
 
 #: Pinta.Effects/Effects/PolarInversionEffect.cs:26
 msgid "Polar Inversion"
-msgstr ""
+msgstr "Alderantzikatze polarra"
 
 #: Pinta.Effects/Effects/CloudsEffect.cs:30
 msgid "Clouds"
-msgstr ""
+msgstr "Hodeiak"
 
 #: Pinta.Effects/Effects/FragmentEffect.cs:26
 msgid "Fragment"
-msgstr ""
+msgstr "Zatikatu"
 
 #: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
 msgid "Reduce Noise"
-msgstr ""
+msgstr "Murriztu zarata"
 
 #: Pinta.Effects/Effects/RadialBlurEffect.cs:26
 msgid "Radial Blur"
-msgstr ""
+msgstr "Lausotze erradiala"
 
 #: Pinta.Effects/Effects/TwistEffect.cs:26
 msgid "Twist"
-msgstr ""
+msgstr "Bihurritu"
 
 #: Pinta.Effects/Effects/AddNoiseEffect.cs:30
 msgid "Add Noise"
-msgstr ""
+msgstr "Gehitu zarata"
 
 #: Pinta.Effects/Effects/ReliefEffect.cs:45
 msgid "Relief"
-msgstr ""
+msgstr "Erliebea"
 
 #: Pinta.Effects/Effects/OutlineEffect.cs:29
 msgid "Outline"
-msgstr ""
+msgstr "Eskema sortu"
 
 #: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
 msgid "Random Noise"
-msgstr ""
+msgstr "Ausazko zarata"
 
 #: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
 msgid "Reseed"
-msgstr ""
+msgstr "Hazi berria eman"
 
 #: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
 #: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
 msgid "label1"
-msgstr ""
+msgstr "label1"
 
 #: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
 #: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
 msgid "label"
-msgstr ""
+msgstr "label"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:146
-msgid "X:"
-msgstr ""
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
+msgstr "Hautatu kolore nagusia"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:154
-msgid "Y:"
-msgstr ""
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
+msgstr "Hautatu bigarren mailako kolorea"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr "Hautatu paletako kolorea"
 
 #: Pinta.Tools/PanTool.cs:38
 msgid "Pan"
-msgstr ""
+msgstr "Desplazamendua"
 
 #: Pinta.Tools/PanTool.cs:44
 msgid "Click and drag to navigate image."
-msgstr ""
+msgstr "Egin klik eta arrastatu irudian mugitzeko."
 
 #: Pinta.Tools/TextTool.cs:37
 msgid "Text"
-msgstr ""
+msgstr "Testua"
 
 #: Pinta.Tools/TextTool.cs:44
 msgid ""
 "Left click to place cursor, then type desired text. Text color is primary "
 "color."
 msgstr ""
+"Ezkerreko klik-a kurtsorea kokatzeko, ondoren idatzi textua. Testuaren "
+"kolorea kolore nagusia izango da."
 
 #: Pinta.Tools/TextTool.cs:144
 msgid "Font"
-msgstr ""
+msgstr "Letra-tipoa"
 
 #: Pinta.Tools/TextTool.cs:205
 msgid "Bold"
-msgstr ""
+msgstr "Lodia"
 
 #: Pinta.Tools/TextTool.cs:212
 msgid "Italic"
-msgstr ""
+msgstr "Etzana"
 
 #: Pinta.Tools/TextTool.cs:220
 msgid "Underline"
-msgstr ""
+msgstr "Azpimarratua"
 
 #: Pinta.Tools/TextTool.cs:229
 msgid "Left Align"
-msgstr ""
+msgstr "Ezkerrean lerrokatua"
 
 #: Pinta.Tools/TextTool.cs:238
 msgid "Center Align"
-msgstr ""
+msgstr "Erdian lerrokatua"
 
 #: Pinta.Tools/TextTool.cs:246
 msgid "Right Align"
-msgstr ""
+msgstr "Eskuinean lerrokatua"
 
 #: Pinta.Tools/RectangleTool.cs:38
 msgid "Rectangle"
-msgstr ""
+msgstr "Laukizuzena"
 
 #: Pinta.Tools/RectangleTool.cs:44
 msgid ""
 "Click and drag to draw a rectangle (right click for secondary color). Hold "
 "shift to constrain to a square."
 msgstr ""
+"Egin klik eta arrastatu laukizuzena marrazteko (eskuineko klik-a bigarren "
+"mailako kolorea erabiltzeko). Mantendu Shift sakatuta lauki bat marrazteko."
 
 #: Pinta.Tools/FreeformShapeTool.cs:53
 msgid "Freeform Shape"
-msgstr ""
+msgstr "Forma librea"
 
 #: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
 msgid ""
 "Left click to draw with primary color, right click to draw with secondary "
 "color."
 msgstr ""
+"Ezkerreko klik-a kolore nagusiarekin marrazteko, eskuineko klik-a bigarren "
+"mailako kolorearekin marrazteko."
 
 #: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
 msgid "Fill Style"
-msgstr ""
+msgstr "Betegarriaren estiloa"
 
 #: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
 msgid "Outline Shape"
-msgstr ""
+msgstr "Ingerada"
 
 #: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
 msgid "Fill Shape"
-msgstr ""
+msgstr "Betegarria"
 
 #: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
 msgid "Fill and Outline Shape"
-msgstr ""
+msgstr "Betegarria eta ingerada"
 
 #: Pinta.Tools/FloodTool.cs:72
 msgid "Flood Mode"
-msgstr ""
+msgstr "Betegarri-modua"
 
 #: Pinta.Tools/FloodTool.cs:79
 msgid "Contiguous"
-msgstr ""
+msgstr "Albokoa"
 
 #: Pinta.Tools/FloodTool.cs:80
 msgid "Global"
-msgstr ""
+msgstr "Globala"
 
 #: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
 msgid "Tolerance"
-msgstr ""
+msgstr "Tolerantzia"
 
 #: Pinta.Tools/LineCurveTool.cs:38
 msgid "Line"
-msgstr ""
+msgstr "Lerroa"
 
 #: Pinta.Tools/LineCurveTool.cs:44
-msgid "Left click to draw with primary color, right click for secondary color."
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
 msgstr ""
+"Ezkerreko klik-a kolore nagusiarekin marrazteko, eskuineko klik-a bigarren "
+"mailako kolorea erabilitzeko."
 
 #: Pinta.Tools/MoveSelectionTool.cs:42
 msgid "Move Selection"
-msgstr ""
+msgstr "Mugitu hautapena"
 
 #: Pinta.Tools/MoveSelectionTool.cs:48
 msgid "Drag the selection to move selection outline."
-msgstr ""
+msgstr "Arrastatu hautapena hautapenaren ertza mugitzeko"
 
 #: Pinta.Tools/RectangleSelectTool.cs:38
 msgid "Rectangle Select"
-msgstr ""
+msgstr "Laukizuzen bidezko hautapena"
 
 #: Pinta.Tools/RectangleSelectTool.cs:44
 msgid ""
 "Click and drag to draw a rectangular selection. Hold shift to constrain to a "
 "square."
 msgstr ""
+"Egin klik eta arrastatu laukizuzen-formako hautapena marrazteko. Mantendu "
+"Shift sakatuta laukia egiteko."
 
 #: Pinta.Tools/MagicWandTool.cs:46
 msgid "Magic Wand Select"
-msgstr ""
+msgstr "Makila magikoaren bidezko hautapena"
 
 #: Pinta.Tools/MagicWandTool.cs:54
 msgid "Click to select region of similar color."
-msgstr ""
+msgstr "Egin klik antzeko kolorea duen eskualdea hautatzeko"
 
 #: Pinta.Tools/EllipseSelectTool.cs:38
 msgid "Ellipse Select"
-msgstr ""
+msgstr "Elipse-formako hautapena"
 
 #: Pinta.Tools/EllipseSelectTool.cs:44
 msgid ""
 "Click and drag to draw an elliptical selection. Hold shift to constrain to a "
 "circle."
 msgstr ""
+"Egin klik eta arrastatu hautapen eliptikoa marrazteko. Mantendu Shift "
+"sakatuta zirkulua egiteko."
 
 #: Pinta.Tools/LassoSelectTool.cs:45
 msgid "Lasso Select"
-msgstr ""
+msgstr "Lakio bidezko hautapena"
 
 #: Pinta.Tools/LassoSelectTool.cs:47
 msgid "Click and drag to draw the outline for a selection area."
-msgstr ""
+msgstr "Egin klik eta arrastatu hautapen-arearen ertza marrazteko."
 
 #: Pinta.Tools/PaintBucketTool.cs:40
 msgid "Paint Bucket"
-msgstr ""
+msgstr "Margo-ontzia"
 
 #: Pinta.Tools/PaintBucketTool.cs:46
 msgid ""
 "Left click to fill a region with the primary color, right click to fill with "
 "the secondary color."
 msgstr ""
+"Ezkerreko klik-a eskualde bat kolore nagusiarekin betetzeko, eskuineko klik-"
+"a bigarren mailako kolorearekin betetzeko."
 
 #: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
 msgid "Gradient"
-msgstr ""
+msgstr "Gradientea"
 
 #: Pinta.Tools/GradientTool.cs:73
 msgid ""
 "Click and drag to draw gradient from primary to secondary color.  Right "
 "click to reverse."
 msgstr ""
+"Egin klik eta arrastatu kolore nagusitik bigarren mailako kolorera doan "
+"gradientea marrazteko. Eskuineko klik-a alderantzikatzeko."
 
 #: Pinta.Tools/GradientTool.cs:183
 msgid "Linear Gradient"
-msgstr ""
+msgstr "Gradiente lineala"
 
 #: Pinta.Tools/GradientTool.cs:184
 msgid "Linear Reflected Gradient"
-msgstr ""
+msgstr "Gradiente lineal isladatua"
 
 #: Pinta.Tools/GradientTool.cs:185
 msgid "Linear Diamond Gradient"
-msgstr ""
+msgstr "Diamante-formako gradiente lineala"
 
 #: Pinta.Tools/GradientTool.cs:186
 msgid "Radial Gradient"
-msgstr ""
+msgstr "Gradiente erradiala"
 
 #: Pinta.Tools/GradientTool.cs:187
 msgid "Conical Gradient"
-msgstr ""
+msgstr "Gradiente konikoa"
 
 #: Pinta.Tools/GradientTool.cs:195
 msgid "Mode"
-msgstr ""
+msgstr "Modua"
 
 #: Pinta.Tools/GradientTool.cs:202
 msgid "Color Mode"
-msgstr ""
+msgstr "Kolore-modua"
 
 #: Pinta.Tools/GradientTool.cs:203
 msgid "Transparency Mode"
-msgstr ""
+msgstr "Gardentasun-modua"
 
 #: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
 msgid "Brush width"
-msgstr ""
+msgstr "Brotxaren zabalera"
 
 #: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
 msgid "Decrease brush size"
-msgstr ""
+msgstr "Handitu brotxaren tamaina"
 
 #: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
 msgid "Increase brush size"
-msgstr ""
+msgstr "Txikitu brotxaren tamaina"
 
 #: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
 msgid "Paintbrush"
-msgstr ""
+msgstr "Pintzela"
 
 #: Pinta.Tools/PaintBrushTool.cs:63
 msgid "Type"
-msgstr ""
+msgstr "Mota"
 
 #: Pinta.Tools/RecolorTool.cs:59
 msgid "Recolor"
-msgstr ""
+msgstr "Koloreztatu berriro"
 
 #: Pinta.Tools/RecolorTool.cs:61
 msgid "Left click to replace the secondary color with the primary color."
 msgstr ""
+"Ezkerreko klik-a bigarren mailako kolorea kolore nagusiarekin ordezteko."
 
 #: Pinta.Tools/Brushes/PlainBrush.cs:38
 msgid "Normal"
-msgstr ""
+msgstr "Normala"
 
 #: Pinta.Tools/Brushes/CircleBrush.cs:38
 msgid "Circles"
-msgstr ""
+msgstr "Zirkuluak"
 
 #: Pinta.Tools/Brushes/SquaresBrush.cs:40
 msgid "Squares"
-msgstr ""
+msgstr "Laukiak"
 
 #: Pinta.Tools/Brushes/SplatterBrush.cs:38
 msgid "Splatter"
-msgstr ""
+msgstr "Zipriztinak"
 
 #: Pinta.Tools/Brushes/GridBrush.cs:38
 msgid "Grid"
-msgstr ""
+msgstr "Sareta"
 
 #: Pinta.Tools/EllipseTool.cs:38
 msgid "Ellipse"
-msgstr ""
+msgstr "Elipsea"
 
 #: Pinta.Tools/EllipseTool.cs:44
 msgid ""
 "Click and drag to draw an ellipse (right click for secondary color). Hold "
 "shift to constrain to a circle."
 msgstr ""
+"Egin klik eta arrastatu elipse bat marrazteko (eskuineko klik-a bigarren "
+"mailako kolorea erabiltzeko). Mantendu Shift sakatuta zirkulua egiteko."
 
 #: Pinta.Tools/CloneStampTool.cs:43
 msgid "Clone Stamp"
-msgstr ""
+msgstr "Klonatze-zigilua"
 
 #: Pinta.Tools/CloneStampTool.cs:48
 msgid "Ctrl-left click to set origin, left click to paint."
-msgstr ""
+msgstr "Ctrl-ezkerreko klik jatorria ezartzeko, ezkerreko klik margotzeko."
 
 #: Pinta.Tools/ZoomTool.cs:49
 msgid "Zoom"
-msgstr ""
+msgstr "Zooma"
 
 #: Pinta.Tools/ZoomTool.cs:55
 msgid ""
 "Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
 "selection."
 msgstr ""
+"Ezkerreko klik-a handiagotzeko. Eskuineko klik-a txikiagotzeko. Egin klik "
+"eta arrastatu hautapenera zooma egiteko."
 
 #: Pinta.Tools/RoundedRectangleTool.cs:44
 msgid "Rounded Rectangle"
-msgstr ""
+msgstr "Laukizuzen biribildua"
 
 #: Pinta.Tools/RoundedRectangleTool.cs:50
 msgid ""
 "Click and drag to draw a rounded rectangle (right click for secondary "
 "color). Hold shift to constrain."
 msgstr ""
+"Egin klik eta arrastatu laukizuzen biribildua marrazteko (eskuineko klik-a "
+"bigarren mailako kolorea erabiltzeko). Mantendu Shift sakatuta proportzioak "
+"mantentzeko."
 
 #: Pinta.Tools/RoundedRectangleTool.cs:83
 msgid "Radius"
-msgstr ""
+msgstr "Erradioa"
 
 #: Pinta.Tools/RoundedRectangleTool.cs:88
 msgid "Decrease rectangle's corner radius"
-msgstr ""
+msgstr "Txikitu laukizuzenaren izkinen erradioa"
 
 #: Pinta.Tools/RoundedRectangleTool.cs:102
 msgid "Increase rectangle's corner radius"
-msgstr ""
+msgstr "Handitu laukizuzenaren izkinen erradioa"
 
 #: Pinta.Tools/ColorPickerTool.cs:44
 msgid "Color Picker"
-msgstr ""
+msgstr "Kolore-hautatzailea"
 
 #: Pinta.Tools/ColorPickerTool.cs:50
 msgid "Left click to set primary color. Right click to set secondary color."
 msgstr ""
+"Ezkerreko klik-a kolore nagusia ezartzeko. Eskuineko klik-a bigarren mailako "
+"kolorea ezartzeko."
 
 #: Pinta.Tools/ColorPickerTool.cs:62
 msgid "After select"
-msgstr ""
+msgstr "Hautaketaren ondoren"
 
 #: Pinta.Tools/ColorPickerTool.cs:68
 msgid "Do not switch tool"
-msgstr ""
+msgstr "Ez aldatu tresnaz"
 
 #: Pinta.Tools/ColorPickerTool.cs:68
 msgid "Switch to previous tool"
-msgstr ""
+msgstr "Aldatu aurreko tresnara"
 
 #: Pinta.Tools/ColorPickerTool.cs:68
 msgid "Switch to Pencil tool"
-msgstr ""
+msgstr "Aldatu Arkatza tresnara"
 
 #: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
 msgid "Pencil"
-msgstr ""
+msgstr "Arkatza"
 
 #: Pinta.Tools/EraserTool.cs:45
 msgid "Eraser"
-msgstr ""
+msgstr "Borragoma"
 
 #: Pinta.Tools/EraserTool.cs:47
 msgid "Click and drag to erase a portion of the image."
-msgstr ""
+msgstr "Egin klik eta arrastatu irudiaren zati bat borratzeko."
 
 #: Pinta.Tools/PencilTool.cs:50
 msgid ""
 "Left click to draw freeform, one-pixel wide lines with the primary color, "
 "right click to use the secondary color."
 msgstr ""
+"Ezkerreko klik forma librea marrazteko, pixel bateko zabaleradun lerroak "
+"kolore nagusiarekin, eskuineko klik bigarren mailako kolorea erabiltzeko."
 
 #: Pinta.Tools/MoveSelectedTool.cs:42
 msgid "Move Selected Pixels"
-msgstr ""
+msgstr "Mugitu hautatutako pixelak"
 
 #: Pinta.Tools/MoveSelectedTool.cs:48
 msgid "Drag the selection to move selected content."
-msgstr ""
+msgstr "Arrastatu hautapena hura mugitzeko."
 
 #: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
 msgid "Hide"
-msgstr ""
+msgstr "Ezkutatu"
 
 #: Pinta/DockLibrary/DockItemContainer.cs:190
 msgid "Dock"
-msgstr ""
+msgstr "Atrakea"
 
 #: Pinta/DockLibrary/DockItemContainer.cs:194
 #: Pinta/DockLibrary/DockItem.cs:502
 msgid "Auto Hide"
-msgstr ""
+msgstr "Automatikoki ezkutatu"
 
 #: Pinta/DockLibrary/DockItem.cs:485
 msgid "Dockable"
-msgstr ""
+msgstr "Atrakagarria"
 
 #: Pinta/DockLibrary/DockItem.cs:493
 msgid "Floating"
-msgstr ""
+msgstr "Mugikorra"
 
 #: Pinta/Options.cs:486
 msgid "OptionName"
-msgstr ""
+msgstr "OptionName"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
 msgid "By percentage:"
-msgstr ""
+msgstr "Ehunekoetan:"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
 msgid "By absolute size:"
-msgstr ""
+msgstr "Tamaina absolutuan:"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
 msgid "Width:"
-msgstr ""
+msgstr "Zabalera:"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
@@ -1127,243 +1169,259 @@ msgstr ""
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
 msgid "pixels"
-msgstr ""
+msgstr "pixel"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
 msgid "Height:"
-msgstr ""
+msgstr "Altuera:"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
 msgid "Maintain aspect ratio"
-msgstr ""
+msgstr "Mantendu aspektu-erlazioa"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
 msgid "Anchor:"
-msgstr ""
+msgstr "Ainguratzea:"
 
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
 msgid "New Image Size          "
-msgstr ""
+msgstr "Irudiaren tamaina berria          "
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Geruza-propietateak"
 
 #: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
 msgid "Name:"
-msgstr ""
+msgstr "Izena:"
 
 #: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
 msgid "Visible"
-msgstr ""
+msgstr "Ikusgaia"
 
 #: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
 msgid "Opacity:"
-msgstr ""
+msgstr "Opakutasuna:"
+
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr "..."
 
-#: Pinta/MainWindow.cs:448
+#: Pinta/MainWindow.cs:450
 msgid "_File"
-msgstr ""
+msgstr "_Fitxategia"
 
 #: Pinta/MainWindow.cs:449
 msgid "_Edit"
-msgstr ""
+msgstr "_Editatu"
 
 #: Pinta/MainWindow.cs:451
 msgid "_View"
-msgstr ""
+msgstr "_Ikusi"
 
 #: Pinta/MainWindow.cs:454
 msgid "_Image"
-msgstr ""
+msgstr "I_rudia"
 
 #: Pinta/MainWindow.cs:455
 msgid "_Layers"
-msgstr ""
+msgstr "_Geruzak"
 
 #: Pinta/MainWindow.cs:456
 msgid "_Adjustments"
-msgstr ""
+msgstr "_Doikuntzak"
 
 #: Pinta/MainWindow.cs:457
 msgid "Effe_cts"
-msgstr ""
+msgstr "Efe_ktuak"
 
 #: Pinta/MainWindow.cs:459
 msgid "_Window"
-msgstr ""
+msgstr "Lei_hoa"
 
 #: Pinta/MainWindow.cs:463
 msgid "Tool Windows"
-msgstr ""
+msgstr "Tresna-leihoak"
 
 #: Pinta/MainWindow.cs:467
 msgid "_Help"
-msgstr ""
+msgstr "_Laguntza"
 
 #: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
 msgid "Tools"
-msgstr ""
+msgstr "Tresnak"
 
 #: Pinta/MainWindow.cs:578
 msgid "Documents"
-msgstr ""
+msgstr "Dokumentuak"
 
 #: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
 msgid "Layers"
-msgstr ""
+msgstr "Geruzak"
 
 #: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
 msgid "History"
-msgstr ""
+msgstr "Historia"
 
 #: Pinta/DialogHandlers.cs:99
 msgid "Take Screenshot"
-msgstr ""
+msgstr "Hartu pantaila-argazkia"
 
 #: Pinta/DialogHandlers.cs:100
 msgid "Delay before taking a screenshot (seconds):"
-msgstr ""
+msgstr "Pantaila-argazkia hartzeko atzerapena (segundoak):"
 
 #: Pinta/DialogHandlers.cs:139
 #, csharp-format
 msgid "Save the changes to image \"{0}\" before closing?"
-msgstr ""
+msgstr "Gorde \"{0}\" irudiaren aldaketak itxi baino lehen?"
 
 #: Pinta/DialogHandlers.cs:140
 msgid "If you don't save, all changes will be permanently lost."
-msgstr ""
+msgstr "Gordetzen ez baduzu, aldaketa guztiak betiko galduko dira."
 
 #: Pinta/DialogHandlers.cs:147
 msgid "Close without saving"
-msgstr ""
+msgstr "Itxi gorde gabe"
 
 #: Pinta/DialogHandlers.cs:174
 msgid "Resize Palette"
-msgstr ""
+msgstr "Aldatu paletaren tamaina"
 
 #: Pinta/DialogHandlers.cs:175
 msgid "New palette size:"
-msgstr ""
+msgstr "Paletaren tamaina berria:"
 
 #: Pinta/DialogHandlers.cs:301
 msgid "Layer Opacity"
-msgstr ""
+msgstr "Geruzaren opakutasuna"
 
 #: Pinta/DialogHandlers.cs:306
 msgid "Rename Layer"
-msgstr ""
+msgstr "Aldatu geruzaren izena"
 
 #: Pinta/DialogHandlers.cs:311
 msgid "Hide Layer"
-msgstr ""
+msgstr "Ezkutatu geruza"
 
 #: Pinta/DialogHandlers.cs:311
 msgid "Show Layer"
-msgstr ""
+msgstr "Erakutsi geruza"
 
 #: Pinta/DialogHandlers.cs:404
 msgid "Image files"
-msgstr ""
+msgstr "Irudi-fitxategiak"
 
 #: Pinta/DialogHandlers.cs:461
 msgid "Paste cancelled"
-msgstr ""
+msgstr "Itsastea bertan behera geratu da"
 
 #: Pinta/DialogHandlers.cs:462
 msgid "The clipboard does not contain an image"
-msgstr ""
+msgstr "Arbelean ez dago irudirik"
 
 #: Pinta/DialogHandlers.cs:495
 msgid "Save Image File"
-msgstr ""
+msgstr "Gorde irudi-fitxategia"
 
 #: Pinta/DialogHandlers.cs:575
 msgid "Pinta does not support saving images in this file format."
 msgstr ""
+"Pintak ez du onartzen fitxategi-formatu horretako irudiak gordetzerik."
 
 #: Pinta/DialogHandlers.cs:593
 #, csharp-format
 msgid "A file named \"{0}\" already exists. Do you want to replace it?"
 msgstr ""
+"Jadanik existitzen da \"{0}\" deitutako fitxategi bat. Ordeztu nahi al duzu?"
 
 #: Pinta/DialogHandlers.cs:594
 #, csharp-format
 msgid ""
 "The file already exists in \"{1}\". Replacing it will overwrite its contents."
 msgstr ""
+"Fitxategia jadanik existitzen da \"{1}\"-(e)n. Ordezten baduzu, bere eduki "
+"guztiak gainidatziko dira."
 
 #: Pinta/Main.cs:68
 msgid "number of threads to use for rendering"
-msgstr ""
+msgstr "errendatzerako erabiliko den hari-kopurua"
 
 #: Pinta/Dialogs/AboutPintaTabPage.cs:41
 #: Pinta/Dialogs/VersionInformationTabPage.cs:50
 msgid "Version"
-msgstr ""
+msgstr "Bertsioa"
 
 #: Pinta/Dialogs/AboutPintaTabPage.cs:50
 msgid "License"
-msgstr ""
+msgstr "Lizentzia"
 
 #: Pinta/Dialogs/AboutPintaTabPage.cs:50
 msgid "Released under the MIT X11 License."
-msgstr ""
+msgstr "MIT X11 lizentziapean argitaratua."
 
 #: Pinta/Dialogs/AboutPintaTabPage.cs:57
 msgid "Copyright"
-msgstr ""
+msgstr "Copyright"
 
 #: Pinta/Dialogs/AboutPintaTabPage.cs:57
 msgid "by Pinta contributors"
-msgstr ""
+msgstr "Pintaren garatzaileak"
 
 #: Pinta/Dialogs/VersionInformationTabPage.cs:44
 msgid "Title"
-msgstr ""
+msgstr "Izenburua"
 
 #: Pinta/Dialogs/VersionInformationTabPage.cs:53
 msgid "Path"
-msgstr ""
+msgstr "Bidea"
 
 #: Pinta/Dialogs/JpegCompressionDialog.cs:38
 msgid "JPEG Quality"
-msgstr ""
+msgstr "JPEG kalitatea"
 
 #: Pinta/Dialogs/JpegCompressionDialog.cs:46
 msgid "Quality: "
-msgstr ""
+msgstr "Kalitatea: "
 
 #: Pinta/Dialogs/AboutDialog.cs:101
 msgid "Contributors to this Release"
-msgstr ""
+msgstr "Bertsio honetan lan egin dutenak"
 
 #: Pinta/Dialogs/AboutDialog.cs:111
 msgid "Previous Contributors"
-msgstr ""
+msgstr "Aurretik ekarpenak egin dituztenak"
 
 #: Pinta/Dialogs/AboutDialog.cs:120
 msgid "translator-credits"
 msgstr ""
+"This is a dummy translation so that the credits are counted as translated.\n"
+"\n"
+"Launchpad Contributions:\n"
+"  Asier Sarasua Garmendia https://launchpad.net/~asarasuagarmendia"
 
 #: Pinta/Dialogs/AboutDialog.cs:123
 msgid "Translated by:"
-msgstr ""
+msgstr "Itzulpena:"
 
 #: Pinta/Dialogs/AboutDialog.cs:130
 msgid "Based on the work of Paint.NET:"
-msgstr ""
+msgstr "Paint.NETen lanean oinarritua:"
 
 #: Pinta/Dialogs/AboutDialog.cs:137
 msgid "Using some icons from:"
-msgstr ""
+msgstr "Zenbait ikono hemendik datoz:"
 
 #: Pinta/Dialogs/AboutDialog.cs:249
 msgid "About Pinta"
-msgstr ""
+msgstr "Pintari buruz"
 
 #: Pinta/Dialogs/AboutDialog.cs:267
 msgid "Version Info"
-msgstr ""
+msgstr "Bertsio-informazioa"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1372,7 +1430,7 @@ msgstr ""
 #: SharpenData dialog
 #: MotionBlurEffect dialog
 msgid "Amount"
-msgstr ""
+msgstr "Kantitatea"
 
 #: RadialBlurEffect dialog
 #: JuliaFractalEffect dialog
@@ -1382,158 +1440,171 @@ msgstr ""
 #: ReliefData dialog
 #: TwistEffect dialog
 msgid "Angle"
-msgstr ""
+msgstr "Angelua"
 
 #: CloudsEffect dialog
 msgid "Antialias"
-msgstr ""
+msgstr "Antialias-a"
 
 #: GlowEffect dialog
 msgid "Blend Mode"
-msgstr ""
+msgstr "Nahaste-modua"
 
 #: OilPaintingEffect dialog
 msgid "Brightness"
-msgstr ""
+msgstr "Distira"
 
 #: PixelateData dialog
 msgid "Brush Size"
-msgstr ""
+msgstr "Brotxaren tamaina"
 
 #: PolarInversionEffect dialog
 msgid "Cell Size"
-msgstr ""
+msgstr "Gelaxkaren tamaina"
 
 #: MotionBlurEffect dialog
 msgid "Center Offset"
-msgstr ""
+msgstr "Erdiko desplazamendua"
 
 #: OilPaintingEffect dialog
 msgid "Centered"
-msgstr ""
+msgstr "Zentratua"
 
 #: PencilSketchEffect dialog
 msgid "Coarseness"
-msgstr ""
+msgstr "Ale-tamaina"
 
 #: AddNoiseEffect dialog
 msgid "Color Range"
-msgstr ""
+msgstr "Kolore-barrutia"
 
 #: InkSketchEffect dialog
 msgid "Color Saturation"
-msgstr ""
+msgstr "Kolore-saturazioa"
 
 #: GlowEffect dialog
 msgid "Coloring"
-msgstr ""
+msgstr "Koloratzailea"
 
 #: AddNoiseEffect dialog
 msgid "Contrast"
-msgstr ""
+msgstr "Kontrastea"
 
 #: FragmentEffect dialog
 msgid "Coverage"
-msgstr ""
+msgstr "Estaldura"
 
 #: MotionBlurEffect dialog
 #: PolarInversionEffect dialog
 msgid "Distance"
-msgstr ""
+msgstr "Distantzia"
 
 #: JuliaFractalEffect dialog
 msgid "Edge Behavior"
-msgstr ""
+msgstr "Ertz-portaera"
 
 #: MandelbrotFractalEffect dialog
 #: FragmentEffect dialog
 msgid "Factor"
-msgstr ""
+msgstr "Faktorea"
 
 #: InkSketchEffect dialog
 msgid "Fragments"
-msgstr ""
+msgstr "Zatiak"
 
 #: TileEffect dialog
 msgid "Ink Outline"
-msgstr ""
+msgstr "Tinta-ingerada"
 
 #: AddNoiseEffect dialog
 #: OutlineEffect dialog
 #: MandelbrotFractalEffect dialog
 msgid "Intensity"
-msgstr ""
+msgstr "Intentsitatea"
 
 #: RadialBlurEffect dialog
 msgid "Lighting"
-msgstr ""
+msgstr "Argiztapena"
 
 #: ZoomBlurEffect dialog
 #: BulgeEffect dialog
 #: PencilSketchEffect dialog
 msgid "Offset"
-msgstr ""
+msgstr "Desplazamendua"
 
 #: MedianEffect dialog
 msgid "Pencil Tip Size"
-msgstr ""
+msgstr "Arkatz-puntaren tamaina"
 
 #: CloudsEffect dialog
 msgid "Percentile"
-msgstr ""
+msgstr "Ehunekoa"
 
 #: RadialBlurEffect dialog
 msgid "Power"
-msgstr ""
+msgstr "Energia"
 
 #: PolarInversionEffect dialog
 #: JuliaFractalEffect dialog
 #: MandelbrotFractalEffect dialog
 #: GaussianBlurEffect dialog
 msgid "Quality"
-msgstr ""
+msgstr "Kalitatea"
 
 #: TileEffect dialog
 #: RedEyeRemoveData dialog
 msgid "Rotation"
-msgstr ""
+msgstr "Biraketa"
 
 #: CloudsEffect dialog
 msgid "Saturation percentage"
-msgstr ""
+msgstr "Saturazioaren ehunekoa"
 
 #: CloudsEffect dialog
 msgid "Scale"
-msgstr ""
+msgstr "Eskala"
 
 #: SoftenPortraitData dialog
 msgid "Seed"
-msgstr ""
+msgstr "Hazia"
 
 #: ReduceNoiseEffect dialog
 msgid "Softness"
-msgstr ""
+msgstr "Leuntasuna"
 
 #: OutlineEffect dialog
 msgid "Strength"
-msgstr ""
+msgstr "Sendotasuna"
 
 #: TileEffect dialog
 msgid "Thickness"
-msgstr ""
+msgstr "Lodiera"
 
 #: RedEyeRemoveData dialog
 msgid "Tile Size"
-msgstr ""
+msgstr "Mosaiko-tamaina"
 
 #: JuliaFractalEffect dialog
 msgid "Warmth"
-msgstr ""
+msgstr "Berotasuna"
 
 #: RadialBlurEffect dialog
-msgid "Use low quality for previews, small images, and small angles.  Use high quality for final quality, large images, and large angles."
+msgid ""
+"Use low quality for previews, small images, and small angles.  Use high "
+"quality for final quality, large images, and large angles."
 msgstr ""
+"Erabili kalitate baxua aurrebistetarako, irudi txikietarako eta angelu "
+"txikietarako. Erabili kalitate altua behin-betiko irudietarako, irudi "
+"handietarako eta angelu handietarako."
 
 #: RedEyeRemoveEffect dialog
 msgid "Hint: For best results, first use selection tools to select each eye."
 msgstr ""
+"Argibidea: Emaitza hobeak lortzeko, lehenengo erabili hautapen-tresnak begi "
+"bakoitza hautatzeko."
+
+#~ msgid "X:"
+#~ msgstr "X:"
+
+#~ msgid "Y:"
+#~ msgstr "Y:"
diff --git a/po/messages-fi.po b/po/messages-fi.po
index 98817be..b7fb1cc 100644
--- a/po/messages-fi.po
+++ b/po/messages-fi.po
@@ -7,557 +7,746 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-10-24 19:59+0000\n"
-"Last-Translator: Jarno Ruokamo <Unknown>\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2010-12-12 12:05+0000\n"
+"Last-Translator: Jiri Grönroos <Unknown>\n"
 "Language-Team: Finnish <fi at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "Tietoja"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "Ikkuna"
 
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "Sivellin"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "Taso"
 
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "_Tiedosto"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "kopioi"
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "_Muokkaa"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "Pohjan koko"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "_Näytä"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr "Työkalu"
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "_Kuva"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr "Pikanäppäin"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "T_asot"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr "Normaali sekoitus"
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "_Säädöt"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr "Ylikirjoitus"
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "T_ehosteet"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr "Reunojen pehmennys päällä"
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "_Ikkuna"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr "Reunojen pehmennys pois päältä"
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "_Ohje"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "Muuta kokoa"
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
-msgstr "Työkaluikkunat"
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr "Viimeistele pikselit"
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "Työkalut"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr "Pyöritä 180°"
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "Paletti"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr "Käännä kuva vaakatasossa"
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Dokumentit"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr "Käännä kuva pystytasossa"
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "Tasot"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr "Pyöritä 90° myötäpäivään"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "Historia"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr "Pyöritä 90° vastapäivään"
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "Piilota"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr "Käännä taso vaakatasossa"
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "Telakoitava"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr "Käännä taso pystytasossa"
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "Kelluva"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
+msgstr "Yleiset"
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "Automaattinen piilotus"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr "{0} kuva ({1})"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "Telakka"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr "Rajaa valintaan"
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "Tämän julkaisun tekijät"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr "Muuta kokoa..."
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "Aiemmat tekijät"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr "Pohjan koko..."
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
-msgstr ""
-"Launchpad Contributions:\n"
-"  Jarno Ruokamo https://launchpad.net/~jarno-ruokamo\n"
-"  Jiri Grönroos https://launchpad.net/~jiri-gronroos\n"
-"  Jonathan Pobst https://launchpad.net/~jpobst\n"
-"  Tommi Saira https://launchpad.net/~tommisaira\n"
-"  Urmas https://launchpad.net/~urmas-2006"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr "Käännä vaakatasossa"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Käännöksen tehnyt:"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr "Käännä pystytasossa"
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "Perustuu ohjelmaan Paint.NET:"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr "Yhdistä tasot"
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "Käyttää kuvakkeita kokoelmista:"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr "Suurenna"
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "Tietoja Pintasta"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr "Pienennä"
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "Versiotiedot"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr "Tarkenna ikkunaan"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "Nimi"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr "Tarkenna valintaan"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Versio"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr "Oikea koko"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "Polku"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
+msgstr "Työkalupalkki"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Lisenssi"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr "Pikseliristikko"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "Julkaistaan MIT X11 -lisenssin alaisena."
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr "Viivoitin"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "Tekijänoikeus"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr "Pikseliä"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "Pinta-tekijöiden"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr "Tuumaa"
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
-msgstr "renderointiin käytettävät säikeet"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr "Senttimetriä"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "Muuta kokoa"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr "Koko näyttö"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "Prosentin mukaan:"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr "Mitta-asteikko"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
-msgstr "Koon mukaan:"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr "Uusi taso"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "Leveys:"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr "Poista taso"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "pikseliä"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr "Monista taso"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "Korkeus:"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr "Yhdistä taso alas"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "Säilytä kuvasuhde"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr "Tuo tiedostosta..."
+
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr "Pyöritä / Zoomaa"
+
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr "Siirrä tasoa ylös"
+
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr "Siirrä tasoa alas"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
 #: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "Tason ominaisuudet"
+msgid "Layer Properties..."
+msgstr "Tason ominaisuudet..."
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "Nimi:"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
+msgstr "Avaa kuvatiedosto"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "Näkyvä"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr "Tuo tiedostosta"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "Peittävyys:"
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr "Tallenna kaikki"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "Pohjan koko"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr "Sulje kaikki"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "Ankkuri:"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr "Pintan verkkosivusto"
+
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
+msgstr "Ilmoita virheestä"
+
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
+msgstr "Käännä tämä ohjelma"
+
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "Tietoja"
+
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr "Uusi..."
+
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
+msgstr "Uusi kuvakaappaus..."
+
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
+msgstr "Avaa..."
+
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr "Avaa viimeisin"
+
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
+msgstr "Sulje"
+
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
+msgstr "Tallenna"
+
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
+msgstr "Tallenna nimellä..."
+
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
+msgstr "Tulosta"
 
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
+msgstr "Poistu"
+
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr "Uusi"
+
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
+msgstr "Avaa"
+
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
+msgstr "Kumoa"
+
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
+msgstr "Tee uudelleen"
+
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
+msgstr "Leikkaa"
+
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
+msgstr "Kopioi"
+
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
+msgstr "Liitä"
+
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
+msgstr "Liitä uuteen tasoon"
+
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
+msgstr "Liitä uuteen kuvaan"
+
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
+msgstr "Poista valinta"
+
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
+msgstr "Täytä valinta"
+
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
+msgstr "Käännä valinta"
+
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
+msgstr "Valitse kaikki"
+
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
+msgstr "Poista valinta"
+
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
+msgstr "Palauta oletus"
+
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
+msgstr "Aseta värien määrä"
+
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "Paletti"
+
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
+msgstr "Avaa palettitiedosto"
+
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
+msgstr "Palettitiedostot (*.txt, *.gpl)"
+
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr "Kaikki tiedostot"
+
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
+msgid ""
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
+msgstr ""
+"Palettia ei voitu avata: {0}\n"
+"Varmista että tiedosto jota yrität avata on joko GIMP tai Paint.NET paletti."
+
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
+msgstr "Virhe"
+
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
+msgstr "Tallenna palettitiedosto"
+
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
+msgstr "Paint.NET paletti (*.txt)"
+
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
+msgstr "GIMP paletti (*.gpl)"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr "Tallentamaton kuva {0}"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
+msgstr "Tausta"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
 msgid "New Image"
 msgstr "Uusi kuva"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "Uusi koko          "
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
+msgstr "Avaa kuva"
 
-#: Pinta/DialogHandlers.cs:57
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
 #, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
-msgstr "Tallennetanko muutokset kuvaan \"{0}\" ennen uuden luontia?"
+msgid "Could not open file: {0}"
+msgstr "Tiedostoa ei voitu avata: {0}"
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr "Jos tallennusta ei tehdä, kaikki muutokset häviävät lopullisesti."
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
+msgstr "Renderointi"
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "Jatka ilman tallennusta"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
+msgstr "Porrasta"
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "Tason peittävyys"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
+msgstr "Käännä värit"
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "Nimeä taso uudelleen"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
+msgstr "Sävyala"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "Piilota taso"
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
+msgstr "Mustavalkoinen"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "Näytä taso"
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
+msgstr "Automaattinen taso"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
-msgstr "label1"
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
+msgstr "Sävy / Värikylläisyys"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "label"
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
+msgstr "Kirkkaus / Kontrasti"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
-msgstr "Satunnainen kohina"
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
+msgstr "Seepia"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
-msgstr "Uusi siemen"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
+msgstr "Käyrät"
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
-msgstr "Värinpoimija"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
+msgstr "Siirtokartta"
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
-msgstr ""
-"Vasemmalla hiiren napilla valitset edustavärin, oikealla valitset "
-"taustavärin."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
+msgstr "RGB"
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
-msgstr "Valinnan jälkeen"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
+msgstr "Värin kirkkaus"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
-msgstr "Älä vaihda työkalua"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
+msgstr "(256, 256)"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
-msgstr "Vaihda edelliseen työkaluun"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
+msgstr "Punainen  "
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
-msgstr "Vaihda Kynään"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
+msgstr "Vihreä"
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
-msgstr "Kynä"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
+msgstr "Sininen "
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
-msgstr "Lassovalinta"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
+msgstr "Palauta"
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
-msgstr "Napsauta ja siirrä hiirtä luodaksesi valittavan alueen reunan."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
+msgstr "Vihje: Napsauta oikealla napilla poistaaksesi pisteitä."
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
-msgstr "Zoomaus"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
+msgstr "Sävyjen säädöt"
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
-msgstr ""
-"Vasemmalla napilla suurennat, oikealla pienennät. Napsauta ja siirrä "
-"luodaksesi valinnan."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
+msgstr "Sisääntulon histogrammi"
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
-msgstr "Siveltimen koko"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
+msgstr "Sisääntulo"
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
-msgstr "Pienennä sivellintä"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
+msgstr "Ulostulo"
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
-msgstr "Suurenna sivellintä"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
+msgstr "Ulostulon histogrammi"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
-msgstr "Reunan muoto"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
+msgstr "Auto"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
-msgstr "Täytön muoto"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
+msgstr "Punainen"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
-msgstr "Täytön ja reunan muoto"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
+msgstr "Sininen"
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
-msgstr "Siirrä valittuja pikseleitä"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
+msgstr "Kytketty"
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
-msgstr "Siirrä valintaa siirtääksesi kohdetta."
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
+msgstr "Kynäluonnos"
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
-msgstr "Pan"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
+msgstr "Artistinen"
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
-msgstr "Napsauta ja siirrä hiirtä liikkuaksesi kuvalla."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
+msgstr "Epäkohdistus"
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
-msgstr ""
-"Vasemmalla napilla piirrät vapaita, pikselin leveitä viivoja edustavärillä, "
-"oikealla napilla taustavärillä."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
+msgstr "Sumennus"
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
-msgstr "Ellipsivalinta"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
+msgstr "Pullistuma"
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
-msgstr ""
-"Napsauta ja siirrä piirtääksesi elliptisen valinnan. Paina shift-näppäintä "
-"pakottaaksesi ympyrään."
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
+msgstr "Vääristä"
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
-msgstr "Väriliukuma"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
+msgstr "Mandelbrotin joukko"
 
-#: Pinta.Tools/GradientTool.cs:60
-msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
-msgstr ""
-"Napsauta ja siirrä piirtääksesi liukuman edustaväristä taustaväriin. "
-"Oikealla napilla käänteinen suunta."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
+msgstr "Renderointi"
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
-msgstr "Lineaari"
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
+msgstr "Mediaani"
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
-msgstr "Lineaari (Peilattu)"
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
+msgstr "Kohina"
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
-msgstr "Timantti"
+#: Pinta.Effects/Effects/PixelateEffect.cs:26
+msgid "Pixelate"
+msgstr "Pikselöi"
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
-msgstr "Säteittäinen"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
+msgstr "Terävöitä"
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
-msgstr "Kartio"
+#: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
+msgid "Photo"
+msgstr "Valokuva"
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
-msgstr "Väritila"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
+msgstr "Öljymaalaus"
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
-msgstr "Läpinäkyvyystila"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
+msgstr "Gauss-sumennus"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
-msgstr "Pyöristetty suorakulmio"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
+msgstr "Hehku"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
-msgstr ""
-"Napsauta ja siirrä piirtääksesi pyöristetyn suorakulmion (oikealla napilla "
-"taustaväri). Pakota neliöksi shift-näppäimellä."
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
+msgstr "Pehmennä"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
-msgstr "Säde"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
+msgstr "Tiiliheijastus"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
-msgstr "Vähennä pyöristetyn kulman sädettä"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr "Punasilmän poistaja"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
-msgstr "Lisää pyöristetyn kulman sädettä"
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
+msgstr "Jäätynyt lasi"
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
-msgstr ""
-"Vasemmalla napilla piirrät edustavärillä, oikealla napilla taustavärillä."
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
+msgid "Edge Detect"
+msgstr "Reunan tunnistus"
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
-msgstr "Suorakulmainen valinta"
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
+#: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
+msgid "Stylize"
+msgstr "Tyyli"
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
-msgstr ""
-"Napsauta ja siirrä piirtääksesi suorakulmaisen valinnan. Pakota neliöksi "
-"shift-näppäimellä."
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
+msgstr "Julian joukko"
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
-msgstr "Täyttö"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr "Liike-epäterävyys"
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
-msgstr ""
-"Vasemmalla napilla täytät alueen edustavärillä, oikealla napilla täytät "
-"taustavärillä."
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr "Korkokuva"
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
-msgstr "Kloonaus"
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
+msgstr "Musteluonnos"
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
-msgstr "Siirrä valintaa"
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
+msgid "Zoom Blur"
+msgstr "Zoom-sumennus"
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
-msgstr "Vedä valintaa siirtääksesi valinnan reunaa."
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
+msgid "Polar Inversion"
+msgstr "Käänteismuunnos"
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
-msgstr "Vapaa muoto"
+#: Pinta.Effects/Effects/CloudsEffect.cs:30
+msgid "Clouds"
+msgstr "Pilviä"
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
-msgstr "Tulvatila"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
+msgstr "Pirstaloi"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
-msgstr "Jatkuva"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr "Vähennä kohinaa"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
-msgstr "Globaali"
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr "Säteittäinen sumennus"
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
-msgstr "Toleranssi"
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
+msgstr "Kierre"
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
-msgstr "Ellipsi"
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
+msgid "Add Noise"
+msgstr "Lisää kohinaa"
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
-msgstr ""
-"Napsauta ja siirrä piirtääksesi ellipsin (oikealla napilla taustavärillä). "
-"Pakota ympyräksi shift-näppäimellä."
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
+msgstr "Reliefi"
+
+#: Pinta.Effects/Effects/OutlineEffect.cs:29
+msgid "Outline"
+msgstr "Ääriviiva"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
+msgstr "Satunnainen kohina"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
+msgstr "Uusi siemen"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "label1"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "label"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
+msgstr "Valitse edustaväri"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
+msgstr "Valitse taustaväri"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr "Valitse palettiväri"
+
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
+msgstr "Pan"
+
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
+msgstr "Napsauta ja siirrä hiirtä liikkuaksesi kuvalla."
 
 #: Pinta.Tools/TextTool.cs:37
 msgid "Text"
@@ -571,42 +760,34 @@ msgstr ""
 "Napsauta vasemmalla sijoittaaksesi kursorin, ja kirjoita teksti. Väri on "
 "edustaväri."
 
-#: Pinta.Tools/TextTool.cs:131
+#: Pinta.Tools/TextTool.cs:144
 msgid "Font"
 msgstr "Kirjasin"
 
-#: Pinta.Tools/TextTool.cs:186
+#: Pinta.Tools/TextTool.cs:205
 msgid "Bold"
 msgstr "Lihavoitu"
 
-#: Pinta.Tools/TextTool.cs:193
+#: Pinta.Tools/TextTool.cs:212
 msgid "Italic"
 msgstr "Kursivoitu"
 
-#: Pinta.Tools/TextTool.cs:201
+#: Pinta.Tools/TextTool.cs:220
 msgid "Underline"
 msgstr "Alleviivattu"
 
-#: Pinta.Tools/TextTool.cs:210
+#: Pinta.Tools/TextTool.cs:229
 msgid "Left Align"
 msgstr "Tasaa vasemmalle"
 
-#: Pinta.Tools/TextTool.cs:219
+#: Pinta.Tools/TextTool.cs:238
 msgid "Center Align"
 msgstr "Keskitä"
 
-#: Pinta.Tools/TextTool.cs:227
+#: Pinta.Tools/TextTool.cs:246
 msgid "Right Align"
 msgstr "Tasaa oikealle"
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
-msgstr "Taikasauva"
-
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
-msgstr "Napsauta valitaksesi samanvärisen alueen."
-
 #: Pinta.Tools/RectangleTool.cs:38
 msgid "Rectangle"
 msgstr "Suorakulmio"
@@ -619,654 +800,619 @@ msgstr ""
 "Napsauta ja siirrä piirtääksesi suorakulmion (oikealla napilla "
 "taustavärillä). Pakota neliöksi shift-näppäimellä."
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
-msgstr "Viiva"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
+msgstr "Vapaa muoto"
 
-#: Pinta.Tools/LineCurveTool.cs:44
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
 msgid ""
-"Left click to draw with primary color, right click for secondary color."
-msgstr "Vasemmalla piirrät edustavärillä, oikealla napilla taustavärillä."
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
+msgstr ""
+"Vasemmalla napilla piirrät edustavärillä, oikealla napilla taustavärillä."
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
-msgstr "Uudelleen väritä"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
+msgstr "Piirtotyyli"
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
-msgstr "Vasemmalla napilla korvaa taustaväri edustavärillä."
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
+msgstr "Reunan muoto"
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
-msgstr "Pyyhin"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
+msgstr "Täytön muoto"
 
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
-msgstr "Napsauta ja siirrä poistaaksesi osan kuvasta."
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
+msgstr "Täytön ja reunan muoto"
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:26
-msgid "Pixelate"
-msgstr "Pikselöi"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
+msgstr "Tulvatila"
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr "Vääristä"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
+msgstr "Jatkuva"
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
-msgstr "Punasilmän poistaja"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
+msgstr "Globaali"
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
-#: Pinta.Effects/Effects/SharpenEffect.cs:34
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
-msgid "Photo"
-msgstr "Valokuva"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
+msgstr "Toleranssi"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
-msgstr "Liike-epäterävyys"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
+msgstr "Viiva"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
-msgstr "Sumennus"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
+msgstr "Vasemmalla piirrät edustavärillä, oikealla napilla taustavärillä."
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
-msgstr "Musteluonnos"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
+msgstr "Siirrä valintaa"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
-msgstr "Artistinen"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
+msgstr "Vedä valintaa siirtääksesi valinnan reunaa."
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
-msgstr "Säteittäinen sumennus"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
+msgstr "Suorakulmainen valinta"
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
-msgstr "Epäkohdistus"
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
+msgstr ""
+"Napsauta ja siirrä piirtääksesi suorakulmaisen valinnan. Pakota neliöksi "
+"shift-näppäimellä."
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
-msgid "Edge Detect"
-msgstr "Reunan tunnistus"
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
+msgstr "Taikasauva"
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
-#: Pinta.Effects/Effects/EmbossEffect.cs:34
-msgid "Stylize"
-msgstr "Tyyli"
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
+msgstr "Napsauta valitaksesi samanvärisen alueen."
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
-msgstr "Jäätynyt lasi"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
+msgstr "Ellipsivalinta"
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
-msgstr "Öljymaalaus"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
+msgstr ""
+"Napsauta ja siirrä piirtääksesi elliptisen valinnan. Paina shift-näppäintä "
+"pakottaaksesi ympyrään."
 
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
-msgid "Zoom Blur"
-msgstr "Zoom-sumennus"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
+msgstr "Lassovalinta"
 
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
-msgid "Polar Inversion"
-msgstr "Käänteismuunnos"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
+msgstr "Napsauta ja siirrä hiirtä luodaksesi valittavan alueen reunan."
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:30
-msgid "Clouds"
-msgstr "Pilviä"
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
+msgstr "Täyttö"
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr "Renderointi"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
+msgstr ""
+"Vasemmalla napilla täytät alueen edustavärillä, oikealla napilla täytät "
+"taustavärillä."
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
-msgstr "Hehku"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
+msgstr "Väriliukuma"
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
-msgid "Add Noise"
-msgstr "Lisää kohinaa"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
+msgstr ""
+"Napsauta ja siirrä piirtääksesi liukuman edustaväristä taustaväriin. "
+"Oikealla napilla käänteinen suunta."
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
-msgstr "Kohina"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
+msgstr "Lineaari"
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
-msgstr "Pirstaloi"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
+msgstr "Lineaari (Peilattu)"
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
-msgstr "Terävöitä"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
+msgstr "Timantti"
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
-msgstr "Kynäluonnos"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
+msgstr "Säteittäinen"
 
-#: Pinta.Effects/Effects/OutlineEffect.cs:29
-msgid "Outline"
-msgstr "Ääriviiva"
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
+msgstr "Kartio"
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
-msgstr "Gauss-sumennus"
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
+msgstr "Tila"
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
-msgstr "Tiiliheijastus"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
+msgstr "Väritila"
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
-msgstr "Reliefi"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
+msgstr "Läpinäkyvyystila"
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
-msgstr "Korkokuva"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
+msgstr "Siveltimen koko"
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
-msgstr "Mandelbrotin joukko"
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
+msgstr "Pienennä sivellintä"
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
-msgstr "Pullistuma"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
+msgstr "Suurenna sivellintä"
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
-msgstr "Kierre"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "Sivellin"
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
-msgstr "Pehmennä"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
+msgstr "Tyyppi"
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
-msgstr "Vähennä kohinaa"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
+msgstr "Uudelleen väritä"
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
-msgstr "Julian joukko"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
+msgstr "Vasemmalla napilla korvaa taustaväri edustavärillä."
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
-msgstr "Mediaani"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
+msgstr "Normaali"
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
-msgstr "Käyrät"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
+msgstr "Ympyrät"
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
-msgstr "Sävyala"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
+msgstr "Neliöt"
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
-msgstr "Automaattinen taso"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
+msgstr "Roiske"
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
-msgstr "Käännä värit"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
+msgstr "Ristikot"
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
-msgstr "Porrasta"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
+msgstr "Ellipsi"
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
-msgstr "Mustavalkoinen"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
+msgstr ""
+"Napsauta ja siirrä piirtääksesi ellipsin (oikealla napilla taustavärillä). "
+"Pakota ympyräksi shift-näppäimellä."
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
-msgstr "Sävy / Värikylläisyys"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
+msgstr "Kloonaus"
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
-msgstr "Seepia"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
+msgstr "Napsauta oikealla asettaaksesi lähtöpisteen, vasemmalla piirrät."
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
-msgstr "Kirkkaus / Kontrasti"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "Zoomaus"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
-msgstr "Sävyjen säädöt"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
+msgstr ""
+"Vasemmalla napilla suurennat, oikealla pienennät. Napsauta ja siirrä "
+"luodaksesi valinnan."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
-msgstr "Sisääntulon histogrammi"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
+msgstr "Pyöristetty suorakulmio"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
-msgstr "Sisääntulo"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
+msgstr ""
+"Napsauta ja siirrä piirtääksesi pyöristetyn suorakulmion (oikealla napilla "
+"taustaväri). Pakota neliöksi shift-näppäimellä."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
-msgstr "Ulostulo"
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
+msgstr "Säde"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
-msgstr "Ulostulon histogrammi"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
+msgstr "Vähennä pyöristetyn kulman sädettä"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
-msgstr "Auto"
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
+msgstr "Lisää pyöristetyn kulman sädettä"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
-msgstr "Palauta"
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "Värinpoimija"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
-msgstr "Punainen"
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
+msgstr ""
+"Vasemmalla hiiren napilla valitset edustavärin, oikealla valitset "
+"taustavärin."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
-msgstr "Vihreä"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr "Valinnan jälkeen"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
-msgstr "Sininen"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
+msgstr "Älä vaihda työkalua"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
-msgstr "Kytketty"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr "Vaihda edelliseen työkaluun"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
-msgstr "Siirtokartta"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
+msgstr "Vaihda Kynään"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
-msgstr "RGB"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "Kynä"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
-msgstr "Värin kirkkaus"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
+msgstr "Pyyhin"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
-msgstr "(256, 256)"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
+msgstr "Napsauta ja siirrä poistaaksesi osan kuvasta."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
-msgstr "Punainen  "
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
+msgstr ""
+"Vasemmalla napilla piirrät vapaita, pikselin leveitä viivoja edustavärillä, "
+"oikealla napilla taustavärillä."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
-msgstr "Sininen "
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
+msgstr "Siirrä valittuja pikseleitä"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
-msgstr "Vihje: Napsauta oikealla napilla poistaaksesi pisteitä."
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
+msgstr "Siirrä valintaa siirtääksesi kohdetta."
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
-msgstr "Uusi taso"
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "Piilota"
 
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
-msgstr "Poista taso"
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "Telakka"
 
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
-msgstr "Monista taso"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "Automaattinen piilotus"
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
-msgstr "Yhdistä taso alas"
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "Telakoitava"
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
-msgstr "Tuo tiedostosta..."
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "Kelluva"
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
-msgstr "Käännä vaakatasossa"
+#: Pinta/Options.cs:486
+msgid "OptionName"
+msgstr "OptionName"
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
-msgstr "Käännä pystytasossa"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "Prosentin mukaan:"
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
-msgstr "Pyöritä / Zoomaa"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
+msgstr "Koon mukaan:"
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
-msgstr "Siirrä tasoa ylös"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "Leveys:"
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
-msgstr "Siirrä tasoa alas"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "pikseliä"
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
-msgstr "Avaa kuvatiedosto"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "Korkeus:"
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
-msgstr "Tuo tiedostosta"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "Säilytä kuvasuhde"
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
-msgstr "Uusi..."
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "Ankkuri:"
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
-msgstr "Avaa..."
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "Uusi koko          "
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
-msgstr "Avaa viimeisin"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Tason ominaisuudet"
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
-msgstr "Sulje"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "Nimi:"
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
-msgstr "Tallenna"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "Näkyvä"
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
-msgstr "Tallenna nimellä..."
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "Peittävyys:"
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
-msgstr "Tulosta"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr "..."
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr "Poistu"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "_Tiedosto"
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
-msgstr "Uusi"
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "_Muokkaa"
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
-msgstr "Avaa"
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "_Näytä"
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
-msgstr "Tausta"
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "_Kuva"
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
-msgstr "Avaa kuva"
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "T_asot"
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
-msgstr "Tiedostoa ei voitu avata: {0}"
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "_Säädöt"
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
-msgstr "Virhe"
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "T_ehosteet"
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
-msgstr ""
-"Tallennetaanko muutokset kuvaan \"{0}\", ennen kuin avaat uuden kuvan?"
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "_Ikkuna"
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
-msgstr "Kuvatiedostot"
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
+msgstr "Työkaluikkunat"
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
-msgstr "Kaikki tiedostot"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "_Ohje"
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
-msgstr "Tallenna kuva"
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "Työkalut"
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
-msgstr "{0} kuva ({1})"
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Dokumentit"
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
-msgstr "OpenRaster-kuva (*.ora)"
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "Tasot"
+
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "Historia"
+
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
+msgstr "Ota kuvankaappaus"
+
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
+msgstr "Viive ennen kuvankaappauksen ottamista (sekuntteja):"
 
-#: Pinta.Core/Actions/FileActions.cs:392
+#: Pinta/DialogHandlers.cs:139
 #, csharp-format
 msgid "Save the changes to image \"{0}\" before closing?"
 msgstr "Tallennetaanko muutokset kuvaan \"{0}\" ennen sulkemista?"
 
-#: Pinta.Core/Actions/FileActions.cs:402
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "Jos tallennusta ei tehdä, kaikki muutokset häviävät lopullisesti."
+
+#: Pinta/DialogHandlers.cs:147
 msgid "Close without saving"
 msgstr "Sulje tallentamatta"
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
-msgstr "Rajaa valintaan"
-
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
-msgstr "Muuta kokoa..."
-
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
-msgstr "Pohjan koko..."
-
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
-msgstr "Pyöritä 90° myötäpäivään"
-
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
-msgstr "Pyöritä 90° vastapäivään"
-
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
-msgstr "Pyöritä 180°"
-
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
-msgstr "Yhdistä tasot"
-
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr "Kumoa"
-
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
-msgstr "Tee uudelleen"
-
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
-msgstr "Leikkaa"
-
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
-msgstr "Kopioi"
-
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
-msgstr "Liitä"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
+msgstr "Muuta paletin kokoa"
 
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
-msgstr "Liitä uuteen tasoon"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
+msgstr "Paletin uusi koko:"
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
-msgstr "Liitä uuteen kuvaan"
-
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
-msgstr "Poista valinta"
-
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
-msgstr "Täytä valinta"
-
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
-msgstr "Käännä valinta"
-
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
-msgstr "Valitse kaikki"
-
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
-msgstr "Poista valinta"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "Tason peittävyys"
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
-msgstr "Suurenna"
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "Nimeä taso uudelleen"
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
-msgstr "Pienennä"
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "Piilota taso"
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
-msgstr "Tarkenna ikkunaan"
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "Näytä taso"
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
-msgstr "Tarkenna valintaan"
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
+msgstr "Kuvatiedostot"
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
-msgstr "Oikea koko"
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
+msgstr "Liitä peruutettu"
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
-msgstr "Pikseliristikko"
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
+msgstr "Leikepöydällä ei ole kuvaa"
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
-msgstr "Viivoitin"
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
+msgstr "Tallenna kuva"
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
-msgstr "Pikseliä"
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
+msgstr "Pinta ei tue kuvien tallentamista tässä muodossa."
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
-msgstr "Tuumaa"
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
+msgstr "Tiedosto nimeltä \"{0}\" on olemassa. Haluatko korvata sen?"
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
-msgstr "Senttimetriä"
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
+msgstr "Tiedosto on jo olemassa \"{1}\". Korvaaminen ylikirjoittaa sisällön."
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
-msgstr "Koko näyttö"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr "renderointiin käytettävät säikeet"
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
-msgstr "Ikkuna"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Versio"
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
-msgstr "Pintan verkkosivusto"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Lisenssi"
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
-msgstr "Ilmoita virheestä"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "Julkaistaan MIT X11 -lisenssin alaisena."
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
-msgstr "Käännä tämä ohjelma"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "Tekijänoikeus"
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
-msgstr "Yleiset"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "Pinta-tekijöiden"
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
-msgstr "Työkalu"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "Nimi"
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
-msgstr "Pikanäppäin"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "Polku"
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
-msgstr "Reunojen pehmennys"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
+msgstr "JPEG Laatu"
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
-msgstr "Normaali sekoitus / Ylikirjoitus"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
+msgstr "Laatu: "
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
-msgstr "Käännä kuva vaakatasossa"
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "Tämän julkaisun tekijät"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
-msgstr "Käännä kuva pystytasossa"
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "Aiemmat tekijät"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
-msgstr "Käännä taso vaakatasossa"
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Jarno Ruokamo https://launchpad.net/~jarno-ruokamo\n"
+"  Jiri Grönroos https://launchpad.net/~jiri-gronroos\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst\n"
+"  Tommi Saira https://launchpad.net/~tommisaira\n"
+"  Urmas https://launchpad.net/~urmas-2006"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
-msgstr "Käännä taso pystytasossa"
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Käännöksen tehnyt:"
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
-msgstr "Viimeistele pikselit"
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "Perustuu ohjelmaan Paint.NET:"
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
-msgstr "Renderointi"
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "Käyttää kuvakkeita kokoelmista:"
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
-msgstr "kopioi"
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "Tietoja Pintasta"
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
-msgstr "Taso"
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "Versiotiedot"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1450,14 +1596,44 @@ msgstr ""
 #~ msgid "%"
 #~ msgstr "%"
 
+#~ msgid "Continue without saving"
+#~ msgstr "Jatka ilman tallennusta"
+
 #~ msgid "X :"
 #~ msgstr "X :"
 
 #~ msgid "Y :"
 #~ msgstr "Y :"
 
+#~ msgid "Fill mode"
+#~ msgstr "Tulvatila"
+
 #~ msgid "Tip : Right-click to remove control points."
 #~ msgstr "Vihje: Oikealla napilla voit poistaa pisteitä."
 
+#~ msgid "Normal blending / Overwrite blending"
+#~ msgstr "Normaali sekoitus / Ylikirjoitus"
+
 #~ msgid "Show Pad"
 #~ msgstr "Näytä valikko"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr "Tallennetanko muutokset kuvaan \"{0}\" ennen uuden luontia?"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before opening a new image?"
+#~ msgstr ""
+#~ "Tallennetaanko muutokset kuvaan \"{0}\", ennen kuin avaat uuden kuvan?"
+
+#~ msgid "OpenRaster image (*.ora)"
+#~ msgstr "OpenRaster-kuva (*.ora)"
+
+#~ msgid "Antialiasing"
+#~ msgstr "Reunojen pehmennys"
+
+#~ msgid "X:"
+#~ msgstr "X:"
+
+#~ msgid "Y:"
+#~ msgstr "Y:"
diff --git a/po/messages.pot b/po/messages-fo.po
similarity index 77%
copy from po/messages.pot
copy to po/messages-fo.po
index 8ea8d21..cf97649 100644
--- a/po/messages.pot
+++ b/po/messages-fo.po
@@ -1,47 +1,49 @@
-# Pinta Translatable Strings
-# Copyright (C) 2010 Pinta Contributors
-# This file is distributed under the same license as the Pinta package.
-# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
-#
-#, fuzzy
+# Faroese translation for pinta
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the pinta package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2010.
+# Gunleif Joensen <gunleif at gmail.com>, 2010.
 msgid ""
 msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
+"Project-Id-Version: pinta\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
 "POT-Creation-Date: 2010-10-31 12:19-0500\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"
+"PO-Revision-Date: 2010-11-08 19:16+0000\n"
+"Last-Translator: Gunleif Joensen <Unknown>\n"
+"Language-Team: Føroyabólkurin\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
+"Language: fo\n"
 
 #: Pinta.Core/Classes/DocumentWorkspace.cs:160
 #: Pinta.Core/Classes/DocumentWorkspace.cs:181
 #: Pinta.Core/Actions/ViewActions.cs:200
 msgid "Window"
-msgstr ""
+msgstr "Vindeyga"
 
 #: Pinta.Core/Classes/Document.cs:299
 msgid "Layer"
-msgstr ""
+msgstr "Lag"
 
 #: Pinta.Core/Classes/Document.cs:367
 msgid "copy"
-msgstr ""
+msgstr "avrita"
 
 #: Pinta.Core/Classes/Document.cs:589
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
 msgid "Resize Canvas"
-msgstr ""
+msgstr "Broyt støddina á lørifti"
 
 #: Pinta.Core/Classes/BaseTool.cs:146
 msgid "Tool"
-msgstr ""
+msgstr "Amboð"
 
 #: Pinta.Core/Classes/BaseTool.cs:204
 msgid "Shortcut key"
-msgstr ""
+msgstr "Snarvegsknappur"
 
 #: Pinta.Core/Classes/BaseTool.cs:227
 msgid "Normal Blending"
@@ -49,7 +51,7 @@ msgstr ""
 
 #: Pinta.Core/Classes/BaseTool.cs:228
 msgid "Overwrite"
-msgstr ""
+msgstr "Skriva oman á"
 
 #: Pinta.Core/Classes/BaseTool.cs:242
 msgid "Antialiasing On"
@@ -62,7 +64,7 @@ msgstr ""
 #: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
 msgid "Resize Image"
-msgstr ""
+msgstr "Broyt støddina á mynd"
 
 #: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
 msgid "Finish Pixels"
@@ -71,288 +73,287 @@ msgstr ""
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
 #: Pinta.Core/Actions/ImageActions.cs:65
 msgid "Rotate 180°"
-msgstr ""
+msgstr "Snara 180°"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
 msgid "Flip Image Horizontal"
-msgstr ""
+msgstr "Venda mynd vannrætt"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
 msgid "Flip Image Vertical"
-msgstr ""
+msgstr "Venda mynd loddrætt"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
 #: Pinta.Core/Actions/ImageActions.cs:63
 msgid "Rotate 90° Clockwise"
-msgstr ""
+msgstr "Snara 90° við urinum"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
 #: Pinta.Core/Actions/ImageActions.cs:64
 msgid "Rotate 90° Counter-Clockwise"
-msgstr ""
+msgstr "Snara 90° ímóti urinum"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
 msgid "Flip Layer Horizontal"
-msgstr ""
+msgstr "Venda lag vannrætt"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
 msgid "Flip Layer Vertical"
-msgstr ""
+msgstr "Venda lag loddrætt"
 
 #: Pinta.Core/Effects/BaseEffect.cs:42
 msgid "General"
-msgstr ""
+msgstr "Alment"
 
 #: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
 #, csharp-format
 msgid "{0} image ({1})"
-msgstr ""
+msgstr "{0} mynd {1}"
 
 #: Pinta.Core/Actions/ImageActions.cs:58
 #: Pinta.Core/Actions/ImageActions.cs:181
 msgid "Crop to Selection"
-msgstr ""
+msgstr "Skerja til úrval"
 
 #: Pinta.Core/Actions/ImageActions.cs:59
 msgid "Resize..."
-msgstr ""
+msgstr "Broyt støddina"
 
 #: Pinta.Core/Actions/ImageActions.cs:60
 msgid "Canvas Size..."
-msgstr ""
+msgstr "Løriftsstødd..."
 
 #: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
 msgid "Flip Horizontal"
-msgstr ""
+msgstr "Venda vannrætt"
 
 #: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
 msgid "Flip Vertical"
-msgstr ""
+msgstr "Venda loddrætt"
 
 #: Pinta.Core/Actions/ImageActions.cs:66
 #: Pinta.Core/Actions/ImageActions.cs:127
 msgid "Flatten"
-msgstr ""
+msgstr "Trýsta flatan"
 
 #: Pinta.Core/Actions/ViewActions.cs:62
 msgid "Zoom In"
-msgstr ""
+msgstr "Surra inn"
 
 #: Pinta.Core/Actions/ViewActions.cs:63
 msgid "Zoom Out"
-msgstr ""
+msgstr "Surra út"
 
 #: Pinta.Core/Actions/ViewActions.cs:64
 msgid "Zoom to Window"
-msgstr ""
+msgstr "Surra til vindeyga"
 
 #: Pinta.Core/Actions/ViewActions.cs:65
 msgid "Zoom to Selection"
-msgstr ""
+msgstr "Surra til úrval"
 
 #: Pinta.Core/Actions/ViewActions.cs:66
 msgid "Actual Size"
-msgstr ""
+msgstr "Verulig stødd"
 
 #: Pinta.Core/Actions/ViewActions.cs:67
 msgid "Toolbar"
-msgstr ""
+msgstr "Amboðsstong"
 
 #: Pinta.Core/Actions/ViewActions.cs:68
 msgid "Pixel Grid"
-msgstr ""
+msgstr "skíggjadeplanet"
 
 #: Pinta.Core/Actions/ViewActions.cs:69
 msgid "Rulers"
-msgstr ""
+msgstr "Linealir"
 
 #: Pinta.Core/Actions/ViewActions.cs:70
 msgid "Pixels"
-msgstr ""
+msgstr "Skíggjadeplar"
 
 #: Pinta.Core/Actions/ViewActions.cs:71
 msgid "Inches"
-msgstr ""
+msgstr "Tummar"
 
 #: Pinta.Core/Actions/ViewActions.cs:72
 msgid "Centimeters"
-msgstr ""
+msgstr "Sentimetrar"
 
 #: Pinta.Core/Actions/ViewActions.cs:73
 msgid "Fullscreen"
-msgstr ""
+msgstr "Fullskíggja"
 
 #: Pinta.Core/Actions/ViewActions.cs:111
 msgid "Ruler Units"
-msgstr ""
+msgstr "Linealeindir"
 
 #: Pinta.Core/Actions/LayerActions.cs:64
 #: Pinta.Core/Actions/LayerActions.cs:283
 msgid "Add New Layer"
-msgstr ""
+msgstr "Legg nýtt lag afturat"
 
 #: Pinta.Core/Actions/LayerActions.cs:65
 #: Pinta.Core/Actions/LayerActions.cs:266
 msgid "Delete Layer"
-msgstr ""
+msgstr "Strika lag"
 
 #: Pinta.Core/Actions/LayerActions.cs:66
 #: Pinta.Core/Actions/LayerActions.cs:257
 msgid "Duplicate Layer"
-msgstr ""
+msgstr "Tvífalda lag"
 
 #: Pinta.Core/Actions/LayerActions.cs:67
 #: Pinta.Core/Actions/LayerActions.cs:235
 msgid "Merge Layer Down"
-msgstr ""
+msgstr "Flætta lag niður"
 
 #: Pinta.Core/Actions/LayerActions.cs:68
 msgid "Import from File..."
-msgstr ""
+msgstr "Flyt inn úr fílu..."
 
 #: Pinta.Core/Actions/LayerActions.cs:71
 msgid "Rotate / Zoom"
-msgstr ""
+msgstr "Snara / surra"
 
 #: Pinta.Core/Actions/LayerActions.cs:72
 #: Pinta.Core/Actions/LayerActions.cs:213
 msgid "Move Layer Up"
-msgstr ""
+msgstr "Flyt lag upp"
 
 #: Pinta.Core/Actions/LayerActions.cs:73
 #: Pinta.Core/Actions/LayerActions.cs:224
 msgid "Move Layer Down"
-msgstr ""
+msgstr "Flyt lag niður"
 
 #: Pinta.Core/Actions/LayerActions.cs:74
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
-msgid "Layer Properties"
+msgid "Layer Properties..."
 msgstr ""
 
 #: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
 msgid "Open Image File"
-msgstr ""
+msgstr "Opna myndafílu"
 
 #: Pinta.Core/Actions/LayerActions.cs:179
 msgid "Import From File"
-msgstr ""
+msgstr "Flyt inn úr fílu"
 
 #: Pinta.Core/Actions/WindowActions.cs:45
 msgid "Save All"
-msgstr ""
+msgstr "Goym alt"
 
 #: Pinta.Core/Actions/WindowActions.cs:46
 msgid "Close All"
-msgstr ""
+msgstr "Lat alt aftur"
 
 #: Pinta.Core/Actions/HelpActions.cs:50
 msgid "Pinta Website"
-msgstr ""
+msgstr "Heimasíðan hjá Pinta"
 
 #: Pinta.Core/Actions/HelpActions.cs:51
 msgid "File a Bug"
-msgstr ""
+msgstr "Send filufrásøgn"
 
 #: Pinta.Core/Actions/HelpActions.cs:52
 msgid "Translate This Application"
-msgstr ""
+msgstr "Týða hesa nýtsluskipan"
 
 #: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
 msgid "About"
-msgstr ""
+msgstr "Um"
 
 #: Pinta.Core/Actions/FileActions.cs:54
 msgid "New..."
-msgstr ""
+msgstr "Nýggj..."
 
 #: Pinta.Core/Actions/FileActions.cs:55
 msgid "New Screenshot..."
-msgstr ""
+msgstr "Nýggj skíggjamynd"
 
 #: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
 msgid "Open..."
-msgstr ""
+msgstr "Opna..."
 
 #: Pinta.Core/Actions/FileActions.cs:57
 msgid "Open Recent"
-msgstr ""
+msgstr "Opna nýliga"
 
 #: Pinta.Core/Actions/FileActions.cs:64
 msgid "Close"
-msgstr ""
+msgstr "Lat aftur"
 
 #: Pinta.Core/Actions/FileActions.cs:65
 msgid "Save"
-msgstr ""
+msgstr "Goym"
 
 #: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
 msgid "Save As..."
-msgstr ""
+msgstr "Goym sum..."
 
 #: Pinta.Core/Actions/FileActions.cs:67
 msgid "Print"
-msgstr ""
+msgstr "Prenta"
 
 #: Pinta.Core/Actions/FileActions.cs:68
 msgid "Quit"
-msgstr ""
+msgstr "Gevst"
 
 #: Pinta.Core/Actions/FileActions.cs:70
 msgid "New"
-msgstr ""
+msgstr "Nýtt"
 
 #: Pinta.Core/Actions/FileActions.cs:71
 msgid "Open"
-msgstr ""
+msgstr "Opna"
 
 #: Pinta.Core/Actions/EditActions.cs:65
 msgid "Undo"
-msgstr ""
+msgstr "Angra"
 
 #: Pinta.Core/Actions/EditActions.cs:66
 msgid "Redo"
-msgstr ""
+msgstr "Endurgerð"
 
 #: Pinta.Core/Actions/EditActions.cs:67
 msgid "Cut"
-msgstr ""
+msgstr "Klipp"
 
 #: Pinta.Core/Actions/EditActions.cs:68
 msgid "Copy"
-msgstr ""
+msgstr "Avrita"
 
 #: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
 msgid "Paste"
-msgstr ""
+msgstr "Klistra"
 
 #: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
 msgid "Paste Into New Layer"
-msgstr ""
+msgstr "Klistra inn í eitt nýtt lag"
 
 #: Pinta.Core/Actions/EditActions.cs:71
 msgid "Paste Into New Image"
-msgstr ""
+msgstr "Klistra inn í eina nýggja mynd"
 
 #: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
 #: Pinta.Core/Actions/EditActions.cs:296
 msgid "Erase Selection"
-msgstr ""
+msgstr "Strika úrval"
 
 #: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
 msgid "Fill Selection"
-msgstr ""
+msgstr "Fyll úrval"
 
 #: Pinta.Core/Actions/EditActions.cs:74
 msgid "Invert Selection"
-msgstr ""
+msgstr "Vend úrval øvugt"
 
 #: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
 msgid "Select All"
-msgstr ""
+msgstr "Vel alt"
 
 #: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
 msgid "Deselect"
-msgstr ""
+msgstr "Frávelja"
 
 #: Pinta.Core/Actions/EditActions.cs:80
 msgid "Reset to Default"
@@ -360,24 +361,24 @@ msgstr ""
 
 #: Pinta.Core/Actions/EditActions.cs:81
 msgid "Set Number of Colors"
-msgstr ""
+msgstr "Set tal av litum"
 
 #: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
 #: Pinta/MainWindow.cs:569
 msgid "Palette"
-msgstr ""
+msgstr "Palett"
 
 #: Pinta.Core/Actions/EditActions.cs:313
 msgid "Open Palette File"
-msgstr ""
+msgstr "Opna palettfílu"
 
 #: Pinta.Core/Actions/EditActions.cs:320
 msgid "Palette files (*.txt, *.gpl)"
-msgstr ""
+msgstr "Palettfílur (*.txt, *gpl)"
 
 #: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
 msgid "All files"
-msgstr ""
+msgstr "Allar fílur"
 
 #: Pinta.Core/Actions/EditActions.cs:340
 #, csharp-format
@@ -385,41 +386,48 @@ msgid ""
 "Could not open palette file: {0}.\n"
 "Please verify that you are trying to open a valid GIMP or Paint.NET palette."
 msgstr ""
+"Kundi ikki opna palettfíluna: {0}.\n"
+"Vinarliga vátta, at tú roynir at opna eina gilda GIMP ella Paint.NET palett."
 
 #: Pinta.Core/Actions/EditActions.cs:341
 #: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
 msgid "Error"
-msgstr ""
+msgstr "Villa"
 
 #: Pinta.Core/Actions/EditActions.cs:353
 msgid "Save Palette File"
-msgstr ""
+msgstr "Goym palettfílu"
 
 #: Pinta.Core/Actions/EditActions.cs:359
 msgid "Paint.NET palette (*.txt)"
-msgstr ""
+msgstr "Paint.NET palett (*.txt)"
 
 #: Pinta.Core/Actions/EditActions.cs:364
 msgid "GIMP palette (*.gpl)"
-msgstr ""
+msgstr "GIMP palett (*.gpl)"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr "Ikki goymd fíla {0}"
 
 #: Pinta.Core/Managers/WorkspaceManager.cs:151
 msgid "Background"
-msgstr ""
+msgstr "Bakgrund"
 
 #: Pinta.Core/Managers/WorkspaceManager.cs:158
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
 msgid "New Image"
-msgstr ""
+msgstr "Nýggj mynd"
 
 #: Pinta.Core/Managers/WorkspaceManager.cs:176
 msgid "Open Image"
-msgstr ""
+msgstr "Opna mynd"
 
 #: Pinta.Core/Managers/WorkspaceManager.cs:183
 #, csharp-format
 msgid "Could not open file: {0}"
-msgstr ""
+msgstr "Kundi ikki opna fílu: {0}"
 
 #: Pinta.Core/Managers/LivePreviewManager.cs:220
 msgid "Rendering Effect"
@@ -432,15 +440,15 @@ msgstr ""
 
 #: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
 msgid "Invert Colors"
-msgstr ""
+msgstr "Speglvenda litir"
 
 #: Pinta.Effects/Adjustments/LevelsEffect.cs:24
 msgid "Levels"
-msgstr ""
+msgstr "Stig"
 
 #: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
 msgid "Black and White"
-msgstr ""
+msgstr "Svart og hvítt"
 
 #: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
 msgid "Auto Level"
@@ -448,7 +456,7 @@ msgstr ""
 
 #: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
 msgid "Hue / Saturation"
-msgstr ""
+msgstr "Dámur / mettan"
 
 #: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
 msgid "Brightness / Contrast"
@@ -456,7 +464,7 @@ msgstr ""
 
 #: Pinta.Effects/Adjustments/SepiaEffect.cs:27
 msgid "Sepia"
-msgstr ""
+msgstr "Brúnlita"
 
 #: Pinta.Effects/Adjustments/CurvesEffect.cs:28
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
@@ -469,33 +477,33 @@ msgstr ""
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
 msgid "RGB"
-msgstr ""
+msgstr "RGB"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
 msgid "Luminosity"
-msgstr ""
+msgstr "Ljósmegi"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
 msgid "(256, 256)"
-msgstr ""
+msgstr "(256, 256)"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
 msgid "Red  "
-msgstr ""
+msgstr "Reytt  "
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
 msgid "Green"
-msgstr ""
+msgstr "Grønt"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
 msgid "Blue "
-msgstr ""
+msgstr "Blátt "
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
 msgid "Reset"
-msgstr ""
+msgstr "Tómstilla"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
 msgid "Tip: Right-click to remove control points."
@@ -503,7 +511,7 @@ msgstr ""
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
 msgid "Levels Adjustment"
-msgstr ""
+msgstr "Stilla styrki"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
 msgid "Input Histogram"
@@ -511,11 +519,11 @@ msgstr ""
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
 msgid "Input"
-msgstr ""
+msgstr "Inntak"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
 msgid "Output"
-msgstr ""
+msgstr "Úttak"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
 msgid "Output Histogram"
@@ -523,29 +531,29 @@ msgstr ""
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
 msgid "Auto"
-msgstr ""
+msgstr "Sjálvvirkið"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
 msgid "Red"
-msgstr ""
+msgstr "Reytt"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
 msgid "Blue"
-msgstr ""
+msgstr "Blátt"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
 msgid "Linked"
-msgstr ""
+msgstr "Leinkjað"
 
 #: Pinta.Effects/Effects/PencilSketchEffect.cs:33
 msgid "Pencil Sketch"
-msgstr ""
+msgstr "Blýantskitsa"
 
 #: Pinta.Effects/Effects/PencilSketchEffect.cs:41
 #: Pinta.Effects/Effects/OilPaintingEffect.cs:34
 #: Pinta.Effects/Effects/InkSketchEffect.cs:42
 msgid "Artistic"
-msgstr ""
+msgstr "Listarligt"
 
 #: Pinta.Effects/Effects/UnfocusEffect.cs:28
 msgid "Unfocus"
@@ -558,11 +566,11 @@ msgstr ""
 #: Pinta.Effects/Effects/FragmentEffect.cs:34
 #: Pinta.Effects/Effects/RadialBlurEffect.cs:34
 msgid "Blurs"
-msgstr ""
+msgstr "Kámar"
 
 #: Pinta.Effects/Effects/BulgeEffect.cs:26
 msgid "Bulge"
-msgstr ""
+msgstr "Buggla"
 
 #: Pinta.Effects/Effects/BulgeEffect.cs:34
 #: Pinta.Effects/Effects/PixelateEffect.cs:38
@@ -571,11 +579,11 @@ msgstr ""
 #: Pinta.Effects/Effects/PolarInversionEffect.cs:39
 #: Pinta.Effects/Effects/TwistEffect.cs:34
 msgid "Distort"
-msgstr ""
+msgstr "Reingja"
 
 #: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
 msgid "Mandelbrot Fractal"
-msgstr ""
+msgstr "Mandelbrot fraktal"
 
 #: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
 #: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
@@ -585,44 +593,44 @@ msgstr ""
 
 #: Pinta.Effects/Effects/MedianEffect.cs:29
 msgid "Median"
-msgstr ""
+msgstr "Miðil"
 
 #: Pinta.Effects/Effects/MedianEffect.cs:37
 #: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
 #: Pinta.Effects/Effects/AddNoiseEffect.cs:38
 msgid "Noise"
-msgstr ""
+msgstr "Larmur"
 
 #: Pinta.Effects/Effects/PixelateEffect.cs:26
 msgid "Pixelate"
-msgstr ""
+msgstr "Skíggjadepla"
 
 #: Pinta.Effects/Effects/SharpenEffect.cs:26
 msgid "Sharpen"
-msgstr ""
+msgstr "Skerpa"
 
 #: Pinta.Effects/Effects/SharpenEffect.cs:34
 #: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
 #: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
 msgid "Photo"
-msgstr ""
+msgstr "Foto"
 
 #: Pinta.Effects/Effects/OilPaintingEffect.cs:26
 msgid "Oil Painting"
-msgstr ""
+msgstr "Oljutekning"
 
 #: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
 msgid "Gaussian Blur"
-msgstr ""
+msgstr "Gaussisk káma"
 
 #: Pinta.Effects/Effects/GlowEffect.cs:31
 msgid "Glow"
-msgstr ""
+msgstr "Glóð"
 
 #: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
 msgid "Soften Portrait"
-msgstr ""
+msgstr "Blóðka andlitsmynd"
 
 #: Pinta.Effects/Effects/TileEffect.cs:26
 msgid "Tile Reflection"
@@ -630,30 +638,30 @@ msgstr ""
 
 #: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
 msgid "Red Eye Removal"
-msgstr ""
+msgstr "Reyðeyga burturtøka"
 
 #: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
 msgid "Frosted Glass"
-msgstr ""
+msgstr "Óglærað glas"
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
 msgid "Edge Detect"
-msgstr ""
+msgstr "Varnast kant"
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
 #: Pinta.Effects/Effects/EmbossEffect.cs:34
 #: Pinta.Effects/Effects/ReliefEffect.cs:33
 #: Pinta.Effects/Effects/OutlineEffect.cs:37
 msgid "Stylize"
-msgstr ""
+msgstr "Sniðger"
 
 #: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
 msgid "Julia Fractal"
-msgstr ""
+msgstr "Julia brýtil"
 
 #: Pinta.Effects/Effects/MotionBlurEffect.cs:26
 msgid "Motion Blur"
-msgstr ""
+msgstr "Rørslukáma"
 
 #: Pinta.Effects/Effects/EmbossEffect.cs:26
 msgid "Emboss"
@@ -661,11 +669,11 @@ msgstr ""
 
 #: Pinta.Effects/Effects/InkSketchEffect.cs:34
 msgid "Ink Sketch"
-msgstr ""
+msgstr "Blekkskitsa"
 
 #: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
 msgid "Zoom Blur"
-msgstr ""
+msgstr "Surrukáma"
 
 #: Pinta.Effects/Effects/PolarInversionEffect.cs:26
 msgid "Polar Inversion"
@@ -673,15 +681,15 @@ msgstr ""
 
 #: Pinta.Effects/Effects/CloudsEffect.cs:30
 msgid "Clouds"
-msgstr ""
+msgstr "Skýggj"
 
 #: Pinta.Effects/Effects/FragmentEffect.cs:26
 msgid "Fragment"
-msgstr ""
+msgstr "Petti"
 
 #: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
 msgid "Reduce Noise"
-msgstr ""
+msgstr "Minka um larm"
 
 #: Pinta.Effects/Effects/RadialBlurEffect.cs:26
 msgid "Radial Blur"
@@ -689,15 +697,15 @@ msgstr ""
 
 #: Pinta.Effects/Effects/TwistEffect.cs:26
 msgid "Twist"
-msgstr ""
+msgstr "Reingja"
 
 #: Pinta.Effects/Effects/AddNoiseEffect.cs:30
 msgid "Add Noise"
-msgstr ""
+msgstr "Legg larm til"
 
 #: Pinta.Effects/Effects/ReliefEffect.cs:45
 msgid "Relief"
-msgstr ""
+msgstr "Framsker"
 
 #: Pinta.Effects/Effects/OutlineEffect.cs:29
 msgid "Outline"
@@ -705,7 +713,7 @@ msgstr ""
 
 #: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
 msgid "Random Noise"
-msgstr ""
+msgstr "Tilvildarligur larmur"
 
 #: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
 msgid "Reseed"
@@ -714,70 +722,76 @@ msgstr ""
 #: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
 #: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
 msgid "label1"
-msgstr ""
+msgstr "spjaldur1"
 
 #: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
 #: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
 msgid "label"
-msgstr ""
+msgstr "spjaldur"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:146
-msgid "X:"
-msgstr ""
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
+msgstr "Vel grundlit"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:154
-msgid "Y:"
-msgstr ""
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
+msgstr "Vel hjálit"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr "Vel palettlit"
 
 #: Pinta.Tools/PanTool.cs:38
 msgid "Pan"
-msgstr ""
+msgstr "Skotra"
 
 #: Pinta.Tools/PanTool.cs:44
 msgid "Click and drag to navigate image."
-msgstr ""
+msgstr "Klikk og drag til at flyta myndina."
 
 #: Pinta.Tools/TextTool.cs:37
 msgid "Text"
-msgstr ""
+msgstr "Tekstur"
 
 #: Pinta.Tools/TextTool.cs:44
 msgid ""
 "Left click to place cursor, then type desired text. Text color is primary "
 "color."
 msgstr ""
+"Vinstraklikkja til at seta vísan, síðani skriva ynskta tekstin. Tekstliturin "
+"er grundliturin."
 
 #: Pinta.Tools/TextTool.cs:144
 msgid "Font"
-msgstr ""
+msgstr "Stavasnið"
 
 #: Pinta.Tools/TextTool.cs:205
 msgid "Bold"
-msgstr ""
+msgstr "Feitir stavir"
 
 #: Pinta.Tools/TextTool.cs:212
 msgid "Italic"
-msgstr ""
+msgstr "Skákskrift"
 
 #: Pinta.Tools/TextTool.cs:220
 msgid "Underline"
-msgstr ""
+msgstr "Undirstrika"
 
 #: Pinta.Tools/TextTool.cs:229
 msgid "Left Align"
-msgstr ""
+msgstr "Vinstrastilla"
 
 #: Pinta.Tools/TextTool.cs:238
 msgid "Center Align"
-msgstr ""
+msgstr "Miðstilla"
 
 #: Pinta.Tools/TextTool.cs:246
 msgid "Right Align"
-msgstr ""
+msgstr "Høgrastilla"
 
 #: Pinta.Tools/RectangleTool.cs:38
 msgid "Rectangle"
-msgstr ""
+msgstr "Rætthyrningur"
 
 #: Pinta.Tools/RectangleTool.cs:44
 msgid ""
@@ -797,7 +811,7 @@ msgstr ""
 
 #: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
 msgid "Fill Style"
-msgstr ""
+msgstr "Fyll snið"
 
 #: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
 msgid "Outline Shape"
@@ -817,27 +831,28 @@ msgstr ""
 
 #: Pinta.Tools/FloodTool.cs:79
 msgid "Contiguous"
-msgstr ""
+msgstr "Grannanæstur"
 
 #: Pinta.Tools/FloodTool.cs:80
 msgid "Global"
-msgstr ""
+msgstr "Alheimsliga"
 
 #: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
 msgid "Tolerance"
-msgstr ""
+msgstr "Loyvt frávik"
 
 #: Pinta.Tools/LineCurveTool.cs:38
 msgid "Line"
-msgstr ""
+msgstr "Lína"
 
 #: Pinta.Tools/LineCurveTool.cs:44
-msgid "Left click to draw with primary color, right click for secondary color."
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
 msgstr ""
 
 #: Pinta.Tools/MoveSelectionTool.cs:42
 msgid "Move Selection"
-msgstr ""
+msgstr "Flyt úrval"
 
 #: Pinta.Tools/MoveSelectionTool.cs:48
 msgid "Drag the selection to move selection outline."
@@ -845,7 +860,7 @@ msgstr ""
 
 #: Pinta.Tools/RectangleSelectTool.cs:38
 msgid "Rectangle Select"
-msgstr ""
+msgstr "Vel rætthyrning"
 
 #: Pinta.Tools/RectangleSelectTool.cs:44
 msgid ""
@@ -855,7 +870,7 @@ msgstr ""
 
 #: Pinta.Tools/MagicWandTool.cs:46
 msgid "Magic Wand Select"
-msgstr ""
+msgstr "Velja við gandastavi"
 
 #: Pinta.Tools/MagicWandTool.cs:54
 msgid "Click to select region of similar color."
@@ -863,7 +878,7 @@ msgstr ""
 
 #: Pinta.Tools/EllipseSelectTool.cs:38
 msgid "Ellipse Select"
-msgstr ""
+msgstr "Vel við ellipsu"
 
 #: Pinta.Tools/EllipseSelectTool.cs:44
 msgid ""
@@ -873,7 +888,7 @@ msgstr ""
 
 #: Pinta.Tools/LassoSelectTool.cs:45
 msgid "Lasso Select"
-msgstr ""
+msgstr "Vel við lasso"
 
 #: Pinta.Tools/LassoSelectTool.cs:47
 msgid "Click and drag to draw the outline for a selection area."
@@ -881,17 +896,19 @@ msgstr ""
 
 #: Pinta.Tools/PaintBucketTool.cs:40
 msgid "Paint Bucket"
-msgstr ""
+msgstr "Málingaspann"
 
 #: Pinta.Tools/PaintBucketTool.cs:46
 msgid ""
 "Left click to fill a region with the primary color, right click to fill with "
 "the secondary color."
 msgstr ""
+"Vinstraklikkja til at fylla økið við grundlitinum, høgraklikkja til at fylla "
+"við hjálitinum."
 
 #: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
 msgid "Gradient"
-msgstr ""
+msgstr "Stigil"
 
 #: Pinta.Tools/GradientTool.cs:73
 msgid ""
@@ -921,67 +938,67 @@ msgstr ""
 
 #: Pinta.Tools/GradientTool.cs:195
 msgid "Mode"
-msgstr ""
+msgstr "Standur"
 
 #: Pinta.Tools/GradientTool.cs:202
 msgid "Color Mode"
-msgstr ""
+msgstr "Litstandur"
 
 #: Pinta.Tools/GradientTool.cs:203
 msgid "Transparency Mode"
-msgstr ""
+msgstr "Skygnistandur"
 
 #: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
 msgid "Brush width"
-msgstr ""
+msgstr "Pensilsbreidd"
 
 #: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
 msgid "Decrease brush size"
-msgstr ""
+msgstr "Minka um penslabreidd"
 
 #: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
 msgid "Increase brush size"
-msgstr ""
+msgstr "Økja um penslabreidd"
 
 #: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
 msgid "Paintbrush"
-msgstr ""
+msgstr "Pensil"
 
 #: Pinta.Tools/PaintBrushTool.cs:63
 msgid "Type"
-msgstr ""
+msgstr "Slag"
 
 #: Pinta.Tools/RecolorTool.cs:59
 msgid "Recolor"
-msgstr ""
+msgstr "Endurlita"
 
 #: Pinta.Tools/RecolorTool.cs:61
 msgid "Left click to replace the secondary color with the primary color."
-msgstr ""
+msgstr "Vinstraklikkja til at seta grundlitin, í staðin fyri hjálitin."
 
 #: Pinta.Tools/Brushes/PlainBrush.cs:38
 msgid "Normal"
-msgstr ""
+msgstr "Vanligt"
 
 #: Pinta.Tools/Brushes/CircleBrush.cs:38
 msgid "Circles"
-msgstr ""
+msgstr "Sirklar"
 
 #: Pinta.Tools/Brushes/SquaresBrush.cs:40
 msgid "Squares"
-msgstr ""
+msgstr "Fýrakantar"
 
 #: Pinta.Tools/Brushes/SplatterBrush.cs:38
 msgid "Splatter"
-msgstr ""
+msgstr "Sletta"
 
 #: Pinta.Tools/Brushes/GridBrush.cs:38
 msgid "Grid"
-msgstr ""
+msgstr "Rist"
 
 #: Pinta.Tools/EllipseTool.cs:38
 msgid "Ellipse"
-msgstr ""
+msgstr "Ellipsa"
 
 #: Pinta.Tools/EllipseTool.cs:44
 msgid ""
@@ -999,17 +1016,19 @@ msgstr ""
 
 #: Pinta.Tools/ZoomTool.cs:49
 msgid "Zoom"
-msgstr ""
+msgstr "Surra"
 
 #: Pinta.Tools/ZoomTool.cs:55
 msgid ""
 "Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
 "selection."
 msgstr ""
+"Vinstraklikkja til at surra inn. Høgraklikkja til at surra út. Klikk og drag "
+"til at surra úrvalið inn."
 
 #: Pinta.Tools/RoundedRectangleTool.cs:44
 msgid "Rounded Rectangle"
-msgstr ""
+msgstr "Rundaður rætthyrningur"
 
 #: Pinta.Tools/RoundedRectangleTool.cs:50
 msgid ""
@@ -1019,7 +1038,7 @@ msgstr ""
 
 #: Pinta.Tools/RoundedRectangleTool.cs:83
 msgid "Radius"
-msgstr ""
+msgstr "Radius"
 
 #: Pinta.Tools/RoundedRectangleTool.cs:88
 msgid "Decrease rectangle's corner radius"
@@ -1031,39 +1050,40 @@ msgstr ""
 
 #: Pinta.Tools/ColorPickerTool.cs:44
 msgid "Color Picker"
-msgstr ""
+msgstr "Litveljari"
 
 #: Pinta.Tools/ColorPickerTool.cs:50
 msgid "Left click to set primary color. Right click to set secondary color."
 msgstr ""
+"Vinstraklikkja til at seta grundlit. Høgraklikkja til at seta hjálit."
 
 #: Pinta.Tools/ColorPickerTool.cs:62
 msgid "After select"
-msgstr ""
+msgstr "Eftir val"
 
 #: Pinta.Tools/ColorPickerTool.cs:68
 msgid "Do not switch tool"
-msgstr ""
+msgstr "Skift ikki amboð"
 
 #: Pinta.Tools/ColorPickerTool.cs:68
 msgid "Switch to previous tool"
-msgstr ""
+msgstr "Skift til fyrra amboðið"
 
 #: Pinta.Tools/ColorPickerTool.cs:68
 msgid "Switch to Pencil tool"
-msgstr ""
+msgstr "Skift til blýantsamboð"
 
 #: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
 msgid "Pencil"
-msgstr ""
+msgstr "Blýant"
 
 #: Pinta.Tools/EraserTool.cs:45
 msgid "Eraser"
-msgstr ""
+msgstr "Viskileður"
 
 #: Pinta.Tools/EraserTool.cs:47
 msgid "Click and drag to erase a portion of the image."
-msgstr ""
+msgstr "Klikk og drag til at viska ein part av myndini."
 
 #: Pinta.Tools/PencilTool.cs:50
 msgid ""
@@ -1073,32 +1093,32 @@ msgstr ""
 
 #: Pinta.Tools/MoveSelectedTool.cs:42
 msgid "Move Selected Pixels"
-msgstr ""
+msgstr "Flyt valdar skíggjadeplar"
 
 #: Pinta.Tools/MoveSelectedTool.cs:48
 msgid "Drag the selection to move selected content."
-msgstr ""
+msgstr "Drag úrvalið til flyt úrvalda innihald."
 
 #: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
 msgid "Hide"
-msgstr ""
+msgstr "Fjal"
 
 #: Pinta/DockLibrary/DockItemContainer.cs:190
 msgid "Dock"
-msgstr ""
+msgstr "Dokk"
 
 #: Pinta/DockLibrary/DockItemContainer.cs:194
 #: Pinta/DockLibrary/DockItem.cs:502
 msgid "Auto Hide"
-msgstr ""
+msgstr "Sjálvfjal"
 
 #: Pinta/DockLibrary/DockItem.cs:485
 msgid "Dockable"
-msgstr ""
+msgstr "Dokkiført"
 
 #: Pinta/DockLibrary/DockItem.cs:493
 msgid "Floating"
-msgstr ""
+msgstr "Flótandi"
 
 #: Pinta/Options.cs:486
 msgid "OptionName"
@@ -1107,18 +1127,18 @@ msgstr ""
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
 msgid "By percentage:"
-msgstr ""
+msgstr "Eftir prosent:"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
 msgid "By absolute size:"
-msgstr ""
+msgstr "Eftir avgjørdari stødd:"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
 msgid "Width:"
-msgstr ""
+msgstr "Breidd:"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
@@ -1127,42 +1147,50 @@ msgstr ""
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
 msgid "pixels"
-msgstr ""
+msgstr "skíggjadeplar"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
 msgid "Height:"
-msgstr ""
+msgstr "Hædd:"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
 msgid "Maintain aspect ratio"
-msgstr ""
+msgstr "Halt áskoðanarlutfall"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
 msgid "Anchor:"
-msgstr ""
+msgstr "Akker:"
 
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
 msgid "New Image Size          "
-msgstr ""
+msgstr "Nýggj myndastødd          "
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Lag eginleikar"
 
 #: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
 msgid "Name:"
-msgstr ""
+msgstr "Navn:"
 
 #: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
 msgid "Visible"
-msgstr ""
+msgstr "Sjónligt"
 
 #: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
 msgid "Opacity:"
+msgstr "Óskygni:"
+
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
 msgstr ""
 
-#: Pinta/MainWindow.cs:448
+#: Pinta/MainWindow.cs:450
 msgid "_File"
-msgstr ""
+msgstr "_Fíla"
 
 #: Pinta/MainWindow.cs:449
 msgid "_Edit"
@@ -1170,7 +1198,7 @@ msgstr ""
 
 #: Pinta/MainWindow.cs:451
 msgid "_View"
-msgstr ""
+msgstr "_Vís"
 
 #: Pinta/MainWindow.cs:454
 msgid "_Image"
@@ -1178,11 +1206,11 @@ msgstr ""
 
 #: Pinta/MainWindow.cs:455
 msgid "_Layers"
-msgstr ""
+msgstr "_Løg"
 
 #: Pinta/MainWindow.cs:456
 msgid "_Adjustments"
-msgstr ""
+msgstr "Stilling_ar"
 
 #: Pinta/MainWindow.cs:457
 msgid "Effe_cts"
@@ -1190,107 +1218,109 @@ msgstr ""
 
 #: Pinta/MainWindow.cs:459
 msgid "_Window"
-msgstr ""
+msgstr "_Vindeygu"
 
 #: Pinta/MainWindow.cs:463
 msgid "Tool Windows"
-msgstr ""
+msgstr "Amboðsvindeygu"
 
 #: Pinta/MainWindow.cs:467
 msgid "_Help"
-msgstr ""
+msgstr "_Hjálp"
 
 #: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
 msgid "Tools"
-msgstr ""
+msgstr "Amboð"
 
 #: Pinta/MainWindow.cs:578
 msgid "Documents"
-msgstr ""
+msgstr "Skjøl"
 
 #: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
 msgid "Layers"
-msgstr ""
+msgstr "Løg"
 
 #: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
 msgid "History"
-msgstr ""
+msgstr "Søga"
 
 #: Pinta/DialogHandlers.cs:99
 msgid "Take Screenshot"
-msgstr ""
+msgstr "Tak skíggjamynd"
 
 #: Pinta/DialogHandlers.cs:100
 msgid "Delay before taking a screenshot (seconds):"
-msgstr ""
+msgstr "Seinkan áðrenn skíggjamyndstøku (sekund):"
 
 #: Pinta/DialogHandlers.cs:139
 #, csharp-format
 msgid "Save the changes to image \"{0}\" before closing?"
-msgstr ""
+msgstr "Goym broytingar á myndini \"{0}\" áðrenn afturlatan?"
 
 #: Pinta/DialogHandlers.cs:140
 msgid "If you don't save, all changes will be permanently lost."
-msgstr ""
+msgstr "Um tú ikki goymir, verða allar broytingar varandi mistar."
 
 #: Pinta/DialogHandlers.cs:147
 msgid "Close without saving"
-msgstr ""
+msgstr "Afturlatan uttan at goyma"
 
 #: Pinta/DialogHandlers.cs:174
 msgid "Resize Palette"
-msgstr ""
+msgstr "Broyta palettstødd"
 
 #: Pinta/DialogHandlers.cs:175
 msgid "New palette size:"
-msgstr ""
+msgstr "Nýggj palletstødd:"
 
 #: Pinta/DialogHandlers.cs:301
 msgid "Layer Opacity"
-msgstr ""
+msgstr "Óskygni á lagnum"
 
 #: Pinta/DialogHandlers.cs:306
 msgid "Rename Layer"
-msgstr ""
+msgstr "Nýnevn lagið"
 
 #: Pinta/DialogHandlers.cs:311
 msgid "Hide Layer"
-msgstr ""
+msgstr "Fjal lagið"
 
 #: Pinta/DialogHandlers.cs:311
 msgid "Show Layer"
-msgstr ""
+msgstr "Sýn lagið"
 
 #: Pinta/DialogHandlers.cs:404
 msgid "Image files"
-msgstr ""
+msgstr "Myndafílur"
 
 #: Pinta/DialogHandlers.cs:461
 msgid "Paste cancelled"
-msgstr ""
+msgstr "Klistran ógildað"
 
 #: Pinta/DialogHandlers.cs:462
 msgid "The clipboard does not contain an image"
-msgstr ""
+msgstr "Setiborðið inniheldur onga mynd"
 
 #: Pinta/DialogHandlers.cs:495
 msgid "Save Image File"
-msgstr ""
+msgstr "Goym myndafílu"
 
 #: Pinta/DialogHandlers.cs:575
 msgid "Pinta does not support saving images in this file format."
-msgstr ""
+msgstr "Pinta stuðlar ikki goymslu í hesum fílusniði."
 
 #: Pinta/DialogHandlers.cs:593
 #, csharp-format
 msgid "A file named \"{0}\" already exists. Do you want to replace it?"
-msgstr ""
+msgstr "Ein fíla nevnd \"{0}\" finst longu. Vil tú seta í staðin fyri hana?"
 
 #: Pinta/DialogHandlers.cs:594
 #, csharp-format
 msgid ""
 "The file already exists in \"{1}\". Replacing it will overwrite its contents."
 msgstr ""
+"Fílan finst longi í \"{1}\". Setur tú nakað í staðin, skrivar tú omaná "
+"innihald hennara."
 
 #: Pinta/Main.cs:68
 msgid "number of threads to use for rendering"
@@ -1299,71 +1329,75 @@ msgstr ""
 #: Pinta/Dialogs/AboutPintaTabPage.cs:41
 #: Pinta/Dialogs/VersionInformationTabPage.cs:50
 msgid "Version"
-msgstr ""
+msgstr "Útgáva"
 
 #: Pinta/Dialogs/AboutPintaTabPage.cs:50
 msgid "License"
-msgstr ""
+msgstr "Loyvi"
 
 #: Pinta/Dialogs/AboutPintaTabPage.cs:50
 msgid "Released under the MIT X11 License."
-msgstr ""
+msgstr "Útgivi undir MIT X11 loyvinum."
 
 #: Pinta/Dialogs/AboutPintaTabPage.cs:57
 msgid "Copyright"
-msgstr ""
+msgstr "Upphavsrættur"
 
 #: Pinta/Dialogs/AboutPintaTabPage.cs:57
 msgid "by Pinta contributors"
-msgstr ""
+msgstr "Pinta stuðlar"
 
 #: Pinta/Dialogs/VersionInformationTabPage.cs:44
 msgid "Title"
-msgstr ""
+msgstr "Heiti"
 
 #: Pinta/Dialogs/VersionInformationTabPage.cs:53
 msgid "Path"
-msgstr ""
+msgstr "Leið"
 
 #: Pinta/Dialogs/JpegCompressionDialog.cs:38
 msgid "JPEG Quality"
-msgstr ""
+msgstr "JPEG góðska"
 
 #: Pinta/Dialogs/JpegCompressionDialog.cs:46
 msgid "Quality: "
-msgstr ""
+msgstr "Góðska: "
 
 #: Pinta/Dialogs/AboutDialog.cs:101
 msgid "Contributors to this Release"
-msgstr ""
+msgstr "Stuðulsveitarir á hesari útgávu"
 
 #: Pinta/Dialogs/AboutDialog.cs:111
 msgid "Previous Contributors"
-msgstr ""
+msgstr "Fyrrverandi stuðlar"
 
 #: Pinta/Dialogs/AboutDialog.cs:120
 msgid "translator-credits"
 msgstr ""
+"This is a dummy translation so that the credits are counted as translated.\n"
+"\n"
+"Launchpad Contributions:\n"
+"  Gunleif Joensen https://launchpad.net/~gunleif"
 
 #: Pinta/Dialogs/AboutDialog.cs:123
 msgid "Translated by:"
-msgstr ""
+msgstr "Týtt av:"
 
 #: Pinta/Dialogs/AboutDialog.cs:130
 msgid "Based on the work of Paint.NET:"
-msgstr ""
+msgstr "Grundað á arbeiði hjá Paint.NET:"
 
 #: Pinta/Dialogs/AboutDialog.cs:137
 msgid "Using some icons from:"
-msgstr ""
+msgstr "Nýtandi nakrar ímyndir frá:"
 
 #: Pinta/Dialogs/AboutDialog.cs:249
 msgid "About Pinta"
-msgstr ""
+msgstr "Um Pinta"
 
 #: Pinta/Dialogs/AboutDialog.cs:267
 msgid "Version Info"
-msgstr ""
+msgstr "Útgávukunning"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1372,7 +1406,7 @@ msgstr ""
 #: SharpenData dialog
 #: MotionBlurEffect dialog
 msgid "Amount"
-msgstr ""
+msgstr "Mongd"
 
 #: RadialBlurEffect dialog
 #: JuliaFractalEffect dialog
@@ -1382,7 +1416,7 @@ msgstr ""
 #: ReliefData dialog
 #: TwistEffect dialog
 msgid "Angle"
-msgstr ""
+msgstr "Vinkul"
 
 #: CloudsEffect dialog
 msgid "Antialias"
@@ -1398,11 +1432,11 @@ msgstr ""
 
 #: PixelateData dialog
 msgid "Brush Size"
-msgstr ""
+msgstr "Penslastødd"
 
 #: PolarInversionEffect dialog
 msgid "Cell Size"
-msgstr ""
+msgstr "Puntastødd"
 
 #: MotionBlurEffect dialog
 msgid "Center Offset"
@@ -1410,11 +1444,11 @@ msgstr ""
 
 #: OilPaintingEffect dialog
 msgid "Centered"
-msgstr ""
+msgstr "Miðstillað"
 
 #: PencilSketchEffect dialog
 msgid "Coarseness"
-msgstr ""
+msgstr "Grovleiki"
 
 #: AddNoiseEffect dialog
 msgid "Color Range"
@@ -1422,7 +1456,7 @@ msgstr ""
 
 #: InkSketchEffect dialog
 msgid "Color Saturation"
-msgstr ""
+msgstr "Litmettan"
 
 #: GlowEffect dialog
 msgid "Coloring"
@@ -1434,25 +1468,25 @@ msgstr ""
 
 #: FragmentEffect dialog
 msgid "Coverage"
-msgstr ""
+msgstr "Dekningur"
 
 #: MotionBlurEffect dialog
 #: PolarInversionEffect dialog
 msgid "Distance"
-msgstr ""
+msgstr "Fjarstøða"
 
 #: JuliaFractalEffect dialog
 msgid "Edge Behavior"
-msgstr ""
+msgstr "Kantatburður"
 
 #: MandelbrotFractalEffect dialog
 #: FragmentEffect dialog
 msgid "Factor"
-msgstr ""
+msgstr "Faktorur"
 
 #: InkSketchEffect dialog
 msgid "Fragments"
-msgstr ""
+msgstr "Petti"
 
 #: TileEffect dialog
 msgid "Ink Outline"
@@ -1462,7 +1496,7 @@ msgstr ""
 #: OutlineEffect dialog
 #: MandelbrotFractalEffect dialog
 msgid "Intensity"
-msgstr ""
+msgstr "Styrki"
 
 #: RadialBlurEffect dialog
 msgid "Lighting"
@@ -1476,7 +1510,7 @@ msgstr ""
 
 #: MedianEffect dialog
 msgid "Pencil Tip Size"
-msgstr ""
+msgstr "Stødd á blýantsspíski"
 
 #: CloudsEffect dialog
 msgid "Percentile"
@@ -1484,19 +1518,19 @@ msgstr ""
 
 #: RadialBlurEffect dialog
 msgid "Power"
-msgstr ""
+msgstr "Styrki"
 
 #: PolarInversionEffect dialog
 #: JuliaFractalEffect dialog
 #: MandelbrotFractalEffect dialog
 #: GaussianBlurEffect dialog
 msgid "Quality"
-msgstr ""
+msgstr "Góðska"
 
 #: TileEffect dialog
 #: RedEyeRemoveData dialog
 msgid "Rotation"
-msgstr ""
+msgstr "Snúningur"
 
 #: CloudsEffect dialog
 msgid "Saturation percentage"
@@ -1504,7 +1538,7 @@ msgstr ""
 
 #: CloudsEffect dialog
 msgid "Scale"
-msgstr ""
+msgstr "Stigmarka"
 
 #: SoftenPortraitData dialog
 msgid "Seed"
@@ -1520,18 +1554,20 @@ msgstr ""
 
 #: TileEffect dialog
 msgid "Thickness"
-msgstr ""
+msgstr "Tjúkd"
 
 #: RedEyeRemoveData dialog
 msgid "Tile Size"
-msgstr ""
+msgstr "Tigulstødd"
 
 #: JuliaFractalEffect dialog
 msgid "Warmth"
 msgstr ""
 
 #: RadialBlurEffect dialog
-msgid "Use low quality for previews, small images, and small angles.  Use high quality for final quality, large images, and large angles."
+msgid ""
+"Use low quality for previews, small images, and small angles.  Use high "
+"quality for final quality, large images, and large angles."
 msgstr ""
 
 #: RedEyeRemoveEffect dialog
diff --git a/po/messages-fr.po b/po/messages-fr.po
index 2bb9539..353616d 100644
--- a/po/messages-fr.po
+++ b/po/messages-fr.po
@@ -7,560 +7,747 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-10-20 00:50+0000\n"
-"Last-Translator: Simon Leblanc <contact at leblanc-simon.eu>\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2011-01-03 13:02+0000\n"
+"Last-Translator: fred.lavigne <fred.taff at gmail.com>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "À propos"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "Fenêtre"
 
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "Pinceau"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "Calque"
 
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "_Fichier"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "copier"
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "_Édition"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "Redimensionner le canevas"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "_Affichage"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr "Outil"
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "_Image"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr "Raccourcis clavier"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "_Calques"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr "Composition normale"
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "_Réglages"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr "Écraser"
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "Effet_s"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr "Lissage activé"
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "_Fenêtre"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr "Lissage desactivé"
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "_Aide"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "Redimensionner l'image"
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
-msgstr ""
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr "Dernière retouche sur les pixels"
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "Outils"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr "Rotation de 180°"
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "Palette"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr "Retourner l'Image Horizontalement"
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Documents"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr "Retourner l'Image Verticalement"
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "Calques"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr "Rotation horaire de 90°"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "Historique"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr "Rotation anti-horaire de 90°"
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "Masquer"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr "Retourner le Calque Horizontalement"
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "Ancrable"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr "Retourner le Calque Verticalement"
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "Flottant"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
+msgstr "Général"
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "Cacher automatiquement"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr "Image {0} ({1})"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "Dock"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr "Rogner"
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "Contributeurs à cette version"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr "Redimensionner..."
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "Contributeurs précédents"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr "Taille du canevas..."
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
-msgstr ""
-"Launchpad Contributions:\n"
-"  Jonathan Pobst https://launchpad.net/~jpobst\n"
-"  Kwentin https://launchpad.net/~pages-quentin\n"
-"  Marting https://launchpad.net/~marting\n"
-"  Nicolas https://launchpad.net/~nicolas-pecqueux\n"
-"  Simon Leblanc https://launchpad.net/~contact-leblanc-simon"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr "Retourner horizontalement"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Traduit par :"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr "Retourner verticalement"
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "Basé sur le travail de Paint.NET"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr "Aplatir"
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "Utilisation d'icônes provenant de :"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr "Zoom avant"
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "À propos de Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr "Zoom arrière"
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "Information de version"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr "Adapter l'échelle à la fenêtre"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "Titre"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr "Adapter l'échelle à la sélection"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Version"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr "Taille réelle"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "Emplacement"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
+msgstr "Barre d'outils"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Licence"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr "Grille des pixels"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "Mis à disposition sous licence MIT X11"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr "Règles"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "Droits d’auteur"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr "Pixels"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "par les contributeurs de Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr "Pouces"
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
-msgstr "nombre de threads à utiliser pour le rendu"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr "Centimètres"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "Redimensionner l'image"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr "Plein écran"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "En pourcentage :"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr "Unités rêgle"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
-msgstr "En taille absolue :"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr "Ajouter un nouveau calque"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "Largeur :"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr "Supprimer le calque"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "pixels"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr "Dupliquer le calque"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "Hauteur :"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr "Fusionner avec le calque inférieur"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "Conserver les proportions"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr "Importer depuis un fichier..."
+
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr "Rotation / Zoom"
+
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr "Déplacer le calque vers le haut"
+
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr "Déplacer le calque vers le bas"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
 #: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
+msgid "Layer Properties..."
 msgstr "Propriétés du calque"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "Nom :"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
+msgstr "Ouvrir un fichier image"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "Visible"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr "Importer depuis un fichier"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "Opacité :"
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr "Enregistrer tout"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "Redimensionner le canevas"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr "Fermer tout"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "Ancre :"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr "Site Web de Pinta"
+
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
+msgstr "Rapporter un dysfonctionnement"
+
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
+msgstr "Traduire ce logiciel"
+
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "À propos"
+
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr "Nouveau..."
+
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
+msgstr "Nouvelle capture d'écran..."
+
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
+msgstr "Ouvrir..."
+
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr "Ouvert récemment"
+
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
+msgstr "Fermer"
+
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
+msgstr "Enregistrer"
+
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
+msgstr "Enregistrer sous..."
+
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
+msgstr "Imprimer"
+
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
+msgstr "Quitter"
+
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr "Nouveau"
+
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
+msgstr "Ouvrir"
+
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
+msgstr "Défaire"
+
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
+msgstr "Rétablir"
+
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
+msgstr "Couper"
+
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
+msgstr "Copier"
+
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
+msgstr "Coller"
+
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
+msgstr "Coller dans un nouveau calque"
+
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
+msgstr "Coller dans une nouvelle image"
+
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
+msgstr "Effacer la sélection"
+
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
+msgstr "Remplir la sélection"
+
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
+msgstr "Inverser la sélection"
+
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
+msgstr "Tout sélectionner"
 
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
+msgstr "Désélectionner"
+
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
+msgstr "Réinitialiser"
+
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
+msgstr "Définir le nombre de couleurs"
+
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "Palette"
+
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
+msgstr "Ouvrir Fichier Palette"
+
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
+msgstr "Fichiers Palette (*.txt, *.gpl)"
+
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr "Tous les fichiers"
+
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
+msgid ""
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
+msgstr ""
+"Impossible d'ouvrir le fichier de palette : {0}.\n"
+"Veuillez vérifier que vous essayez d'ouvrir une palette GIMP ou Paint.NET "
+"valide"
+
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
+msgstr "Erreur"
+
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
+msgstr "Enregistrer le fichier de palette"
+
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
+msgstr "Palette Paint.NET (*.txt)"
+
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
+msgstr "Palette GIMP (*.gpl)"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr "Image non enregistrée {0}"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
+msgstr "Arrière-plan"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
 msgid "New Image"
 msgstr "Nouvelle image"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "Taille de la nouvelle image          "
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
+msgstr "Ouvrir une image"
 
-#: Pinta/DialogHandlers.cs:57
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
 #, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
-msgstr ""
-"Souhaitez-vous enregistrer les changements de l'image \"{0}\" avant d'en "
-"créer une nouvelle ?"
+msgid "Could not open file: {0}"
+msgstr "Impossible d'ouvrir le fichier : {0}"
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr "Si vous n'enregistrez pas, toutes les modifications seront perdues."
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
+msgstr "Effet de rendu"
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "Continuer sans enregistrer"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
+msgstr "Postériser"
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "Opacité du calque"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
+msgstr "Inverser les couleurs"
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "Renommer le calque"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
+msgstr "Niveaux"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "Cacher le calque"
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
+msgstr "Noir & Blanc"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "Afficher le calque"
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
+msgstr "Niveau automatique"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
-msgstr "étiquette1"
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
+msgstr "Teinte / Saturation"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "étiquette"
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
+msgstr "Luminosité / Contraste"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
-msgstr "Bruit aléatoire"
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
+msgstr "Sépia"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
+msgstr "Courbes"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
+msgstr "Carte de transfert"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
+msgstr "RVB"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
+msgstr "Luminosité"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
+msgstr "(256, 256)"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
+msgstr "Rouge  "
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
+msgstr "Vert"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
+msgstr "Bleu "
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
 msgstr "Réinitialiser"
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
-msgstr "Pipette"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
+msgstr "Astuce : clic droit pour supprimer les points de contrôle."
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
-msgstr ""
-"Clic gauche pour définir la couleur primaire. Clic droit pour définir la "
-"couleur secondaire."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
+msgstr "Ajustement des niveaux"
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
-msgstr "Après la sélection"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
+msgstr "Histogramme d'entrée"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
-msgstr "Ne pas changer d'outil"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
+msgstr "Entrée"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
-msgstr "Changer pour l'outil précédent"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
+msgstr "Sortie"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
-msgstr "Changer pour l'outil Crayon"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
+msgstr "Histogramme de sortie"
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
-msgstr "Crayon"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
+msgstr "Auto"
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
-msgstr "Sélection Lasso"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
+msgstr "Rouge"
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
-msgstr "Cliquer et déposer pour définir la zone de selection"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
+msgstr "Bleu"
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
-msgstr "Zoom"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
+msgstr "Lié"
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
-msgstr ""
-"Clic gauche pour agrandir. Clique droit pour réduire. Cliquer et déposer "
-"pour agrandir la sélection."
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
+msgstr "Croquis au crayon"
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
-msgstr "Largeur de la brosse"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
+msgstr "Artistique"
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
-msgstr "Diminuer la taille du pinceau"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
+msgstr "Détacher"
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
-msgstr "Augmenter la taille du pinceau"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
+msgstr "Floutage"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
-msgstr "Forme extérieure"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
+msgstr "Bomber"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
-msgstr "Forme de remplissage"
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
+msgstr "Distortion"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
-msgstr "Forme de remplissage et extérieure"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
+msgstr "Fractale de Mandelbrot"
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
-msgstr "Déplacer les Pixels Sélectionnés"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
+msgstr "Effectuer le rendu"
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
-msgstr "Déplacer la seléction pour bouger le contenu seléctionné."
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
+msgstr "Médian"
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
-msgstr "Déplacement"
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
+msgstr "Bruit"
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
-msgstr "Cliquer et déplacer pour naviguer dans l'image."
+#: Pinta.Effects/Effects/PixelateEffect.cs:26
+msgid "Pixelate"
+msgstr "Pixeliser"
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
-msgstr ""
-"Clic gauche pour dessiner une forme libre,d'une largeur d'un pixel avec la "
-"couleur principale, clic droit pour utiliser la couleur secondaire"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
+msgstr "Augmenter la netteté"
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
-msgstr "Sélection Elliptique"
+#: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
+msgid "Photo"
+msgstr "Photo"
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
-msgstr ""
-"Cliquer et glisser pour faire une sélection elliptique. Maintenez Shift pour "
-"faire un cercle."
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
+msgstr "Peinture à l'huile"
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
-msgstr "Dégradé"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
+msgstr "Flou gaussien"
 
-#: Pinta.Tools/GradientTool.cs:60
-msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
-msgstr ""
-"Cliquer et glisser pour dessiner un dégradé de la première à la seconde "
-"couleur.  Clic gauche pour inverser."
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
+msgstr "Halo"
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
-msgstr "Dégradé Linéaire"
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
+msgstr "Adoucir le portrait"
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
-msgstr "Dégradé Linéaire Réfléchi"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
+msgstr "Réfléxion Mosaïque"
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
-msgstr "Dégradé Linéaire en Diamant"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr "Suppression des yeux rouges"
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
-msgstr "Dégradé Radial"
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
+msgstr "Verre dépoli"
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
-msgstr "Dégradé Conique"
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
+msgid "Edge Detect"
+msgstr "Détecter les contours"
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
-msgstr "Mode de Couleur"
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
+#: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
+msgid "Stylize"
+msgstr "Styliser"
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
-msgstr "Mode de Transparence"
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
+msgstr "Fractale de Julia"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
-msgstr "Rectangle aux coins Arrondis"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr "Flou de mouvement"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
-msgstr ""
-"Cliquer et glisser pour dessiner un rectangle aux coins arrondis (clic "
-"gacuhe pour la couleur secondaire). Maintenir Shift pour faire un carré."
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr "Gaufrer"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
-msgstr "Rayon"
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
+msgstr "Croquis à l'encre"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
-msgstr "Décrémenter le rayon du coin du rectangle"
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
+msgid "Zoom Blur"
+msgstr "Flou d'arrière plan"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
-msgstr "Incrémenter le rayon du coin du rectangle"
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
+msgid "Polar Inversion"
+msgstr "Transformation Symétrique"
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
-msgstr ""
-"Clic gauche pour dessiner avec une première couleur, clic droit pour une "
-"deuxième couleur."
+#: Pinta.Effects/Effects/CloudsEffect.cs:30
+msgid "Clouds"
+msgstr "Nuages"
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
-msgstr "Sélection Rectangulaire"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
+msgstr "Fragmentation"
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
-msgstr ""
-"Cliquer et glisser pour faire une sélection rectangulaire. Maintenir la "
-"touche Majuscule pour contraindre la sélection à un carré."
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr "Réduire le bruit"
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
-msgstr "Pot de Peinture"
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr "Flou radial"
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
-msgstr ""
-"Clic gauche pour remplir la région avec la couleur principale, clic droit "
-"pour remplir avec la couleur secondaire"
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
+msgstr "Tordre"
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
-msgstr "Tampon Duplicateur"
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
+msgid "Add Noise"
+msgstr "Ajouter du bruit"
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
-msgstr "Déplacer la Sélection"
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
+msgstr "Relief"
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
-msgstr "Déplacer la seléction pour bouger les contours de la seléction."
+#: Pinta.Effects/Effects/OutlineEffect.cs:29
+msgid "Outline"
+msgstr "Sélection des contours"
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
-msgstr "Forme Libre"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
+msgstr "Bruit aléatoire"
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
-msgstr "Mode de remplissage"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
+msgstr "regénérer"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
-msgstr "Continu"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "étiquette1"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
-msgstr "Global"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "étiquette"
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
-msgstr "Tolérance"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
+msgstr "Choisir la couleur primaire"
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
-msgstr "Ellipse"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
+msgstr "Choisir la couleur secondaire"
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
-msgstr ""
-"Cliquer et glisser pour dessiner une ellipse (clic droit pour la couleur "
-"secondaire). Maintenez la touche Majuscule pour forcer un cercle."
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr "Choisir la palette de couleurs"
+
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
+msgstr "Déplacement"
+
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
+msgstr "Cliquer et déplacer pour naviguer dans l'image."
 
 #: Pinta.Tools/TextTool.cs:37
 msgid "Text"
@@ -574,42 +761,34 @@ msgstr ""
 "Clic gauche pour placer le curseur, puis taper le texte désiré. La couleur "
 "du texte est la couleur principale."
 
-#: Pinta.Tools/TextTool.cs:131
+#: Pinta.Tools/TextTool.cs:144
 msgid "Font"
 msgstr "Police"
 
-#: Pinta.Tools/TextTool.cs:186
+#: Pinta.Tools/TextTool.cs:205
 msgid "Bold"
-msgstr "gras"
+msgstr "Gras"
 
-#: Pinta.Tools/TextTool.cs:193
+#: Pinta.Tools/TextTool.cs:212
 msgid "Italic"
 msgstr "Italique"
 
-#: Pinta.Tools/TextTool.cs:201
+#: Pinta.Tools/TextTool.cs:220
 msgid "Underline"
 msgstr "Souligné"
 
-#: Pinta.Tools/TextTool.cs:210
+#: Pinta.Tools/TextTool.cs:229
 msgid "Left Align"
 msgstr "Aligné à gauche"
 
-#: Pinta.Tools/TextTool.cs:219
+#: Pinta.Tools/TextTool.cs:238
 msgid "Center Align"
 msgstr "Aligné au centre"
 
-#: Pinta.Tools/TextTool.cs:227
+#: Pinta.Tools/TextTool.cs:246
 msgid "Right Align"
 msgstr "Aligné à droite"
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
-msgstr "Sélection Baguette Magique"
-
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
-msgstr "Cliquer pour sélectionner une région de couleur similaire"
-
 #: Pinta.Tools/RectangleTool.cs:38
 msgid "Rectangle"
 msgstr "Rectangle"
@@ -619,661 +798,636 @@ msgid ""
 "Click and drag to draw a rectangle (right click for secondary color). Hold "
 "shift to constrain to a square."
 msgstr ""
-"Cliquer et glisser pour dessiner un rectangle (clic gauche pour la couleur "
+"Cliquer et glisser pour dessiner un rectangle (clic droit pour la couleur "
 "secondaire). Maintenir la touche Majuscule pour faire un carré."
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
-msgstr "Ligne"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
+msgstr "Forme Libre"
 
-#: Pinta.Tools/LineCurveTool.cs:44
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
 msgid ""
-"Left click to draw with primary color, right click for secondary color."
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
 msgstr ""
-"Clic gauche pour dessiner avec une première couleur, clic droit avec une "
-"deuxième couleur."
+"Clic gauche pour dessiner avec la couleur primaire, clic droit pour la "
+"couleur secondaire."
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
-msgstr "Recolorisation"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
+msgstr "Style de remplissage"
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
-msgstr ""
-"Clic gauche pour remplacer la couleur secondaire par la couleur primaire."
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
+msgstr "Forme extérieure"
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
-msgstr "Gomme"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
+msgstr "Forme de remplissage"
 
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
-msgstr "Cliquer et déplacer pour effacer une portion de l'image."
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
+msgstr "Forme de remplissage et extérieure"
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:26
-msgid "Pixelate"
-msgstr "Pixeliser"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
+msgstr "Mode de remplissage"
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr "Distortion"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
+msgstr "Contigu"
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
-msgstr "Suppression des yeux rouges"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
+msgstr "Global"
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
-#: Pinta.Effects/Effects/SharpenEffect.cs:34
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
-msgid "Photo"
-msgstr "Photo"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
+msgstr "Tolérance"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
-msgstr "Flou de mouvement"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
+msgstr "Ligne"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
-msgstr "Flous"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
+msgstr ""
+"Clic gauche pour dessiner avec la couleur primaire, clic droit pour la "
+"couleur secondaire."
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
-msgstr "Croquis à l'encre"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
+msgstr "Déplacer la Sélection"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
-msgstr "Artistique"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
+msgstr "Déplacer la sélection pour bouger son contour."
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
-msgstr "Flou radial"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
+msgstr "Sélection Rectangulaire"
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
-msgstr "Détacher"
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
+msgstr ""
+"Cliquer et glisser pour faire une sélection rectangulaire. Maintenir la "
+"touche Majuscule pour contraindre la sélection à un carré."
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
-msgid "Edge Detect"
-msgstr "Détection des contours"
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
+msgstr "Sélection Baguette Magique"
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
-#: Pinta.Effects/Effects/EmbossEffect.cs:34
-msgid "Stylize"
-msgstr "Style"
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
+msgstr "Cliquer pour sélectionner une région de couleur similaire"
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
-msgstr "Verre poli"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
+msgstr "Sélection Elliptique"
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
-msgstr "Peinture à l'huile"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
+msgstr ""
+"Cliquer et glisser pour faire une sélection elliptique. Maintenir Majuscule "
+"pour faire un cercle."
 
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
-msgid "Zoom Blur"
-msgstr "Flou d'arrière plan"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
+msgstr "Sélection Lasso"
 
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
-msgid "Polar Inversion"
-msgstr "Transformation Symétrique"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
+msgstr "Cliquer et tirer pour tracer le contour d'une zone de selection."
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:30
-msgid "Clouds"
-msgstr "Nuages"
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
+msgstr "Pot de Peinture"
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr "Effectuer le rendu"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
+msgstr ""
+"Clic gauche pour remplir la région avec la couleur principale, clic droit "
+"pour remplir avec la couleur secondaire"
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
-msgstr "Halo"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
+msgstr "Dégradé"
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
-msgid "Add Noise"
-msgstr "Ajouter du bruit"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
+msgstr ""
+"Cliquer et glisser pour dessiner un dégradé de la couleur primaire vers la "
+"couleur secondaire. Clic droit pour l'inverser."
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
-msgstr "Bruit"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
+msgstr "Dégradé Linéaire"
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
-msgstr "Kaléidoscope"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
+msgstr "Dégradé Linéaire Réfléchi"
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
-msgstr "Augmenter la netteté"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
+msgstr "Dégradé Linéaire en Diamant"
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
-msgstr "Croquis au crayon"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
+msgstr "Dégradé Radial"
 
-#: Pinta.Effects/Effects/OutlineEffect.cs:29
-msgid "Outline"
-msgstr "Sélection des contours"
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
+msgstr "Dégradé Conique"
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
-msgstr "Flou gaussien"
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
+msgstr "Mode"
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
-msgstr "Réfléxion Mosaïque"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
+msgstr "Mode de Couleur"
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
-msgstr "Relief"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
+msgstr "Mode de Transparence"
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
-msgstr "Gaufrer"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
+msgstr "Largeur de la brosse"
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
-msgstr "Fractale de Mandelbrot"
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
+msgstr "Diminuer la taille du pinceau"
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
-msgstr "Bomber"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
+msgstr "Augmenter la taille du pinceau"
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
-msgstr "Tordre"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "Pinceau"
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
-msgstr "Adoucir le portrait"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
+msgstr "Type"
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
-msgstr "Réduire le bruit"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
+msgstr "Recolorisation"
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
-msgstr "Fractale de Julia"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
+msgstr ""
+"Clic gauche pour remplacer la couleur secondaire par la couleur primaire."
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
-msgstr "Médian"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
+msgstr "Normal"
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
-msgstr "Courbes"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
+msgstr "Cercles"
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
-msgstr "Niveaux"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
+msgstr "Carrés"
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
-msgstr "Niveau automatique"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
+msgstr "Éclaboussure"
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
-msgstr "Inverser les couleurs"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
+msgstr "Grille"
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
-msgstr "Postériser"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
+msgstr "Ellipse"
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
-msgstr "Noir & Blanc"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
+msgstr ""
+"Cliquer et glisser pour dessiner une ellipse (clic droit pour la couleur "
+"secondaire). Maintenez la touche Majuscule pour forcer un cercle."
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
-msgstr "Teinte / Saturation"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
+msgstr "Tampon Duplicateur"
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
-msgstr "Sépia"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
+msgstr ""
+"Cliquez sur Ctrl-gauche pour définir l'origine, clic gauche pour peindre."
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
-msgstr "Luminosité / Contraste"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "Zoom"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
-msgstr "Ajustement des niveaux"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
+msgstr ""
+"Clic gauche pour agrandir. Clic droit pour réduire. Cliquer et déposer pour "
+"agrandir la sélection."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
-msgstr "Histogramme d'entrée"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
+msgstr "Rectangle aux coins Arrondis"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
-msgstr "Entrée"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
+msgstr ""
+"Cliquer et glisser pour dessiner un rectangle aux coins arrondis (clic droit "
+"pour la couleur secondaire). Maintenir la touche Majuscule enfoncée pour "
+"forcer un carré."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
-msgstr "Sortie"
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
+msgstr "Rayon"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
-msgstr "Histogramme de sortie"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
+msgstr "Réduire le rayon du coin du rectangle"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
-msgstr "Auto"
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
+msgstr "Augmenter le rayon du coin du rectangle"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
-msgstr "Réinitialiser"
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "Pipette"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
-msgstr "Rouge"
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
+msgstr ""
+"Clic gauche pour définir la couleur primaire. Clic droit pour définir la "
+"couleur secondaire."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
-msgstr "Vert"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr "Après la sélection"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
-msgstr "Bleu"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
+msgstr "Ne pas changer d'outil"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
-msgstr "Lié"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr "Changer pour l'outil précédent"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
-msgstr "Carte de transfert"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
+msgstr "Changer pour l'outil Crayon"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
-msgstr "RVB"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "Crayon"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
-msgstr "Luminosité"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
+msgstr "Gomme"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
-msgstr "(256, 256)"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
+msgstr "Cliquer et déplacer pour effacer une portion de l'image."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
-msgstr "Rouge  "
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
+msgstr ""
+"Clic gauche pour dessiner une forme libre d'une largeur d'un pixel avec la "
+"couleur principale. Clic droit pour utiliser la couleur secondaire."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
-msgstr "Bleu "
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
+msgstr "Déplacer les Pixels Sélectionnés"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
-msgstr "Astuce : clic droit pour supprimer les points de contrôle."
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
+msgstr "Déplacer la seléction pour bouger le contenu seléctionné."
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
-msgstr "Ajouter un nouveau calque"
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "Masquer"
 
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
-msgstr "Supprimer le calque"
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "Dock"
 
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
-msgstr "Dupliquer le calque"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "Cacher automatiquement"
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
-msgstr "Fusionner avec le calque inférieur"
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "Ancrable"
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
-msgstr "Importer depuis un fichier..."
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "Flottant"
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
-msgstr "Retourner horizontalement"
+#: Pinta/Options.cs:486
+msgid "OptionName"
+msgstr "Nom de l'option"
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
-msgstr "Retourner verticalement"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "En pourcentage :"
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
-msgstr "Rotation / Zoom"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
+msgstr "En taille absolue :"
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
-msgstr "Déplacer le calque vers le haut"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "Largeur :"
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
-msgstr "Déplacer le calque vers le bas"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "pixels"
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
-msgstr "Ouvrir un fichier image"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "Hauteur :"
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
-msgstr "Importer depuis un fichier"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "Conserver les proportions"
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
-msgstr "Nouveau..."
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "Ancre :"
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
-msgstr "Ouvrir..."
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "Taille de la nouvelle image          "
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
-msgstr "Ouvert récemment"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Propriétés du calque"
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
-msgstr "Fermer"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "Nom :"
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
-msgstr "Enregistrer"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "Visible"
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
-msgstr "Enregistrer sous..."
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "Opacité :"
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
-msgstr "Imprimer"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr "..."
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr "Quitter"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "_Fichier"
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
-msgstr "Nouveau"
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "_Édition"
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
-msgstr "Ouvrir"
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "_Affichage"
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
-msgstr "Arrière-plan"
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "_Image"
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
-msgstr "Ouvrir une image"
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "_Calques"
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
-msgstr "Impossible d'ouvrir le fichier : {0}"
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "_Réglages"
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
-msgstr "Erreur"
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "Effet_s"
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
-msgstr ""
-"Enregistrer les changements de l'image \"{0}\" avant d'en ouvrir une "
-"nouvelle ?"
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "_Fenêtre"
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
-msgstr "Fichiers image"
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
+msgstr "Boites à outils"
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
-msgstr "Tous les fichiers"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "_Aide"
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
-msgstr "Enregistrer le fichier image"
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "Outils"
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
-msgstr "Image {0} ({1})"
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Documents"
+
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "Calques"
+
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "Historique"
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
-msgstr "Image OpenRaster (*.ora)"
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
+msgstr "Prendre une capture d'écran"
 
-#: Pinta.Core/Actions/FileActions.cs:392
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
+msgstr "Délai avant de prendre une capture d'écran (en secondes):"
+
+#: Pinta/DialogHandlers.cs:139
 #, csharp-format
 msgid "Save the changes to image \"{0}\" before closing?"
 msgstr "Enregistrer les changements de l'image \"{0}\" avant de fermer ?"
 
-#: Pinta.Core/Actions/FileActions.cs:402
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "Si vous n'enregistrez pas, toutes les modifications seront perdues."
+
+#: Pinta/DialogHandlers.cs:147
 msgid "Close without saving"
 msgstr "Fermer sans enregistrer"
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
-msgstr "Rogner"
-
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
-msgstr "Redimensionner..."
-
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
-msgstr "Taille du canevas..."
-
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
-msgstr "Rotation horaire de 90°"
-
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
-msgstr "Rotation anti-horaire de 90°"
-
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
-msgstr "Rotation de 180°"
-
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
-msgstr "Aplatir"
-
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr "Défaire"
-
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
-msgstr "Rétablir"
-
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
-msgstr "Couper"
-
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
-msgstr "Copier"
-
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
-msgstr "Coller"
-
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
-msgstr "Coller dans un nouveau calque"
-
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
-msgstr "Coller dans une nouvelle image"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
+msgstr "Redimensionner Palette"
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
-msgstr "Effacer la sélection"
-
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
-msgstr "Remplir la sélection"
-
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
-msgstr "Inverser la sélection"
-
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
-msgstr "Tout sélectionner"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
+msgstr "Nouvelle taille de la palette :"
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
-msgstr "Désélectionner"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "Opacité du calque"
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
-msgstr "Zoom avant"
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "Renommer le calque"
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
-msgstr "Zoom arrière"
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "Cacher le calque"
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
-msgstr "Adapter l'échelle à la fenêtre"
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "Afficher le calque"
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
-msgstr "Adapter l'échelle à la sélection"
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
+msgstr "Fichiers image"
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
-msgstr "Taille réelle"
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
+msgstr "Coller annulé"
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
-msgstr "Grille des pixels"
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
+msgstr "Le presse-papiers ne contient pas d'image"
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
-msgstr "Règles"
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
+msgstr "Enregistrer le fichier image"
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
-msgstr "Pixels"
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
+msgstr ""
+"Pinta ne prend pas en charge l'enregistrement des images dans ce format de "
+"fichier."
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
-msgstr "Pouces"
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
+msgstr "Un fichier nommé \"{0}\" existe déjà. Souhaitez vous le remplacer ?"
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
-msgstr "Centimètres"
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
+msgstr ""
+"Le fichier existe déjà dans \"{1}\". Le remplacer écrasera son contenu "
+"actuel."
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
-msgstr "Plein écran"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr "nombre de threads à utiliser pour le rendu"
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
-msgstr "Fenêtre"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Version"
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
-msgstr "Site Web de Pinta"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Licence"
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
-msgstr "Rapporter un bug"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "Mis à disposition sous licence MIT X11"
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
-msgstr "Traduire ce logiciel"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "Droits d’auteur"
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
-msgstr "Général"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "par les contributeurs de Pinta"
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
-msgstr "Outil"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "Titre"
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
-msgstr "Raccourcis clavier"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "Emplacement"
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
-msgstr "Anticrénelage"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
+msgstr "Qualité JPEG"
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
-msgstr "Mélange normal / Mélange recouvrant"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
+msgstr "Qualité: "
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
-msgstr "Retourner l'Image Horizontalement"
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "Contributeurs à cette version"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
-msgstr "Retourner l'Image Verticalement"
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "Contributeurs précédents"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
-msgstr "Retourner le Calque Horizontalement"
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Ersplus https://launchpad.net/~ersplus-free\n"
+"  Jean-François Huck https://launchpad.net/~huckjf-aquitania\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst\n"
+"  Kwentin https://launchpad.net/~pages-quentin\n"
+"  Marting https://launchpad.net/~marting\n"
+"  Nicolas https://launchpad.net/~nicolas-pecqueux\n"
+"  Simon Leblanc https://launchpad.net/~contact-leblanc-simon\n"
+"  dufoli https://launchpad.net/~olivier-duff\n"
+"  fred.lavigne https://launchpad.net/~fred-taff"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
-msgstr "Retourner le Calque Verticalement"
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Traduit par :"
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
-msgstr "Dernière retouche sur les pixels"
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "Basé sur le travail de Paint.NET :"
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
-msgstr "Effet de rendu"
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "Utilisation d'icônes provenant de :"
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
-msgstr "copier"
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "À propos de Pinta"
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
-msgstr "Calque"
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "Information de version"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1312,7 +1466,7 @@ msgstr "Taille du pinceau"
 
 #: PolarInversionEffect dialog
 msgid "Cell Size"
-msgstr "Taille d'une Cellule"
+msgstr "Taille de cellule"
 
 #: MotionBlurEffect dialog
 msgid "Center Offset"
@@ -1353,7 +1507,7 @@ msgstr "Distance"
 
 #: JuliaFractalEffect dialog
 msgid "Edge Behavior"
-msgstr "Comportement sur les bords"
+msgstr "Comportement du bord"
 
 #: MandelbrotFractalEffect dialog
 #: FragmentEffect dialog
@@ -1376,7 +1530,7 @@ msgstr "Intensité"
 
 #: RadialBlurEffect dialog
 msgid "Lighting"
-msgstr "Luminosité"
+msgstr "Éclairage"
 
 #: ZoomBlurEffect dialog
 #: BulgeEffect dialog
@@ -1458,6 +1612,9 @@ msgstr ""
 #~ msgid "File"
 #~ msgstr "Fichier"
 
+#~ msgid "Continue without saving"
+#~ msgstr "Continuer sans enregistrer"
+
 #~ msgid "RGB\n"
 #~ msgstr "RVB\n"
 
@@ -1665,6 +1822,9 @@ msgstr ""
 #~ msgid "Alphablending"
 #~ msgstr "Alphablending"
 
+#~ msgid "Normal blending / Overwrite blending"
+#~ msgstr "Mélange normal / Mélange recouvrant"
+
 #~ msgid "Opacity"
 #~ msgstr "Opacité"
 
@@ -1716,8 +1876,47 @@ msgstr ""
 #~ msgid "EdgeBehavior"
 #~ msgstr "Comportement aux Limites"
 
+#~ msgid "RGB\r"
+#~ msgstr "RVB\r"
+
+#~ msgid "OpenRaster image (*.ora)"
+#~ msgstr "Image OpenRaster (*.ora)"
+
+#~ msgid "Edit"
+#~ msgstr "Édition"
+
+#~ msgid "Antialiasing"
+#~ msgstr "Anticrénelage"
+
+#~ msgid "Adjustments"
+#~ msgstr "Réglages"
+
+#~ msgid "View"
+#~ msgstr "Affichage"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr ""
+#~ "Souhaitez-vous enregistrer les changements de l'image \"{0}\" avant d'en "
+#~ "créer une nouvelle ?"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before opening a new image?"
+#~ msgstr ""
+#~ "Enregistrer les changements de l'image \"{0}\" avant d'en ouvrir une "
+#~ "nouvelle ?"
+
 #~ msgid "Tip : Right-click to remove control points."
 #~ msgstr "Astuce : Clic-droit pour retirer les points de contrôle."
 
+#~ msgid "Fill mode"
+#~ msgstr "Mode de remplissage"
+
 #~ msgid "Show Pad"
 #~ msgstr "Afficher la fenêtre"
+
+#~ msgid "X:"
+#~ msgstr "X:"
+
+#~ msgid "Y:"
+#~ msgstr "Y:"
diff --git a/po/messages-ga.po b/po/messages-ga.po
index 916ed18..ad96ab9 100644
--- a/po/messages-ga.po
+++ b/po/messages-ga.po
@@ -7,670 +7,638 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-09-07 11:04+0000\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2010-10-27 02:28+0000\n"
 "Last-Translator: Jonathan Pobst <Unknown>\n"
 "Language-Team: Irish <ga at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
 msgstr ""
 
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "scuab phéinte"
-
-#: Pinta/MainWindow.cs:259
-msgid "_File"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
 msgstr ""
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
 msgstr ""
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "_Feach"
-
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "_Íomhá"
-
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
 msgstr ""
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
 msgstr ""
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
 msgstr ""
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "_Fuinneóg"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr ""
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "_Cabhair"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr ""
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
 msgstr ""
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
 msgstr ""
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
 msgstr ""
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Doiciméid"
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr ""
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
 msgstr ""
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
 msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
 msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
 msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
 msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
 msgstr ""
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "Cuir i nDuga"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
 msgstr ""
-"Launchpad Contributions:\n"
-"  Jonathan Pobst https://launchpad.net/~jpobst\n"
-"  Shane Halloran https://launchpad.net/~shane.halloran"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Aistrithe ag:"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
 msgstr ""
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
 msgstr ""
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Leagan"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr ""
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
 msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Ceadúnas"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
 msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "Cóipcheart"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
 msgstr ""
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "Leitheid:"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "Airde:"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
-#: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "Ainm:"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
-msgid "New Image"
+#: Pinta.Core/Actions/LayerActions.cs:74
+msgid "Layer Properties..."
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:57
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
 msgstr ""
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
 msgstr ""
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
 msgstr ""
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
 msgstr ""
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
 msgstr ""
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
 msgstr ""
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
 msgstr ""
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
 msgstr ""
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
 msgstr ""
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:60
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
 msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
+msgid "New Image"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
+#, csharp-format
+msgid "Could not open file: {0}"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
 msgstr ""
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
 msgstr ""
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
 msgstr ""
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
 msgstr ""
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
 msgstr ""
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
 msgstr ""
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
 msgstr ""
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
 msgstr ""
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
 msgstr ""
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:37
-msgid "Text"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:44
-msgid ""
-"Left click to place cursor, then type desired text. Text color is primary "
-"color."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:131
-msgid "Font"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:186
-msgid "Bold"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:193
-msgid "Italic"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:201
-msgid "Underline"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:210
-msgid "Left Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:219
-msgid "Center Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:227
-msgid "Right Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
 msgstr ""
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
 msgstr ""
 
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
 msgstr ""
 
-#: Pinta.Tools/RectangleTool.cs:38
-msgid "Rectangle"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
 msgstr ""
 
-#: Pinta.Tools/RectangleTool.cs:44
-msgid ""
-"Click and drag to draw a rectangle (right click for secondary color). Hold "
-"shift to constrain to a square."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
 msgstr ""
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
 msgstr ""
 
-#: Pinta.Tools/LineCurveTool.cs:44
-msgid ""
-"Left click to draw with primary color, right click for secondary color."
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
 msgstr ""
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
 msgstr ""
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
 msgstr ""
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
 msgstr ""
 
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
 msgstr ""
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:26
-msgid "Pixelate"
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
 msgstr ""
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
+#: Pinta.Effects/Effects/PixelateEffect.cs:26
+msgid "Pixelate"
 msgstr ""
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
 msgstr ""
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
 msgid "Photo"
 msgstr ""
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
 msgstr ""
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
 msgstr ""
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
 msgstr ""
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
 msgstr ""
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
 msgstr ""
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr ""
+
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
 msgstr ""
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
@@ -678,18 +646,26 @@ msgid "Edge Detect"
 msgstr ""
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
 #: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
 msgid "Stylize"
 msgstr ""
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
 msgstr ""
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr ""
+
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr ""
+
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
 msgstr ""
 
 #: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
@@ -704,541 +680,710 @@ msgstr ""
 msgid "Clouds"
 msgstr ""
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
 msgstr ""
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr ""
+
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr ""
+
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
 msgstr ""
 
 #: Pinta.Effects/Effects/AddNoiseEffect.cs:30
 msgid "Add Noise"
 msgstr ""
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
 msgstr ""
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
+#: Pinta.Effects/Effects/OutlineEffect.cs:29
+msgid "Outline"
 msgstr ""
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
 msgstr ""
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
 msgstr ""
 
-#: Pinta.Effects/Effects/OutlineEffect.cs:29
-msgid "Outline"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
 msgstr ""
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
 msgstr ""
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
 msgstr ""
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
 msgstr ""
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
+#: Pinta.Tools/TextTool.cs:37
+msgid "Text"
 msgstr ""
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
+#: Pinta.Tools/TextTool.cs:44
+msgid ""
+"Left click to place cursor, then type desired text. Text color is primary "
+"color."
 msgstr ""
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
+#: Pinta.Tools/TextTool.cs:144
+msgid "Font"
 msgstr ""
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
+#: Pinta.Tools/TextTool.cs:205
+msgid "Bold"
 msgstr ""
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
+#: Pinta.Tools/TextTool.cs:212
+msgid "Italic"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
+#: Pinta.Tools/TextTool.cs:220
+msgid "Underline"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
+#: Pinta.Tools/TextTool.cs:229
+msgid "Left Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
+#: Pinta.Tools/TextTool.cs:238
+msgid "Center Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
+#: Pinta.Tools/TextTool.cs:246
+msgid "Right Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
+#: Pinta.Tools/RectangleTool.cs:38
+msgid "Rectangle"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
+#: Pinta.Tools/RectangleTool.cs:44
+msgid ""
+"Click and drag to draw a rectangle (right click for secondary color). Hold "
+"shift to constrain to a square."
 msgstr ""
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
+msgid ""
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
 msgstr ""
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "scuab phéinte"
+
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:392
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before closing?"
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:402
-msgid "Close without saving"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "Cuir i nDuga"
+
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
+#: Pinta/Options.cs:486
+msgid "OptionName"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "Leitheid:"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "Airde:"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "Ainm:"
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "_Feach"
+
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "_Íomhá"
+
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "_Fuinneóg"
+
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
 msgstr ""
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "_Cabhair"
+
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Doiciméid"
+
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
+#: Pinta/DialogHandlers.cs:139
+#, csharp-format
+msgid "Save the changes to image \"{0}\" before closing?"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
+#: Pinta/DialogHandlers.cs:147
+msgid "Close without saving"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
 msgstr ""
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
 msgstr ""
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
 msgstr ""
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr ""
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr ""
+
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
+msgstr ""
+
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
+msgstr ""
+
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
+msgstr ""
+
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
+msgstr ""
+
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
+msgstr ""
+
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
+msgstr ""
+
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
+msgstr ""
+
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr ""
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Leagan"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Ceadúnas"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr ""
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "Cóipcheart"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr ""
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr ""
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr ""
+
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
+msgstr ""
+
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
+msgstr ""
+
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr ""
+
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr ""
+
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst\n"
+"  Shane Halloran https://launchpad.net/~shane.halloran"
+
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Aistrithe ag:"
+
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr ""
+
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr ""
+
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr ""
+
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
 msgstr ""
 
 #: BulgeEffect dialog
diff --git a/po/messages-gl.po b/po/messages-gl.po
index 630206c..5ddb8d8 100644
--- a/po/messages-gl.po
+++ b/po/messages-gl.po
@@ -7,669 +7,638 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-09-21 22:19+0000\n"
-"Last-Translator: xanocebreiro <Unknown>\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2010-11-03 18:37+0000\n"
+"Last-Translator: Manuel Xosé Lemos <Unknown>\n"
 "Language-Team: Galician <gl at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "Acerca de"
-
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "Pincel de pintura"
-
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "_Ficheiro"
-
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "_Editar"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "Xanela"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "_Ver"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "Capa"
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "_Imaxe"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "copiar"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "_Capas"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr ""
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "_Axustes"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr "Ferramenta"
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "Efe_ctos"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr "Atallo de teclado"
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "_Ventá"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr ""
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "_Axuda"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr "Sobreescribir"
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
 msgstr ""
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "Ferramentas"
-
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "Paleta"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr ""
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Documentos"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "Mudar o tamaño da imaxe"
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "Capas"
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr ""
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "Historial"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr "Rotar 180º"
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "Ocultar"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr "Voltear imaxe horizontalmente"
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "Ancorable"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr "Voltear imaxe verticalmente"
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "Flotante"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr "Rotar 90º á dereita"
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "Agochar automaticamente"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr "Rotar 90º á esquerda"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "Panel"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr "Voltear capa horizontalmente"
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "Contribuíron nesta versión"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr "Voltear capa verticalmente"
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "Contribuíntes anteriores"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
+msgstr "Xeral"
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
 msgstr ""
-"Launchpad Contributions:\n"
-"  xanocebreiro https://launchpad.net/~xanocebreiro"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Traducido por:"
-
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "Con base no traballo de Paint.NET:"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr "Recortar pola selección"
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "Usando algunhas iconas:"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "Sobre Pinta"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr "Tamaño do lenzo..."
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "Información sobre a versión"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr "Voltear horizontalmente"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "Título"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr "Voltear verticalmente"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Versión"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr ""
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "Camiño"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Licenza"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "Liberado baixo a licenza MIT X11."
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "Copyright"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "polos contribuíntes de Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr ""
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
-msgstr "número de segmentos para procesar"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "Mudar o tamaño da imaxe"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "En porcentaxe:"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
-#: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
-msgid "New Image"
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:57
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
+#: Pinta.Core/Actions/LayerActions.cs:74
+msgid "Layer Properties..."
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "Acerca de"
+
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
 msgstr ""
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
 msgstr ""
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
 msgstr ""
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
 msgstr ""
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
 msgstr ""
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
 msgstr ""
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
 msgstr ""
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
 msgstr ""
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "Paleta"
+
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
 msgstr ""
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:60
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
 msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
+msgid "New Image"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
+#, csharp-format
+msgid "Could not open file: {0}"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
 msgstr ""
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
 msgstr ""
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
 msgstr ""
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
 msgstr ""
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
 msgstr ""
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
 msgstr ""
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
 msgstr ""
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
 msgstr ""
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
 msgstr ""
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:37
-msgid "Text"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:44
-msgid ""
-"Left click to place cursor, then type desired text. Text color is primary "
-"color."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:131
-msgid "Font"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:186
-msgid "Bold"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:193
-msgid "Italic"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:201
-msgid "Underline"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:210
-msgid "Left Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:219
-msgid "Center Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:227
-msgid "Right Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
 msgstr ""
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
 msgstr ""
 
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
 msgstr ""
 
-#: Pinta.Tools/RectangleTool.cs:38
-msgid "Rectangle"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
 msgstr ""
 
-#: Pinta.Tools/RectangleTool.cs:44
-msgid ""
-"Click and drag to draw a rectangle (right click for secondary color). Hold "
-"shift to constrain to a square."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
 msgstr ""
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
 msgstr ""
 
-#: Pinta.Tools/LineCurveTool.cs:44
-msgid ""
-"Left click to draw with primary color, right click for secondary color."
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
 msgstr ""
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
 msgstr ""
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
 msgstr ""
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
 msgstr ""
 
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
 msgstr ""
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:26
-msgid "Pixelate"
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
 msgstr ""
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
+#: Pinta.Effects/Effects/PixelateEffect.cs:26
+msgid "Pixelate"
 msgstr ""
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
 msgstr ""
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
 msgid "Photo"
 msgstr ""
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
 msgstr ""
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
 msgstr ""
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
 msgstr ""
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
 msgstr ""
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
 msgstr ""
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr ""
+
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
 msgstr ""
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
@@ -677,18 +646,26 @@ msgid "Edge Detect"
 msgstr ""
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
 #: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
 msgid "Stylize"
 msgstr ""
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
 msgstr ""
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr ""
+
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr ""
+
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
 msgstr ""
 
 #: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
@@ -703,542 +680,712 @@ msgstr ""
 msgid "Clouds"
 msgstr ""
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
 msgstr ""
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr ""
+
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr ""
+
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
 msgstr ""
 
 #: Pinta.Effects/Effects/AddNoiseEffect.cs:30
 msgid "Add Noise"
 msgstr ""
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
 msgstr ""
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
+#: Pinta.Effects/Effects/OutlineEffect.cs:29
+msgid "Outline"
 msgstr ""
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
 msgstr ""
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
 msgstr ""
 
-#: Pinta.Effects/Effects/OutlineEffect.cs:29
-msgid "Outline"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
 msgstr ""
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
 msgstr ""
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
 msgstr ""
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
 msgstr ""
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
+#: Pinta.Tools/TextTool.cs:37
+msgid "Text"
 msgstr ""
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
+#: Pinta.Tools/TextTool.cs:44
+msgid ""
+"Left click to place cursor, then type desired text. Text color is primary "
+"color."
 msgstr ""
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
+#: Pinta.Tools/TextTool.cs:144
+msgid "Font"
 msgstr ""
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
+#: Pinta.Tools/TextTool.cs:205
+msgid "Bold"
 msgstr ""
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
+#: Pinta.Tools/TextTool.cs:212
+msgid "Italic"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
+#: Pinta.Tools/TextTool.cs:220
+msgid "Underline"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
+#: Pinta.Tools/TextTool.cs:229
+msgid "Left Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
+#: Pinta.Tools/TextTool.cs:238
+msgid "Center Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
+#: Pinta.Tools/TextTool.cs:246
+msgid "Right Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
+#: Pinta.Tools/RectangleTool.cs:38
+msgid "Rectangle"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
+#: Pinta.Tools/RectangleTool.cs:44
+msgid ""
+"Click and drag to draw a rectangle (right click for secondary color). Hold "
+"shift to constrain to a square."
 msgstr ""
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
+msgid ""
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
 msgstr ""
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "Pincel de pintura"
+
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:392
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before closing?"
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:402
-msgid "Close without saving"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "Ocultar"
+
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "Panel"
+
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "Agochar automaticamente"
+
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "Ancorable"
+
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "Flotante"
+
+#: Pinta/Options.cs:486
+msgid "OptionName"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "En porcentaxe:"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "_Ficheiro"
+
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "_Editar"
+
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "_Ver"
+
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "_Imaxe"
+
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "_Capas"
+
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "_Axustes"
+
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "Efe_ctos"
+
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "_Ventá"
+
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "_Axuda"
+
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "Ferramentas"
+
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Documentos"
+
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "Capas"
+
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "Historial"
+
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
+#: Pinta/DialogHandlers.cs:139
+#, csharp-format
+msgid "Save the changes to image \"{0}\" before closing?"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
+#: Pinta/DialogHandlers.cs:147
+msgid "Close without saving"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
 msgstr ""
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
 msgstr ""
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
 msgstr ""
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
 msgstr ""
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr "número de segmentos para procesar"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Versión"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Licenza"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "Liberado baixo a licenza MIT X11."
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "Copyright"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "polos contribuíntes de Pinta"
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "Título"
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "Camiño"
+
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
 msgstr ""
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
+msgstr ""
+
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "Contribuíron nesta versión"
+
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "Contribuíntes anteriores"
+
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
 msgstr ""
+"Launchpad Contributions:\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst\n"
+"  Manuel Xosé Lemos https://launchpad.net/~mxlemos\n"
+"  xanocebreiro https://launchpad.net/~xanocebreiro"
+
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Traducido por:"
+
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "Con base no traballo de Paint.NET:"
+
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "Usando algunhas iconas:"
+
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "Sobre Pinta"
+
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "Información sobre a versión"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1414,3 +1561,6 @@ msgstr ""
 #: RedEyeRemoveEffect dialog
 msgid "Hint: For best results, first use selection tools to select each eye."
 msgstr ""
+
+#~ msgid "Show Pad"
+#~ msgstr "Amosar bloque"
diff --git a/po/messages-he.po b/po/messages-he.po
index d0567a9..91ef054 100644
--- a/po/messages-he.po
+++ b/po/messages-he.po
@@ -7,547 +7,746 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-09-07 11:07+0000\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2011-01-07 09:03+0000\n"
 "Last-Translator: Yaron <sh.yaron at gmail.com>\n"
 "Language-Team: Hebrew <he at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "על אודות"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "חלון"
 
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "מברשת"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "שכבה"
 
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "_קובץ"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "עותק"
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "ע_ריכה"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "שינוי גודל משטח הציור"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "ת_צוגה"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr "כלי"
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "ת_מונה"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr "מקשי קיצור"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "שכ_בות"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr "ערבול רגיל"
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "הת_אמות"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr "דריסה"
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "_אפקטים"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr "החלקה פעילה"
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "_חלון"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr "החלקה כבויה"
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "ע_זרה"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "שינוי גודל התמונה"
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
-msgstr ""
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr "גימור הפיקסלים"
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "כלים"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr "היפוך ב־180°"
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "לוח צבעים"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr "היפוך התמונה אופקית"
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "מסמכים"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr "היפוך התמונה אנכית"
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "שכבות"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr "היפוך ב־90° עם כיוון השעון"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "היסטוריה"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr "היפוך ב־90° נגד כיוון השעון"
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "הסתרה"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr "היפוך השכבה אופקית"
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "ניתן לעגינה"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr "היפוך השכבה אנכית"
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "צף"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
+msgstr "כללי"
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "הסתרה אוטומטית"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr "{0} תמונה ({1})"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "עגינה"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr "חיתוך לבחירה"
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "תורמים להפצה זו"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr "שינוי גודל..."
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "תורמי עבר"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr "גודל משטח הציור..."
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
-msgstr ""
-"Launchpad Contributions:\n"
-"  Yaron https://launchpad.net/~sh-yaron"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr "היפוך אופקי"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "תורגם על ידי:"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr "היפוך אנכי"
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "מבוסס על העבודה של Paint.NET:"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr "השטחה"
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "נעשה שימוש בכמה סמלים מ־:"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr "התקרבות"
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "על אודות Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr "התרחקות"
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "נתוני הגרסה"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr "תקריב על גודל החלון"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "כותרת"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr "תקריב על הבחירה"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "גרסה"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr "גודל ממשי"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "נתיב"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
+msgstr "סרגל כלים"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "רישיון"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr "רשת פיקסלים"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "שוחרר תחת תנאי הרישיון MIT X11."
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr "סרגלים"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "כל הזכויות שמורות"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr "פיקסלים"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "לתורמי Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr "אינטשים"
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
-msgstr "מספר הפתילים לשימוש בטרם העיבוד"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr "סנטימטרים"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "שינוי גודל התמונה"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr "מסך מלא"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "באחוזים:"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr "יחידות הסרגל"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
-msgstr "בגודל מוחלט:"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr "הוספת שכבה חדשה"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "רוחב:‏"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr "מחיקת שכבה"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "פיקסלים"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr "שכפול שכבה"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "גובה:"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr "מיזוג השכבה כלפי מטה"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "שמירה על יחס גובה־רוחב"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr "ייבוא מקובץ..."
+
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr "הטייה / התקרבות"
+
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr "הגבהת השכבה"
+
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr "הנמכת השכבה"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
 #: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "מאפייני השכבה"
+msgid "Layer Properties..."
+msgstr "מאפייני השכבה..."
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "שם:"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
+msgstr "פתיחת קובץ תמונה"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "גלוי"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr "ייבוא מקובץ"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "אטימות:"
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr "שמירת הכול"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "שינוי גודל משטח הציור"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr "סגירת הכול"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "עוגן:"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr "אתר הבית של Pinta"
+
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
+msgstr "דיווח על באג"
+
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
+msgstr "תרגום יישום זה"
+
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "על אודות"
+
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr "חדשה..."
+
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
+msgstr "צילום מסך חדש..."
+
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
+msgstr "פתיחה..."
+
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr "נפתחו לאחרונה"
+
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
+msgstr "סגירה"
+
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
+msgstr "שמירה"
+
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
+msgstr "שמירה בשם..."
+
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
+msgstr "הדפסה"
 
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
+msgstr "יציאה"
+
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr "חדשה"
+
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
+msgstr "פתיחה"
+
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
+msgstr "ביטול"
+
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
+msgstr "ביצוע חוזר"
+
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
+msgstr "גזירה"
+
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
+msgstr "העתקה"
+
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
+msgstr "הדבקה"
+
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
+msgstr "הדבקה לשכבה חדשה"
+
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
+msgstr "הדבקה לתמונה חדשה"
+
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
+msgstr "מחיקת הבחירה"
+
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
+msgstr "מילוי הבחירה"
+
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
+msgstr "היפוך הבחירה"
+
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
+msgstr "בחירת הכול"
+
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
+msgstr "ביטול בחירה"
+
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
+msgstr "איפוס לבררת המחדל"
+
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
+msgstr "הגדרת מספר הצבעים"
+
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "לוח צבעים"
+
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
+msgstr "פתיחת קובץ ערכת צבעים"
+
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
+msgstr "קובצי ערכת צבעים (‎*.txt, *.gpl)"
+
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr "כל הקבצים"
+
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
+msgid ""
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
+msgstr ""
+"לא ניתן לפתוח את קובץ ערכת הצבעים: {0}.\n"
+"נא לוודא שהקובץ המיועד לפתיחה הוא ערכת צבעים תקנית של GIMP או Paint.NET."
+
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
+msgstr "שגיאה"
+
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
+msgstr "שמירת קובץ ערכת הצבעים"
+
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
+msgstr "ערכת צבעים של Paint.NET‏ (‎*.txt)"
+
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
+msgstr "ערכת צבעים של GIMP‏ (‎*.gpl)"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr "תמונה שלא נשמרה {0}"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
+msgstr "רקע"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
 msgid "New Image"
 msgstr "תמונה חדשה"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "גודל התמונה החדשה          "
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
+msgstr "פתיחת תמונה"
 
-#: Pinta/DialogHandlers.cs:57
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
 #, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
-msgstr "האם לשמור את השינויים לתמונה \"{0}\" בטרם יצירת אחת חדשה?"
+msgid "Could not open file: {0}"
+msgstr "לא ניתן לפתוח את הקובץ: {0}"
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr "אם השינויים לא ישמרו הם יאבדו לעד."
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
+msgstr "אפקט עיבוד"
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "להמשיך מבלי לשמור"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
+msgstr "הפחתת כמות הצבעים"
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "אטימות השכבה"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
+msgstr "היפוך צבעים"
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "שינוי שם השכבה"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
+msgstr "רמות"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "הסתרת השכבה"
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
+msgstr "שחור ולבן"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "הצגת השכבה"
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
+msgstr "רמות אוטומטיות"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
-msgstr "תווית1"
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
+msgstr "גוון / רוויה"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "תווית"
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
+msgstr "בהירות / ניגודיות"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
-msgstr "רעש אקראי"
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
+msgstr "ענתיקה"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
-msgstr "מיקום מחדש"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
+msgstr "עקומות"
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
-msgstr "‏מלקט הצבעים"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
+msgstr "מרחב צבעים להמרה"
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
-msgstr ""
-"לחיצה בלחצן השמאלי כדי לבחור צבע עיקרי. בימיני כדי להגדיר את הצבע המשני."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
+msgstr "RGB"
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
-msgstr "לאחר הבחירה"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
+msgstr "עצמת התאורה"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
-msgstr "לא להחליף כלי"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
+msgstr "(256, 256)"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
-msgstr "חזרה לכלי הקודם"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
+msgstr "אדום  "
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
-msgstr "מעבר לכלי העיפרון"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
+msgstr "ירוק"
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
-msgstr "עיפרון"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
+msgstr "כחול "
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
-msgstr "בחירת פלצור"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
+msgstr "איפוס"
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
-msgstr "יש ללחוץ ולגרור כדי לצייר קו מתאר לאזור הבחירה."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
+msgstr "עצה: לחצן ימני כדי להסיר נקודות בקרה."
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
-msgstr "תקריב"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
+msgstr "התאמת הרמות"
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
-msgstr ""
-"לחיצה שמאלית להתקרבות. לחצן ימני להתרחקות. לחיצה וגרירה כדי להתקרב לבחירה."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
+msgstr "היסטוגרמת הקלט"
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
-msgstr "עובי המברשת"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
+msgstr "קלט"
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
-msgstr "הקטנת גודל המברשת"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
+msgstr "פלט"
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
-msgstr "הגדלת גודל המברשת"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
+msgstr "היסטוגרמת הפלט"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
-msgstr "קו המתאר של הצורה"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
+msgstr "אוטומטי"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
-msgstr "מילוי הצורה"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
+msgstr "אדום"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
-msgstr "מילוי וקו המתאר של הצורה"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
+msgstr "כחול"
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
-msgstr "הזזת הפיקסלים הנבחרים"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
+msgstr "מקושר"
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
-msgstr "יש לגרור את הבחירה כדי להזיז את התוכן הנבחר."
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
+msgstr "סקיצה בעפרון"
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
-msgstr "ניווט"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
+msgstr "אמנותי"
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
-msgstr "יש ללחוץ ולגרור כדי לנווט ברחבי התמונה."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
+msgstr "יציאה ממיקוד"
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
-msgstr ""
-"לחיצה שמאלית כדי לצייר ביד חופשית, שורות ברוחב פיקסל אחד בצבע העיקרי, לחצן "
-"ימני כדי להשתמש בצבע המשני."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
+msgstr "טשטושים"
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
-msgstr "בחירת אליפסה"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
+msgstr "בליטה"
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
-msgstr ""
-"יש ללחוץ ולגרור כדי לצייר בחירה אליפטית. יש להחזיק shift כדי לקבע את העיגול."
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
+msgstr "עיוות"
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
-msgstr "מדרג"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
+msgstr "פרקטל מנדלברוט"
 
-#: Pinta.Tools/GradientTool.cs:60
-msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
-msgstr ""
-"יש ללחוץ ולגרור כדי לצייר מדרג מהצבע העיקרי לצבע המשני. לחיצה ימנית להיפוך."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
+msgstr "עיבוד"
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
-msgstr "מדרג קווי"
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
+msgstr "חציוני"
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
-msgstr "מדרג קווי משתקף"
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
+msgstr "רעש"
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
-msgstr "מדרג קווי בצורת מעוין"
+#: Pinta.Effects/Effects/PixelateEffect.cs:26
+msgid "Pixelate"
+msgstr "טשטוש לפיקסלים"
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
-msgstr "מדרג מעגלי"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
+msgstr "חידוד"
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
-msgstr "מדרג חרוטי"
+#: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
+msgid "Photo"
+msgstr "צילום"
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
-msgstr "מצב צבע"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
+msgstr "ציור שמן"
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
-msgstr "מצב שקיפות"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
+msgstr "טשטוש גאוסי"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
-msgstr "מלבן מעוגל"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
+msgstr "זריחה"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
-msgstr ""
-"יש ללחוץ ולגרור כדי לצייר ריבוע מעוגל (לחיצה ימנית לצבע משני). יש להחזיק "
-"shift כדי לקבע יחס."
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
+msgstr "ריכוך דיוקן"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
-msgstr "רדיוס"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
+msgstr "השתקפות אריחית"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
-msgstr "הקטנת רדיוס הפינה של המרובע"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr "הסרת עיניים אדומות"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
-msgstr "הגדלת רדיוס הפינה של המרובע"
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
+msgstr "זכוכית קפואה"
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
-msgstr "לחיצה שמאלית כדי לצייר בצבע הראשי, לחיצה ימנית כדי לצייר בצבע המשני."
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
+msgid "Edge Detect"
+msgstr "איתור קצוות"
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
-msgstr "בחירה ריבועית"
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
+#: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
+msgid "Stylize"
+msgstr "מסוגנן"
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
-msgstr ""
-"יש ללחוץ ולגרור גדי לצייר בחירה ריבועית. יש להחזיק shift כדי לקבע את יחס "
-"הריבוע."
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
+msgstr "פרקטל יוליה"
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
-msgstr "דלי צבע"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr "טשטוש בתנועה"
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
-msgstr ""
-"לחיצה שמאלית כדי למלא אזור בצבע העיקרי, לחיצה ימנית כדי למלא בצבע המשני."
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr "תבליט"
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
-msgstr "חותמת העתקים"
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
+msgstr "סקיצת דיו"
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
-msgstr "הזזת האזור נבחר"
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
+msgid "Zoom Blur"
+msgstr "טשטוש מרחק"
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
-msgstr "יש לגרור את הבחירה כדי להזיז את קווי המתאר של הבחירה."
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
+msgid "Polar Inversion"
+msgstr "היפוך קוטבי"
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
-msgstr "צורה ביד חופשית"
+#: Pinta.Effects/Effects/CloudsEffect.cs:30
+msgid "Clouds"
+msgstr "עננים"
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
-msgstr "מצב מילוי"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
+msgstr "שבר"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
-msgstr "המשכי"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr "הפחתת רעש"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
-msgstr "גלובלי"
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr "טשטוש מעגלי"
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
-msgstr "טולרנטיות"
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
+msgstr "סיבוב"
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
-msgstr "אליפסה"
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
+msgid "Add Noise"
+msgstr "הוספת רעש"
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
-msgstr ""
-"יש ללחוץ ולגרור כדי לצייר אליפסה (לחצן ימני לצבע המשני). יש להחזיק shift כדי "
-"לקבע יחס לעיגול."
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
+msgstr "איזון גבהים"
+
+#: Pinta.Effects/Effects/OutlineEffect.cs:29
+msgid "Outline"
+msgstr "קו מתאר"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
+msgstr "רעש אקראי"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
+msgstr "מיקום מחדש"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "תווית1"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "תווית"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
+msgstr "בחירת צבע עיקרי"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
+msgstr "בחירת צבע משני"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr "בחירת ערכת צבעים"
+
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
+msgstr "ניווט"
+
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
+msgstr "יש ללחוץ ולגרור כדי לנווט ברחבי התמונה."
 
 #: Pinta.Tools/TextTool.cs:37
 msgid "Text"
@@ -561,42 +760,34 @@ msgstr ""
 "לחיצה שמאלית כדי להציב את הסמן, ואז להקליד את הטקסט הרצוי. צבע הטקסט הוא "
 "הצבע העיקרי."
 
-#: Pinta.Tools/TextTool.cs:131
+#: Pinta.Tools/TextTool.cs:144
 msgid "Font"
 msgstr "גופן"
 
-#: Pinta.Tools/TextTool.cs:186
+#: Pinta.Tools/TextTool.cs:205
 msgid "Bold"
 msgstr "מודגש"
 
-#: Pinta.Tools/TextTool.cs:193
+#: Pinta.Tools/TextTool.cs:212
 msgid "Italic"
 msgstr "נטוי"
 
-#: Pinta.Tools/TextTool.cs:201
+#: Pinta.Tools/TextTool.cs:220
 msgid "Underline"
 msgstr "קו תחתי"
 
-#: Pinta.Tools/TextTool.cs:210
+#: Pinta.Tools/TextTool.cs:229
 msgid "Left Align"
 msgstr "יישור לשמאל"
 
-#: Pinta.Tools/TextTool.cs:219
+#: Pinta.Tools/TextTool.cs:238
 msgid "Center Align"
 msgstr "יישור למרכז"
 
-#: Pinta.Tools/TextTool.cs:227
+#: Pinta.Tools/TextTool.cs:246
 msgid "Right Align"
 msgstr "יישור לימין"
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
-msgstr "בחירה עם שרביט קסם"
-
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
-msgstr "יש ללחוץ כדי לבחור אזור בעל אותו הצבע."
-
 #: Pinta.Tools/RectangleTool.cs:38
 msgid "Rectangle"
 msgstr "מלבן"
@@ -609,653 +800,609 @@ msgstr ""
 "יש ללחוץ ולגרור כדי לצייר מלבן (לחיצה ימנית לצבע משני). יש להחזיק shift כדי "
 "לקבע יחס לריבוע."
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
-msgstr "קו"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
+msgstr "צורה ביד חופשית"
 
-#: Pinta.Tools/LineCurveTool.cs:44
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
 msgid ""
-"Left click to draw with primary color, right click for secondary color."
-msgstr "לחיצה שמאלית כדי לצייר עם הצבע העיקרי, ימנית עם הצבע המשני."
-
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
-msgstr "החלפת צבעים"
-
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
-msgstr "לחיצה שמאלית כדי להחליף את המשני בעיקרי."
-
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
-msgstr "מוחק"
-
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
-msgstr "יש ללחוץ ולגרור כדי למחוק חלק מהתמונה."
-
-#: Pinta.Effects/Effects/PixelateEffect.cs:26
-msgid "Pixelate"
-msgstr "טשטוש לפיקסלים"
-
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr "עיוות"
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
-msgstr "הסרת עיניים אדומות"
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
-#: Pinta.Effects/Effects/SharpenEffect.cs:34
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
-msgid "Photo"
-msgstr "צילום"
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
+msgstr "לחיצה שמאלית כדי לצייר בצבע הראשי, לחיצה ימנית כדי לצייר בצבע המשני."
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
-msgstr "טשטוש בתנועה"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
+msgstr "סגנון המילוי"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
-msgstr "טשטושים"
-
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
-msgstr "סקיצת דיו"
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
+msgstr "קו המתאר של הצורה"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
-msgstr "אמנותי"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
+msgstr "מילוי הצורה"
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
-msgstr "טשטוש מעגלי"
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
+msgstr "מילוי וקו המתאר של הצורה"
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
-msgstr "יציאה ממיקוד"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
+msgstr "מצב הצפה"
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
-msgid "Edge Detect"
-msgstr "איתור קצוות"
-
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
-#: Pinta.Effects/Effects/EmbossEffect.cs:34
-msgid "Stylize"
-msgstr "מסוגנן"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
+msgstr "המשכי"
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
-msgstr "זכוכית קפואה"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
+msgstr "גלובלי"
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
-msgstr "ציור שמן"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
+msgstr "טולרנטיות"
 
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
-msgid "Zoom Blur"
-msgstr "טשטוש מרחק"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
+msgstr "קו"
 
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
-msgid "Polar Inversion"
-msgstr "היפוך קוטבי"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
+msgstr "לחיצה שמאלית כדי לצייר עם הצבע העיקרי, ימנית עם הצבע המשני."
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:30
-msgid "Clouds"
-msgstr "עננים"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
+msgstr "הזזת האזור נבחר"
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr "עיבוד"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
+msgstr "יש לגרור את הבחירה כדי להזיז את קווי המתאר של הבחירה."
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
-msgstr "זריחה"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
+msgstr "בחירה ריבועית"
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
-msgid "Add Noise"
-msgstr "הוספת רעש"
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
+msgstr ""
+"יש ללחוץ ולגרור גדי לצייר בחירה ריבועית. יש להחזיק shift כדי לקבע את יחס "
+"הריבוע."
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
-msgstr "רעש"
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
+msgstr "בחירה עם שרביט קסם"
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
-msgstr "שבר"
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
+msgstr "יש ללחוץ כדי לבחור אזור בעל אותו הצבע."
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
-msgstr "חידוד"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
+msgstr "בחירת אליפסה"
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
-msgstr "סקיצה בעפרון"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
+msgstr ""
+"יש ללחוץ ולגרור כדי לצייר בחירה אליפטית. יש להחזיק shift כדי לקבע את העיגול."
 
-#: Pinta.Effects/Effects/OutlineEffect.cs:29
-msgid "Outline"
-msgstr "קו מתאר"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
+msgstr "בחירת פלצור"
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
-msgstr "טשטוש גאוסי"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
+msgstr "יש ללחוץ ולגרור כדי לצייר קו מתאר לאזור הבחירה."
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
-msgstr "השתקפות אריחית"
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
+msgstr "דלי צבע"
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
-msgstr "איזון גבהים"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
+msgstr ""
+"לחיצה שמאלית כדי למלא אזור בצבע העיקרי, לחיצה ימנית כדי למלא בצבע המשני."
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
-msgstr "תבליט"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
+msgstr "מדרג"
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
-msgstr "פרקטל מנדלברוט"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
+msgstr ""
+"יש ללחוץ ולגרור כדי לצייר מדרג מהצבע העיקרי לצבע המשני. לחיצה ימנית להיפוך."
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
-msgstr "בליטה"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
+msgstr "מדרג קווי"
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
-msgstr "סיבוב"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
+msgstr "מדרג קווי משתקף"
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
-msgstr "ריכוך דיוקן"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
+msgstr "מדרג קווי בצורת מעוין"
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
-msgstr "הפחתת רעש"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
+msgstr "מדרג מעגלי"
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
-msgstr "פרקטל יוליה"
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
+msgstr "מדרג חרוטי"
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
-msgstr "חציוני"
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
+msgstr "מצב"
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
-msgstr "עקומות"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
+msgstr "מצב צבע"
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
-msgstr "רמות"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
+msgstr "מצב שקיפות"
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
-msgstr "רמות אוטומטיות"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
+msgstr "עובי המברשת"
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
-msgstr "היפוך צבעים"
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
+msgstr "הקטנת גודל המברשת"
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
-msgstr "הפחתת כמות הצבעים"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
+msgstr "הגדלת גודל המברשת"
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
-msgstr "שחור ולבן"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "מברשת"
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
-msgstr "גוון / רוויה"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
+msgstr "סוג"
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
-msgstr "ענתיקה"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
+msgstr "החלפת צבעים"
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
-msgstr "בהירות / ניגודיות"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
+msgstr "לחיצה שמאלית כדי להחליף את המשני בעיקרי."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
-msgstr "התאמת הרמות"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
+msgstr "רגיל"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
-msgstr "היסטוגרמת הקלט"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
+msgstr "עיגולים"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
-msgstr "קלט"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
+msgstr "מרובעים"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
-msgstr "פלט"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
+msgstr "פיזור"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
-msgstr "היסטוגרמת הפלט"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
+msgstr "רשת"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
-msgstr "אוטומטי"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
+msgstr "אליפסה"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
-msgstr "איפוס"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
+msgstr ""
+"יש ללחוץ ולגרור כדי לצייר אליפסה (לחצן ימני לצבע המשני). יש להחזיק shift כדי "
+"לקבע יחס לעיגול."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
-msgstr "אדום"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
+msgstr "חותמת העתקים"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
-msgstr "ירוק"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
+msgstr "Ctrl+לחצן שמאלי כדי להגדיר את המקור, לחצן שמאלי לציור."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
-msgstr "כחול"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "תקריב"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
-msgstr "מקושר"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
+msgstr ""
+"לחיצה שמאלית להתקרבות. לחצן ימני להתרחקות. לחיצה וגרירה כדי להתקרב לבחירה."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
-msgstr "מרחב צבעים להמרה"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
+msgstr "מלבן מעוגל"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
-msgstr "RGB"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
+msgstr ""
+"יש ללחוץ ולגרור כדי לצייר ריבוע מעוגל (לחיצה ימנית לצבע משני). יש להחזיק "
+"shift כדי לקבע יחס."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
-msgstr "עצמת התאורה"
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
+msgstr "רדיוס"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
-msgstr "(256, 256)"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
+msgstr "הקטנת רדיוס הפינה של המרובע"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
-msgstr "אדום  "
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
+msgstr "הגדלת רדיוס הפינה של המרובע"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
-msgstr "כחול "
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "‏מלקט הצבעים"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
 msgstr ""
+"לחיצה בלחצן השמאלי כדי לבחור צבע עיקרי. בימיני כדי להגדיר את הצבע המשני."
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
-msgstr "הוספת שכבה חדשה"
-
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
-msgstr "מחיקת שכבה"
-
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
-msgstr "שכפול שכבה"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr "לאחר הבחירה"
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
-msgstr "מיזוג השכבה כלפי מטה"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
+msgstr "לא להחליף כלי"
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
-msgstr "ייבוא מקובץ..."
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr "חזרה לכלי הקודם"
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
-msgstr "היפוך אופקי"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
+msgstr "מעבר לכלי העיפרון"
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
-msgstr "היפוך אנכי"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "עיפרון"
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
-msgstr "הטייה / התקרבות"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
+msgstr "מוחק"
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
-msgstr "הגבהת השכבה"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
+msgstr "יש ללחוץ ולגרור כדי למחוק חלק מהתמונה."
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
-msgstr "הנמכת השכבה"
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
+msgstr ""
+"לחיצה שמאלית כדי לצייר ביד חופשית, שורות ברוחב פיקסל אחד בצבע העיקרי, לחצן "
+"ימני כדי להשתמש בצבע המשני."
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
-msgstr "פתיחת קובץ תמונה"
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
+msgstr "הזזת הפיקסלים הנבחרים"
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
-msgstr "ייבוא מקובץ"
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
+msgstr "יש לגרור את הבחירה כדי להזיז את התוכן הנבחר."
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
-msgstr "חדשה..."
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "הסתרה"
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
-msgstr "פתיחה..."
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "עגינה"
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
-msgstr "נפתחו לאחרונה"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "הסתרה אוטומטית"
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
-msgstr "סגירה"
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "ניתן לעגינה"
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
-msgstr "שמירה"
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "צף"
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
-msgstr "שמירה בשם..."
+#: Pinta/Options.cs:486
+msgid "OptionName"
+msgstr "שם האפשרות"
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
-msgstr "הדפסה"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "באחוזים:"
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr "יציאה"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
+msgstr "בגודל מוחלט:"
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
-msgstr "חדשה"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "רוחב:‏"
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
-msgstr "פתיחה"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "פיקסלים"
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
-msgstr "רקע"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "גובה:"
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
-msgstr "פתיחת תמונה"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "שמירה על יחס גובה־רוחב"
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
-msgstr "לא ניתן לפתוח את הקובץ: {0}"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "עוגן:"
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
-msgstr "שגיאה"
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "גודל התמונה החדשה          "
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
-msgstr "האם לשמור את השינויים לתמונה \"{0}\" בטרם פתיחת תמונה חדשה?"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "מאפייני השכבה"
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
-msgstr "קובצי תמונה"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "שם:"
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
-msgstr "כל הקבצים"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "גלוי"
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
-msgstr "שמירת קובץ תמונה"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "אטימות:"
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
-msgstr "{0} תמונה ({1})"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr "..."
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
-msgstr "תמונת OpenRaster‏ (*.ora)"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "_קובץ"
 
-#: Pinta.Core/Actions/FileActions.cs:392
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before closing?"
-msgstr "האם לשמור את השינויים לתמונה \"{0}\" בטרם היציאה?"
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "ע_ריכה"
 
-#: Pinta.Core/Actions/FileActions.cs:402
-msgid "Close without saving"
-msgstr "סגירה ללא שמירה"
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "ת_צוגה"
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
-msgstr "חיתוך לבחירה"
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "ת_מונה"
 
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
-msgstr "שינוי גודל..."
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "שכ_בות"
 
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
-msgstr "גודל משטח הציור..."
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "הת_אמות"
 
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
-msgstr "היפוך ב־90° עם כיוון השעון"
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "_אפקטים"
 
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
-msgstr "היפוך ב־90° נגד כיוון השעון"
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "_חלון"
 
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
-msgstr "היפוך ב־180°"
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
+msgstr "חלונות כלים"
 
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
-msgstr "השטחה"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "ע_זרה"
 
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr "ביטול"
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "כלים"
 
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
-msgstr "ביצוע חוזר"
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "מסמכים"
 
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
-msgstr "גזירה"
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "שכבות"
 
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
-msgstr "העתקה"
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "היסטוריה"
 
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
-msgstr "הדבקה"
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
+msgstr "צילום המסך"
 
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
-msgstr "הדבקה לשכבה חדשה"
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
+msgstr "ההשהיה שלפני צילום המסך (בשניות):"
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
-msgstr "הדבקה לתמונה חדשה"
+#: Pinta/DialogHandlers.cs:139
+#, csharp-format
+msgid "Save the changes to image \"{0}\" before closing?"
+msgstr "האם לשמור את השינויים לתמונה \"{0}\" בטרם היציאה?"
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
-msgstr "מחיקת הבחירה"
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "אם השינויים לא ישמרו הם יאבדו לעד."
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
-msgstr "מילוי הבחירה"
+#: Pinta/DialogHandlers.cs:147
+msgid "Close without saving"
+msgstr "סגירה ללא שמירה"
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
-msgstr "היפוך הבחירה"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
+msgstr "שינוי גודל ערכת הצבעים"
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
-msgstr "בחירת הכול"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
+msgstr "גודל ערכת הצבעים החדשה:"
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
-msgstr "ביטול בחירה"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "אטימות השכבה"
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
-msgstr "התקרבות"
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "שינוי שם השכבה"
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
-msgstr "התרחקות"
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "הסתרת השכבה"
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
-msgstr "תקריב על גודל החלון"
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "הצגת השכבה"
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
-msgstr "תקריב על הבחירה"
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
+msgstr "קובצי תמונה"
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
-msgstr "גודל ממשי"
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
+msgstr "ההדבקה נכשלה"
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
-msgstr "רשת פיקסלים"
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
+msgstr "לוח הגזירים אינו מכיל תמונה"
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
-msgstr "סרגלים"
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
+msgstr "שמירת קובץ תמונה"
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
-msgstr "פיקסלים"
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
+msgstr "ל־Pinta אין תמיכה בשמירת תמונות במבנה קובץ זה."
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
-msgstr "אינטשים"
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
+msgstr "קובץ בשם \"{0}\" כבר קיים. האם ברצונך להחליף אותו?"
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
-msgstr "סנטימטרים"
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
+msgstr "הקובץ כבר קיים תחת \"{1}\". החלפתו תשכתב על תוכנו."
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
-msgstr "מסך מלא"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr "מספר הפתילים לשימוש בטרם העיבוד"
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
-msgstr "חלון"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "גרסה"
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
-msgstr "אתר הבית של Pinta"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "רישיון"
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
-msgstr "דיווח על באג"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "שוחרר תחת תנאי הרישיון MIT X11."
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
-msgstr "תרגום יישום זה"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "כל הזכויות שמורות"
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
-msgstr "כללי"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "לתורמי Pinta"
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
-msgstr "כלי"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "כותרת"
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
-msgstr "מקשי קיצור"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "נתיב"
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
-msgstr "החלקה"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
+msgstr "איכות ה־JPEG"
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
-msgstr "ערבול רגיל / שכתוב על הערבול"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
+msgstr "איכות: "
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
-msgstr "היפוך התמונה אופקית"
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "תורמים להפצה זו"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
-msgstr "היפוך התמונה אנכית"
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "תורמי עבר"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
-msgstr "היפוך השכבה אופקית"
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Yaron https://launchpad.net/~sh-yaron"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
-msgstr "היפוך השכבה אנכית"
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "תורגם על ידי:"
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
-msgstr "גימור הפיקסלים"
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "מבוסס על העבודה של Paint.NET:"
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
-msgstr "אפקט עיבוד"
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "נעשה שימוש בכמה סמלים מ־:"
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
-msgstr "עותק"
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "על אודות Pinta"
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
-msgstr "שכבה"
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "נתוני הגרסה"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1436,17 +1583,70 @@ msgstr ""
 "עצה: לקבלת התוצאות המיטביות כדאי תחילה לסמן כל אחת מהעיניים באמצעות כלי "
 "הבחירה."
 
+#~ msgid "Help"
+#~ msgstr "עזרה"
+
+#~ msgid "Adjustments"
+#~ msgstr "התאמות"
+
+#~ msgid "Effects"
+#~ msgstr "אפקטים"
+
+#~ msgid "File"
+#~ msgstr "קובץ"
+
+#~ msgid "Edit"
+#~ msgstr "עריכה"
+
+#~ msgid "View"
+#~ msgstr "תצוגה"
+
+#~ msgid "Image"
+#~ msgstr "תמונה"
+
 #~ msgid "%"
 #~ msgstr "%"
 
+#~ msgid "Continue without saving"
+#~ msgstr "להמשיך מבלי לשמור"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr "האם לשמור את השינויים לתמונה \"{0}\" בטרם יצירת אחת חדשה?"
+
 #~ msgid "X :"
 #~ msgstr "X :"
 
 #~ msgid "Y :"
 #~ msgstr "Y :"
 
+#~ msgid "RGB\r"
+#~ msgstr "RGB\r"
+
 #~ msgid "Tip : Right-click to remove control points."
 #~ msgstr "עצה: לחיצה עם המקש הימני מסירה את נקודות הבקרה."
 
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before opening a new image?"
+#~ msgstr "האם לשמור את השינויים לתמונה \"{0}\" בטרם פתיחת תמונה חדשה?"
+
+#~ msgid "OpenRaster image (*.ora)"
+#~ msgstr "תמונת OpenRaster‏ (*.ora)"
+
+#~ msgid "Antialiasing"
+#~ msgstr "החלקה"
+
+#~ msgid "Normal blending / Overwrite blending"
+#~ msgstr "ערבול רגיל / שכתוב על הערבול"
+
 #~ msgid "Show Pad"
 #~ msgstr "הצגת הלוח"
+
+#~ msgid "Fill mode"
+#~ msgstr "מצב מילוי"
+
+#~ msgid "X:"
+#~ msgstr "X:"
+
+#~ msgid "Y:"
+#~ msgstr "Y:"
diff --git a/po/messages-hr.po b/po/messages-hr.po
index 135f1e9..f679bfc 100644
--- a/po/messages-hr.po
+++ b/po/messages-hr.po
@@ -7,537 +7,743 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-09-07 11:00+0000\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2010-10-27 02:38+0000\n"
 "Last-Translator: Jonathan Pobst <Unknown>\n"
 "Language-Team: Croatian <hr at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "O aplikaciji..."
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "Prozor"
 
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "Sloj"
+
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "kopiraj"
+
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "Promjeni velčinu platna"
+
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr "Alat"
+
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr "Tipka kratice"
+
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
 msgstr ""
 
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "_Datoteka"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr ""
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "_Uredi"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr ""
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "_Prikaz"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr ""
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "_Slika"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "Promijeni veličinu slike"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "_Slojevi"
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr "Dovrši piksele"
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "_Podešenja"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr "Okreni 180°"
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "Efek_ti"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr "Zrcali sliku vodoravno"
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "_Prozor"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr "Zrcali sliku okomito"
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "_Pomoć"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr "Okreni 90° u smjeru kazaljke na satu"
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
-msgstr ""
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr "Okreni 90° suprotnu smjeru kazaljke na satu"
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "Alati"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr "Zrcali sloj vodoravno"
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "Paleta"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr "Zrcali sloj okomito"
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Dokumenti"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
+msgstr "Općenito"
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "Slojevi"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr "{0} slika ({1})"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "Stare stavke"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr "Odreži prema izabranome"
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "Sakrij"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr "Promjeni veličinu..."
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "Usidrivo"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr "Veličina podloge..."
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "Plutajuće"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr "Vodoravno zrcaljenje"
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "Automatski Sakrij"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr "Okomito zrcaljenje"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "Dok"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr "Spljošti"
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "Suradnici u ovoj verziji"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr "Povećaj"
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "Prijašnji suradnici"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr "Smanji"
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr "Povećaj do prozora"
+
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr "Povećaj označeno"
+
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr "Stvarna veličina"
+
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
 msgstr ""
-"Launchpad Contributions:\n"
-"  Jonathan Pobst https://launchpad.net/~jpobst\n"
-"  nafterburner https://launchpad.net/~nafterburner\n"
-"  zekopeko https://launchpad.net/~zekopeko"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Preveli:"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr "Rešetka piksela"
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "Bazirano na programu Paint.NET:"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr "Ravnala"
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "Koristi pojedine slikice iz:"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr "Pikseli"
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "O Pinti"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr "Palci"
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "Informacije o inačici"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr "Centimetri"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "Naslov"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr "Preko čitavog zaslona"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Inačica"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr ""
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "Putanja"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr "Dodaj novi sloj"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Licenca"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr "Obriši sloj"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "Licencirano po MIT X11 licenci"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr "Dupliciraj sloj"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "Autorska prava"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr "Stopi prema dolje"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "od Pinta suradnika"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr "Unesi iz datoteke..."
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
-msgstr "broj dretvi za iscrtavanje"
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr "Rotiraj / Uvećaj"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "Promijeni veličinu slike"
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr "Pomakni sloj gore"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "Prema postotku:"
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr "Pomakni sloj dolje"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
-msgstr "Prema absolutnoj veličini:"
+#: Pinta.Core/Actions/LayerActions.cs:74
+msgid "Layer Properties..."
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "Širina:"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
+msgstr "Otvori sliku"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "pikseli"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr "Unesi iz datoteke"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "Visina:"
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "Održi omjer slike"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
-#: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "Postavke slojeva"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr "Pinta internet stranica"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "Naziv:"
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
+msgstr "Prijavi pogrješku"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "Vidljivo"
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "Prozirnost:"
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "O aplikaciji..."
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "Promjeni velčinu platna"
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr "Nova…"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "Sidro:"
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
-msgid "New Image"
-msgstr "Nova slika"
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
+msgstr "Otvori…"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "Nova veličina slike          "
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr "Otvori nedavno"
 
-#: Pinta/DialogHandlers.cs:57
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
-msgstr "Sačuvaj promijene na slici \"{0}\" prije kreiranja nove?"
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
+msgstr "Zatvori"
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr "Ako ne sačuvate, sve promjene će biti trajno izgubljene."
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
+msgstr "Spremi"
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "Nastavi bez spremanja"
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
+msgstr "Spremi kao…"
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "Prozirnost sloja"
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
+msgstr "Ispiši"
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "Preimenuj sloj"
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
+msgstr "Ugasi"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "Sakri sloj"
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr "Novi"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "Prikaži slok"
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
+msgstr "Otvori"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
-msgstr "oznaka1"
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
+msgstr "Vrati"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "oznaka"
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
+msgstr "Ponovi"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
-msgstr "Nasumična buka"
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
+msgstr "Izreži"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
-msgstr "Ponovno zasij"
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
+msgstr "Kopiraj"
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
-msgstr "Birač boja"
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
+msgstr "Zalijepi"
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
-msgstr ""
-"Lijevi klik za postavljanje primarne boje. Desni klik za postavljanje "
-"sekundarne boje."
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
+msgstr "Zalijepi u novi sloj"
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
-msgstr ""
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
+msgstr "Zalijepi u novu sliku"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
-msgstr ""
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
+msgstr "Obriši izabrano"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
-msgstr ""
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
+msgstr "Ispuni izabrano"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
+msgstr "Obrni izabrano"
+
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
+msgstr "Označi sve"
+
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
+msgstr "Odznači"
+
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
 msgstr ""
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "Paleta"
+
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
 msgstr ""
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
 msgstr ""
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
-msgstr "Povećati"
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr "Sve datoteke"
 
-#: Pinta.Tools/ZoomTool.cs:55
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
 msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
-msgstr ""
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
+msgstr "Pogrješka"
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
-msgstr ""
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
+msgstr "Pozadina"
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
-msgstr ""
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
+msgid "New Image"
+msgstr "Nova slika"
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
-msgstr ""
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
+msgstr "Otvori sliku"
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
-msgstr ""
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
+#, csharp-format
+msgid "Could not open file: {0}"
+msgstr "Nije se mogla otvoriti datoteka: {0}"
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
-msgstr ""
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
+msgstr "Efekt iscrtavanja"
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
-msgstr ""
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
+msgstr "Posteriziranje"
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
-msgstr ""
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
+msgstr "Obrni boje"
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
-msgstr ""
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
+msgstr "Razine"
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
-msgstr ""
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
+msgstr "Crno-bijelo"
 
-#: Pinta.Tools/GradientTool.cs:60
-msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
-msgstr ""
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
+msgstr "Automatsko poravnavanje razine"
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
-msgstr ""
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
+msgstr "Nijansa / Zasićenje"
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
-msgstr ""
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
+msgstr "Jačina osvijetljena / Kontrast"
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
-msgstr ""
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
+msgstr "Sepia"
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
-msgstr ""
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
+msgstr "Krivulje"
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
+msgstr "Mapa prijenosa"
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
+msgstr "Osvjetljenje"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
+msgstr "(256, 256)"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
+msgstr "Crvena  "
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
-msgstr "Polumjer"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
+msgstr "Zelena"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
+msgstr "Plava "
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
+msgstr "Vrati na zadano"
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
 msgstr ""
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
+msgstr "Prilagodba razina"
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
+msgstr "Unosni histogram"
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
+msgstr "Unos"
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
+msgstr "Ispis"
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
+msgstr "Izlazni histogram"
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
+msgstr "Automatski"
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
+msgstr "Crvena"
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
+msgstr "Plava"
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
+msgstr "Povezano"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
+msgstr "Skica olovkom"
+
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
+msgstr "Umjetničko"
+
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
+msgstr "Ukloni focus"
+
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
+msgstr "Zamučenje"
+
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
+msgstr "Ispupči"
+
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
+msgstr "Deformiraj"
+
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
+msgstr "Mandelbrotov fraktal"
+
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
+msgstr "Iscrtaj"
+
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
+msgstr "Median"
+
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
+msgstr "Šum"
+
+#: Pinta.Effects/Effects/PixelateEffect.cs:26
+msgid "Pixelate"
+msgstr "Pikseliziraj"
+
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
+msgstr "Izoštri"
+
+#: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
+msgid "Photo"
+msgstr "Fotografija"
+
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
+msgstr "Uljana slika"
+
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
+msgstr "Gaussovo zamućivanje"
+
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
+msgstr "Sjaj"
+
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
+msgstr "Smekšaj portret"
+
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
+msgstr "Odsjaj pločice"
+
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr "Uklanjanje efekta crvenih očiju"
+
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
+msgstr "Staklo sa mrazom"
+
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
+msgid "Edge Detect"
+msgstr "Detekcija rubova"
+
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
+#: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
+msgid "Stylize"
+msgstr "Stiliziraj"
+
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
+msgstr "Julijin fraktal"
+
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr "Pomično Zamućenje"
+
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr "Izboči"
+
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
+msgstr "Skica tintom"
+
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
+msgid "Zoom Blur"
+msgstr "Uvećano zamućenje"
+
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
+msgid "Polar Inversion"
+msgstr "Polarna inverzija"
+
+#: Pinta.Effects/Effects/CloudsEffect.cs:30
+msgid "Clouds"
+msgstr "Oblaci"
+
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
+msgstr "Fragment"
+
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr "Korekcija šuma"
+
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr "Radijalan zamućenost"
+
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
+msgstr "Zakreni"
+
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
+msgid "Add Noise"
+msgstr "Dodaj šum"
+
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
+msgstr "Reljef"
+
+#: Pinta.Effects/Effects/OutlineEffect.cs:29
+msgid "Outline"
+msgstr "Kontura"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
+msgstr "Nasumična buka"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
+msgstr "Ponovno zasij"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "oznaka1"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "oznaka"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
-msgstr "Tolerancija"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr ""
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
 msgstr ""
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
 msgstr ""
 
 #: Pinta.Tools/TextTool.cs:37
@@ -550,42 +756,34 @@ msgid ""
 "color."
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:131
+#: Pinta.Tools/TextTool.cs:144
 msgid "Font"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:186
+#: Pinta.Tools/TextTool.cs:205
 msgid "Bold"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:193
+#: Pinta.Tools/TextTool.cs:212
 msgid "Italic"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:201
+#: Pinta.Tools/TextTool.cs:220
 msgid "Underline"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:210
+#: Pinta.Tools/TextTool.cs:229
 msgid "Left Align"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:219
+#: Pinta.Tools/TextTool.cs:238
 msgid "Center Align"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:227
+#: Pinta.Tools/TextTool.cs:246
 msgid "Right Align"
 msgstr ""
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
-msgstr ""
-
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
-msgstr ""
-
 #: Pinta.Tools/RectangleTool.cs:38
 msgid "Rectangle"
 msgstr ""
@@ -596,653 +794,600 @@ msgid ""
 "shift to constrain to a square."
 msgstr ""
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
 msgstr ""
 
-#: Pinta.Tools/LineCurveTool.cs:44
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
 msgid ""
-"Left click to draw with primary color, right click for secondary color."
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
 msgstr ""
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
 msgstr ""
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
 msgstr ""
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
 msgstr ""
 
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
 msgstr ""
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:26
-msgid "Pixelate"
-msgstr "Pikseliziraj"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
+msgstr ""
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr "Deformiraj"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
+msgstr ""
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
-msgstr "Uklanjanje efekta crvenih očiju"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
+msgstr ""
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
-#: Pinta.Effects/Effects/SharpenEffect.cs:34
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
-msgid "Photo"
-msgstr "Fotografija"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
+msgstr "Tolerancija"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
-msgstr "Pomično Zamućenje"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
+msgstr ""
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
-msgstr "Zamučenje"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
+msgstr ""
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
-msgstr "Skica tintom"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
+msgstr ""
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
-msgstr "Umjetničko"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
+msgstr ""
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
-msgstr "Radijalan zamućenost"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
+msgstr ""
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
-msgstr "Ukloni focus"
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
+msgstr ""
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
-msgid "Edge Detect"
-msgstr "Detekcija rubova"
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
+msgstr ""
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
-#: Pinta.Effects/Effects/EmbossEffect.cs:34
-msgid "Stylize"
-msgstr "Stiliziraj"
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
+msgstr ""
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
-msgstr "Staklo sa mrazom"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
+msgstr ""
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
-msgstr "Uljana slika"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
+msgstr ""
 
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
-msgid "Zoom Blur"
-msgstr "Uvećano zamućenje"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
+msgstr ""
 
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
-msgid "Polar Inversion"
-msgstr "Polarna inverzija"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
+msgstr ""
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:30
-msgid "Clouds"
-msgstr "Oblaci"
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
+msgstr ""
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr "Iscrtaj"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
+msgstr ""
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
-msgstr "Sjaj"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
+msgstr ""
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
-msgid "Add Noise"
-msgstr "Dodaj šum"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
+msgstr ""
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
-msgstr "Šum"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
+msgstr ""
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
-msgstr "Fragment"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
+msgstr ""
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
-msgstr "Izoštri"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
+msgstr ""
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
-msgstr "Skica olovkom"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
+msgstr ""
 
-#: Pinta.Effects/Effects/OutlineEffect.cs:29
-msgid "Outline"
-msgstr "Kontura"
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
+msgstr ""
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
-msgstr "Gaussovo zamućivanje"
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
+msgstr ""
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
-msgstr "Odsjaj pločice"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
+msgstr ""
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
-msgstr "Reljef"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
+msgstr ""
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
-msgstr "Izboči"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
+msgstr ""
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
-msgstr "Mandelbrotov fraktal"
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
+msgstr ""
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
-msgstr "Ispupči"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
+msgstr ""
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
-msgstr "Zakreni"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr ""
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
-msgstr "Smekšaj portret"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
+msgstr ""
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
-msgstr "Korekcija šuma"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
+msgstr ""
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
-msgstr "Julijin fraktal"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
+msgstr ""
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
-msgstr "Median"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
-msgstr "Krivulje"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
-msgstr "Razine"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
-msgstr "Automatsko poravnavanje razine"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
-msgstr "Obrni boje"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
-msgstr "Posteriziranje"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
-msgstr "Crno-bijelo"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
+msgstr ""
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
-msgstr "Nijansa / Zasićenje"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
-msgstr "Sepia"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
+msgstr ""
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
-msgstr "Jačina osvijetljena / Kontrast"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "Povećati"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
-msgstr "Prilagodba razina"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
-msgstr "Unosni histogram"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
-msgstr "Unos"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
-msgstr "Ispis"
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
+msgstr "Polumjer"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
-msgstr "Izlazni histogram"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
-msgstr "Automatski"
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
-msgstr "Vrati na zadano"
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "Birač boja"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
-msgstr "Crvena"
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
+msgstr ""
+"Lijevi klik za postavljanje primarne boje. Desni klik za postavljanje "
+"sekundarne boje."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
-msgstr "Zelena"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
-msgstr "Plava"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
-msgstr "Povezano"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
-msgstr "Mapa prijenosa"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
-msgstr "Osvjetljenje"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
-msgstr "(256, 256)"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
-msgstr "Crvena  "
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
-msgstr "Plava "
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
-msgstr "Dodaj novi sloj"
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "Sakrij"
 
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
-msgstr "Obriši sloj"
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "Dok"
 
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
-msgstr "Dupliciraj sloj"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "Automatski Sakrij"
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
-msgstr "Stopi prema dolje"
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "Usidrivo"
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
-msgstr "Unesi iz datoteke..."
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "Plutajuće"
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
-msgstr "Vodoravno zrcaljenje"
+#: Pinta/Options.cs:486
+msgid "OptionName"
+msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
-msgstr "Okomito zrcaljenje"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "Prema postotku:"
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
-msgstr "Rotiraj / Uvećaj"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
+msgstr "Prema absolutnoj veličini:"
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
-msgstr "Pomakni sloj gore"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "Širina:"
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
-msgstr "Pomakni sloj dolje"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "pikseli"
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
-msgstr "Otvori sliku"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "Visina:"
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
-msgstr "Unesi iz datoteke"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "Održi omjer slike"
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
-msgstr "Nova…"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "Sidro:"
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
-msgstr "Otvori…"
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "Nova veličina slike          "
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
-msgstr "Otvori nedavno"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Postavke slojeva"
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
-msgstr "Zatvori"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "Naziv:"
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
-msgstr "Spremi"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "Vidljivo"
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
-msgstr "Spremi kao…"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "Prozirnost:"
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
-msgstr "Ispiši"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr "Ugasi"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "_Datoteka"
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
-msgstr "Novi"
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "_Uredi"
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
-msgstr "Otvori"
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "_Prikaz"
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
-msgstr "Pozadina"
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "_Slika"
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
-msgstr "Otvori sliku"
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "_Slojevi"
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
-msgstr "Nije se mogla otvoriti datoteka: {0}"
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "_Podešenja"
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
-msgstr "Pogrješka"
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "Efek_ti"
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
-msgstr "Sačuvaj promjene na slici \"{0}\" prije otvaranja nove slike?"
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "_Prozor"
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
-msgstr "Slikovne datoteke"
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
-msgstr "Sve datoteke"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "_Pomoć"
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
-msgstr "Sačuvaj sliku"
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "Alati"
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
-msgstr "{0} slika ({1})"
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Dokumenti"
+
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "Slojevi"
+
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "Stare stavke"
+
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
-msgstr "OpenRaster slika (*.ora)"
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:392
+#: Pinta/DialogHandlers.cs:139
 #, csharp-format
 msgid "Save the changes to image \"{0}\" before closing?"
 msgstr "Sačuvaj promjene na slici \"{0}\" prije zavaranja?"
 
-#: Pinta.Core/Actions/FileActions.cs:402
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "Ako ne sačuvate, sve promjene će biti trajno izgubljene."
+
+#: Pinta/DialogHandlers.cs:147
 msgid "Close without saving"
 msgstr "Zatvori bez spremanja"
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
-msgstr "Odreži prema izabranome"
-
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
-msgstr "Promjeni veličinu..."
-
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
-msgstr "Veličina podloge..."
-
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
-msgstr "Okreni 90° u smjeru kazaljke na satu"
-
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
-msgstr "Okreni 90° suprotnu smjeru kazaljke na satu"
-
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
-msgstr "Okreni 180°"
-
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
-msgstr "Spljošti"
-
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr "Vrati"
-
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
-msgstr "Ponovi"
-
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
-msgstr "Izreži"
-
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
-msgstr "Kopiraj"
-
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
-msgstr "Zalijepi"
-
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
-msgstr "Zalijepi u novi sloj"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
+msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
-msgstr "Zalijepi u novu sliku"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
+msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
-msgstr "Obriši izabrano"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "Prozirnost sloja"
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
-msgstr "Ispuni izabrano"
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "Preimenuj sloj"
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
-msgstr "Obrni izabrano"
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "Sakri sloj"
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
-msgstr "Označi sve"
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "Prikaži slok"
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
-msgstr "Odznači"
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
+msgstr "Slikovne datoteke"
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
-msgstr "Povećaj"
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
-msgstr "Smanji"
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
-msgstr "Povećaj do prozora"
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
+msgstr "Sačuvaj sliku"
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
-msgstr "Povećaj označeno"
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
-msgstr "Stvarna veličina"
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
-msgstr "Rešetka piksela"
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
-msgstr "Ravnala"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr "broj dretvi za iscrtavanje"
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
-msgstr "Pikseli"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Inačica"
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
-msgstr "Palci"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Licenca"
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
-msgstr "Centimetri"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "Licencirano po MIT X11 licenci"
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
-msgstr "Preko čitavog zaslona"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "Autorska prava"
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
-msgstr "Prozor"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "od Pinta suradnika"
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
-msgstr "Pinta internet stranica"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "Naslov"
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
-msgstr "Prijavi pogrješku"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "Putanja"
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
 msgstr ""
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
-msgstr "Općenito"
-
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
-msgstr "Alat"
-
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
-msgstr "Tipka kratice"
-
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
-msgstr "Izglađivanje rubova"
-
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
-msgstr "Temeljno miješanje / Prebrisano miješanje"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
+msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
-msgstr "Zrcali sliku vodoravno"
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "Suradnici u ovoj verziji"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
-msgstr "Zrcali sliku okomito"
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "Prijašnji suradnici"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
-msgstr "Zrcali sloj vodoravno"
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst\n"
+"  nafterburner https://launchpad.net/~nafterburner\n"
+"  zekopeko https://launchpad.net/~zekopeko"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
-msgstr "Zrcali sloj okomito"
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Preveli:"
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
-msgstr "Dovrši piksele"
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "Bazirano na programu Paint.NET:"
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
-msgstr "Efekt iscrtavanja"
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "Koristi pojedine slikice iz:"
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
-msgstr "kopiraj"
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "O Pinti"
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
-msgstr "Sloj"
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "Informacije o inačici"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1423,14 +1568,58 @@ msgid "Hint: For best results, first use selection tools to select each eye."
 msgstr ""
 "Savjet: Za najbolje rezultate izaberite oba oka pomoću alata za selekciju"
 
+#~ msgid "Help"
+#~ msgstr "Pomoć"
+
+#~ msgid "Adjustments"
+#~ msgstr "Podešavanja"
+
+#~ msgid "Effects"
+#~ msgstr "Efekti"
+
+#~ msgid "File"
+#~ msgstr "Datoteka"
+
+#~ msgid "Edit"
+#~ msgstr "Uredi"
+
+#~ msgid "View"
+#~ msgstr "Pogled"
+
+#~ msgid "Image"
+#~ msgstr "Slika"
+
 #~ msgid "%"
 #~ msgstr "%"
 
+#~ msgid "Continue without saving"
+#~ msgstr "Nastavi bez spremanja"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr "Sačuvaj promijene na slici \"{0}\" prije kreiranja nove?"
+
 #~ msgid "X :"
 #~ msgstr "X :"
 
 #~ msgid "Y :"
 #~ msgstr "Y :"
 
+#~ msgid "RGB\r"
+#~ msgstr "RGB\r"
+
 #~ msgid "Tip : Right-click to remove control points."
 #~ msgstr "Savjet: Desni klik za uklanjanje kontrolnih točaka"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before opening a new image?"
+#~ msgstr "Sačuvaj promjene na slici \"{0}\" prije otvaranja nove slike?"
+
+#~ msgid "OpenRaster image (*.ora)"
+#~ msgstr "OpenRaster slika (*.ora)"
+
+#~ msgid "Normal blending / Overwrite blending"
+#~ msgstr "Temeljno miješanje / Prebrisano miješanje"
+
+#~ msgid "Antialiasing"
+#~ msgstr "Izglađivanje rubova"
diff --git a/po/messages.pot b/po/messages-hy.po
similarity index 95%
copy from po/messages.pot
copy to po/messages-hy.po
index 8ea8d21..f10d90f 100644
--- a/po/messages.pot
+++ b/po/messages-hy.po
@@ -1,30 +1,31 @@
-# Pinta Translatable Strings
-# Copyright (C) 2010 Pinta Contributors
-# This file is distributed under the same license as the Pinta package.
-# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+# Armenian translation for pinta
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the pinta package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2010.
 #
-#, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
+"Project-Id-Version: pinta\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
 "POT-Creation-Date: 2010-10-31 12:19-0500\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"
+"PO-Revision-Date: 2010-12-16 09:48+0000\n"
+"Last-Translator: Vardan Gevorgyan <Unknown>\n"
+"Language-Team: Armenian <hy at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
 #: Pinta.Core/Classes/DocumentWorkspace.cs:160
 #: Pinta.Core/Classes/DocumentWorkspace.cs:181
 #: Pinta.Core/Actions/ViewActions.cs:200
 msgid "Window"
-msgstr ""
+msgstr "Պատուհան"
 
 #: Pinta.Core/Classes/Document.cs:299
 msgid "Layer"
-msgstr ""
+msgstr "Շերտ"
 
 #: Pinta.Core/Classes/Document.cs:367
 msgid "copy"
@@ -225,8 +226,7 @@ msgid "Move Layer Down"
 msgstr ""
 
 #: Pinta.Core/Actions/LayerActions.cs:74
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
-msgid "Layer Properties"
+msgid "Layer Properties..."
 msgstr ""
 
 #: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
@@ -403,6 +403,11 @@ msgstr ""
 msgid "GIMP palette (*.gpl)"
 msgstr ""
 
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr ""
+
 #: Pinta.Core/Managers/WorkspaceManager.cs:151
 msgid "Background"
 msgstr ""
@@ -721,12 +726,16 @@ msgstr ""
 msgid "label"
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:146
-msgid "X:"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
+msgstr ""
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:154
-msgid "Y:"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
 msgstr ""
 
 #: Pinta.Tools/PanTool.cs:38
@@ -832,7 +841,8 @@ msgid "Line"
 msgstr ""
 
 #: Pinta.Tools/LineCurveTool.cs:44
-msgid "Left click to draw with primary color, right click for secondary color."
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
 msgstr ""
 
 #: Pinta.Tools/MoveSelectionTool.cs:42
@@ -1148,6 +1158,10 @@ msgstr ""
 msgid "New Image Size          "
 msgstr ""
 
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr ""
+
 #: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
 msgid "Name:"
 msgstr ""
@@ -1160,7 +1174,11 @@ msgstr ""
 msgid "Opacity:"
 msgstr ""
 
-#: Pinta/MainWindow.cs:448
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr ""
+
+#: Pinta/MainWindow.cs:450
 msgid "_File"
 msgstr ""
 
@@ -1344,6 +1362,10 @@ msgstr ""
 #: Pinta/Dialogs/AboutDialog.cs:120
 msgid "translator-credits"
 msgstr ""
+"This is a dummy translation so that the credits are counted as translated.\n"
+"\n"
+"Launchpad Contributions:\n"
+"  Vardan Gevorgyan https://launchpad.net/~vgevorgyan"
 
 #: Pinta/Dialogs/AboutDialog.cs:123
 msgid "Translated by:"
@@ -1531,7 +1553,9 @@ msgid "Warmth"
 msgstr ""
 
 #: RadialBlurEffect dialog
-msgid "Use low quality for previews, small images, and small angles.  Use high quality for final quality, large images, and large angles."
+msgid ""
+"Use low quality for previews, small images, and small angles.  Use high "
+"quality for final quality, large images, and large angles."
 msgstr ""
 
 #: RedEyeRemoveEffect dialog
diff --git a/po/messages-id.po b/po/messages-id.po
index 59457c4..d71642f 100644
--- a/po/messages-id.po
+++ b/po/messages-id.po
@@ -7,555 +7,746 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-10-26 07:57+0000\n"
-"Last-Translator: Permata Harahap <Unknown>\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2010-10-27 02:39+0000\n"
+"Last-Translator: Jonathan Pobst <Unknown>\n"
 "Language-Team: Indonesian <permataharahap at gmail.com>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 "X-Poedit-Country: INDONESIA\n"
 "X-Poedit-Language: Indonesian\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "Tentang"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "Jendela"
 
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "Kuas Cat"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "Lapisan"
 
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "Be_rkas"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "salin"
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "_Edit"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "Ubah Ukuran Kanvas"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "_Tampakan"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr "Alat"
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "_Citra"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr "Kunci pintasan"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "_Lapisan"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr ""
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "_Penyesuaian"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr ""
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "Efe_k"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr ""
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "_Jendela"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr ""
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "_Bantuan"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "Ubah Ukuran Citra"
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
-msgstr "Jendela Alat"
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr "Selesaikan Piksel"
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "Alat"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr "Putar 180°"
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "Palet"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr "Balikkan Citra Horizontal"
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Dokumen"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr "Balikkan Citra Vertikal"
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "Lapisan"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr "Putar 90° Perijam"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "Riwayat"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr "Putar 90° Lawan-Perijam"
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "Sembunyikan"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr "Balikkan Lapisan Horizontal"
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "Dapat dilabuhkan"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr "Balikkan Lapisan Vertikal"
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "Mengambang"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
+msgstr "Umum"
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "Auto-Sembunyikan"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr "{0} citra ({1})"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "Berlabuh"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr "Pangkas Pilihan"
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "Kontributor Rilis Ini"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr "Ubah Ukuran..."
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "Kontributor Sebelumnya"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr "Ukuran Kanvas..."
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
-msgstr ""
-"Launchpad Contributions:\n"
-"  Permata Harahap https://launchpad.net/~permataharahap"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr "Balikkan Horizontal"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Diterjemahkan oleh:"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr "Balikkan Vertikal"
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "Berdasarkan karya Paint.NET:"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr "Sedatarkan"
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "Menggunakan ikon dari:"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr "Zum Masuk"
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "Tentang Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr "Zum Keluar"
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "Info Versi"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr "Zum ke Jendela"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "Judul"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr "Zum ke Pilihan"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Versi"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr "Ukuran Sebenarnya"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "Jalur"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Lisensi"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr "Kisi Piksel"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "Dirilis di bawah Lisensi MIT X11."
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr "Mistar"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "Hak Cipta"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr "Piksel"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "oleh kontributor Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr "Inci"
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
-msgstr "jumlah ulir yang digunakan untuk melukis"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr "Sentimeter"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "Ubah Ukuran Citra"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr "Layar Penuh"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "Per persentasi:"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
-msgstr "Per ukuran absolut:"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr "Tambah Lapisan Baru"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "Lebar:"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr "Hapus Lapisan"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "piksel"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr "Gandakan Lapisan"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "Tinggi:"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr "Gabungkan Ke Bawahnya"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "Pertahankan rasio panjang-lebar"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr "Impor dari Berkas..."
+
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr "Putar / Zum"
+
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr "Naikkan Lapisan"
+
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr "Turunkan Lapisan"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
 #: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "Properti Lapisan"
+msgid "Layer Properties..."
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "Nama:"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
+msgstr "Buka Berkas Citra"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "Terlihat"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr "Impor Dari Berkas"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "Ketaktembusan:"
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "Ubah Ukuran Kanvas"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "Jangkar:"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr "Laman Web Pinta"
+
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
+msgstr "Laporkan Masalah"
+
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
+msgstr "Terjemahkan Aplikasi Ini"
+
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "Tentang"
+
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr "Baru..."
+
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
+msgstr ""
+
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
+msgstr "Buka..."
+
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr "Buka Terkini"
 
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
+msgstr "Tutup"
+
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
+msgstr "Simpan"
+
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
+msgstr "Simpan Sebagai..."
+
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
+msgstr "Cetak"
+
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
+msgstr "Keluar"
+
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr "Baru"
+
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
+msgstr "Buka"
+
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
+msgstr "Urungkan"
+
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
+msgstr "Ulangi"
+
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
+msgstr "Potong"
+
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
+msgstr "Salin"
+
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
+msgstr "Tempel"
+
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
+msgstr "Tempel Ke Lapisan Baru"
+
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
+msgstr "Tempel Ke Citra Baru"
+
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
+msgstr "Hapus Pilihan"
+
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
+msgstr "Arsir Pilihan"
+
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
+msgstr "Inversikan Pilihan"
+
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
+msgstr "Pilih Semua"
+
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
+msgstr "Awapilih"
+
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
+msgstr ""
+
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
+msgstr ""
+
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "Palet"
+
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
+msgstr ""
+
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
+msgstr ""
+
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr "Semua berkas"
+
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
+msgid ""
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
+msgstr ""
+
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
+msgstr "Kesalahan"
+
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
+msgstr ""
+
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
+msgstr ""
+
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
+msgstr ""
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr ""
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
+msgstr "Latar Belakang"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
 msgid "New Image"
 msgstr "Citra Baru"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "Ukuran Citra Baru          "
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
+msgstr "Buka Citra"
 
-#: Pinta/DialogHandlers.cs:57
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
 #, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
-msgstr "Simpan perubahan ke citra \"{0}\" sebelum membuat yang baru?"
+msgid "Could not open file: {0}"
+msgstr "Gagal membuka berkas: {0}"
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr "Bila Anda tidak simpan, semua perubahan akan hilang."
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
+msgstr "Efek Lukis"
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "Teruskan tanpa menyimpan"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
+msgstr "Posterkan"
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "Ketaktembusan Lapisan"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
+msgstr "Inversikan Warna"
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "Ubah Nama Lapisan"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
+msgstr "Level"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "Sembunyikan Lapisan"
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
+msgstr "Hitam dan Putih"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "Tampilkan Lapisan"
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
+msgstr "Auto-Level"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
-msgstr "label1"
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
+msgstr "Warna / Kepekatan"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "label"
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
+msgstr "Kecerahan / Kontras"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
-msgstr "Derau Acak"
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
+msgstr "Sepia"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
-msgstr "Umpankan-ulang"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
+msgstr "Kurva"
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
-msgstr "Pemilih Warna"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
+msgstr "Peta Transfer"
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
-msgstr ""
-"Klik kiri untuk mengeset warna primer. Klik kanan untuk warna sekunder."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
+msgstr "RGB"
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
-msgstr "Setelah memilih"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
+msgstr "Kecemerlangan"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
-msgstr "Jangan ganti alat"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
+msgstr "(256, 256)"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
-msgstr "Ganti ke alat sebelumnya"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
+msgstr "Merah  "
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
-msgstr "Ganti ke alat Pensil"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
+msgstr "Hijau"
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
-msgstr "Pensil"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
+msgstr "Biru "
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
-msgstr "Pemilih Laso"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
+msgstr "Tata-ulang"
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
-msgstr "Klik dan seret untuk menggambar garis tepi area pemilihan."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
+msgstr "Tip: Klik-kanan untuk menghapus titik kendali."
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
-msgstr "Zum"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
+msgstr "Penyesuaian Level"
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
-msgstr ""
-"Klik kiri untuk zum masuk. Klik kanan untuk zum keluar. Klik dan seret untuk "
-"zum dalam pilihan."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
+msgstr "Histogram Masukan"
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
-msgstr "Lebar kuas"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
+msgstr "Masukan"
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
-msgstr "Kecilkan ukuran kuas"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
+msgstr "Keluaran"
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
-msgstr "Besarkan ukuran kuas"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
+msgstr "Histogram Keluaran"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
-msgstr "Bentuk Bergaris Tepi"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
+msgstr "Otomatis"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
-msgstr "Bentuk Berisi"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
+msgstr "Merah"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
-msgstr "Bentuk Berisi dan Bergaris Tepi"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
+msgstr "Biru"
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
-msgstr "Pindahkan Piksel Terpilih"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
+msgstr "Terkait"
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
-msgstr "Seret pilihan untuk memindahkan isi terpilih."
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
+msgstr "Sketsa Pensil"
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
-msgstr "Geser"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
+msgstr "Artistik"
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
-msgstr "Klik dan seret untuk menavigasi citra."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
+msgstr "Awafokus"
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
-msgstr ""
-"Klik kiri untuk menggambar garis bentuk bebas selebar satu piksel dengan "
-"warna primer, klik kanan untuk warna sekunder."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
+msgstr "Kaburkan"
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
-msgstr "Pemilih Elips"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
+msgstr "Tonjolkan"
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
-msgstr ""
-"Klik dan seret untuk menggambar pemilih elips. Tahan shift untuk memaksakan "
-"bentuk lingkaran."
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
+msgstr "Distorsi"
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
-msgstr "Gradasi"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
+msgstr "Fraktal Mandelbrot"
 
-#: Pinta.Tools/GradientTool.cs:60
-msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
-msgstr ""
-"Klik dan seret untuk menggambar gradasi dari warna primer ke sekunder. Klik "
-"kanan untuk sebaliknya."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
+msgstr "Lukis"
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
-msgstr "Gradasi Linear"
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
+msgstr "Median"
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
-msgstr "Gradasi Linear Tercerminkan"
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
+msgstr "Derau"
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
-msgstr "Gradasi Linear Wajik"
+#: Pinta.Effects/Effects/PixelateEffect.cs:26
+msgid "Pixelate"
+msgstr "Pikselkan"
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
-msgstr "Gradasi Melingkar"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
+msgstr "Tajamkan"
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
-msgstr "Gradasi Mengerucut"
+#: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
+msgid "Photo"
+msgstr "Foto"
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
-msgstr "Modus Warna"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
+msgstr "Cat Minyak"
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
-msgstr "Modus Transparansi"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
+msgstr "Pengaburan Gaussian"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
-msgstr "Persegi Panjang Berlengkung"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
+msgstr "Berpendar"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
-msgstr ""
-"Klik dan seret untuk menggambar persegi panjang berlengkung (klik kanan "
-"untuk warna sekunder). Tahan shift untuk bentuk bujursangkar."
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
+msgstr "Haluskan Foto"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
-msgstr "Jari-jari"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
+msgstr "Refleksi Ubin"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
-msgstr "Kecilkan jari-jari lengkungan sudut persegi panjang"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr "Hilangkan Mata Merah"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
-msgstr "Besarkan jari-jari lengkungan sudut persegi panjang"
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
+msgstr "Kaca Buram"
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
-msgstr ""
-"Klik kiri untuk menggambar dengan warna primer, klik kanan untuk warna "
-"sekunder."
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
+msgid "Edge Detect"
+msgstr "Deteksi Tepian"
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
-msgstr "Pemilih Persegi Panjang"
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
+#: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
+msgid "Stylize"
+msgstr "Gayakan"
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
-msgstr ""
-"Klik dan seret untuk menggambar pemilih persegi panjang. Tahan shift untuk "
-"memaksakan bentuk bujursangkar."
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
+msgstr "Fraktal Julia"
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
-msgstr "Ember Cat"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr "Pengaburan Gerak"
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
-msgstr ""
-"Klik kiri untuk mengisi area dengan warna primer, klik kanan untuk warna "
-"sekunder."
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr "Pahatan"
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
-msgstr "Stempel Cangkok"
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
+msgstr "Sketsa Tinta"
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
-msgstr "Pindahkan Pemilih"
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
+msgid "Zoom Blur"
+msgstr "Pengaburan Zum"
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
-msgstr "Seret pemilih untuk memindahkan garis tepi pemilih."
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
+msgid "Polar Inversion"
+msgstr "Inversi Kutub"
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
-msgstr "Bentuk Bebas"
+#: Pinta.Effects/Effects/CloudsEffect.cs:30
+msgid "Clouds"
+msgstr "Awan"
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
-msgstr "Modus arsiran"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
+msgstr "Fragmen"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
-msgstr "Bersambungan"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr "Kurangi Derau"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
-msgstr "Global"
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr "Pengaburan Melingkar"
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
-msgstr "Toleransi"
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
+msgstr "Pelintir"
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
-msgstr "Elips"
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
+msgid "Add Noise"
+msgstr "Tambah Derau"
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
+msgstr "Relief"
+
+#: Pinta.Effects/Effects/OutlineEffect.cs:29
+msgid "Outline"
+msgstr "Kerangka"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
+msgstr "Derau Acak"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
+msgstr "Umpankan-ulang"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "label1"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "label"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
 msgstr ""
-"Klik dan seret untuk menggambar elips (klik kanan untuk warna sekunder). "
-"Tahan shift untuk memaksakan bentuk lingkaran."
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
+msgstr ""
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr ""
+
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
+msgstr "Geser"
+
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
+msgstr "Klik dan seret untuk menavigasi citra."
 
 #: Pinta.Tools/TextTool.cs:37
 msgid "Text"
@@ -569,42 +760,34 @@ msgstr ""
 "Klik kanan untuk menempatkan kursor, lalu ketik teks yang diinginkan. Warna "
 "teks adalah warna primer."
 
-#: Pinta.Tools/TextTool.cs:131
+#: Pinta.Tools/TextTool.cs:144
 msgid "Font"
 msgstr "Font"
 
-#: Pinta.Tools/TextTool.cs:186
+#: Pinta.Tools/TextTool.cs:205
 msgid "Bold"
 msgstr "Tebal"
 
-#: Pinta.Tools/TextTool.cs:193
+#: Pinta.Tools/TextTool.cs:212
 msgid "Italic"
 msgstr "Miring"
 
-#: Pinta.Tools/TextTool.cs:201
+#: Pinta.Tools/TextTool.cs:220
 msgid "Underline"
 msgstr "Garis Bawah"
 
-#: Pinta.Tools/TextTool.cs:210
+#: Pinta.Tools/TextTool.cs:229
 msgid "Left Align"
 msgstr "Rata Kiri"
 
-#: Pinta.Tools/TextTool.cs:219
+#: Pinta.Tools/TextTool.cs:238
 msgid "Center Align"
 msgstr "Rata Tengah"
 
-#: Pinta.Tools/TextTool.cs:227
+#: Pinta.Tools/TextTool.cs:246
 msgid "Right Align"
 msgstr "Rata Kanan"
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
-msgstr "Pemilih Tongkat Ajaib"
-
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
-msgstr "Pilih untuk memilih area yang warnanya mirip."
-
 #: Pinta.Tools/RectangleTool.cs:38
 msgid "Rectangle"
 msgstr "Persegi Panjang"
@@ -617,655 +800,618 @@ msgstr ""
 "Klik dan seret untuk menggambar persegi panjang (klik kanan untuk warna "
 "sekunder). Tahan shift untuk memaksakan bentuk bujursangkar."
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
-msgstr "Garis"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
+msgstr "Bentuk Bebas"
 
-#: Pinta.Tools/LineCurveTool.cs:44
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
 msgid ""
-"Left click to draw with primary color, right click for secondary color."
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
 msgstr ""
 "Klik kiri untuk menggambar dengan warna primer, klik kanan untuk warna "
 "sekunder."
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
-msgstr "Warnai-ulang"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
+msgstr ""
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
-msgstr "Klik kiri untuk mengganti warna sekunder dengan warna primer."
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
+msgstr "Bentuk Bergaris Tepi"
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
-msgstr "Penghapus"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
+msgstr "Bentuk Berisi"
 
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
-msgstr "Klik dan seret untuk menghapus bagian dari citra."
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
+msgstr "Bentuk Berisi dan Bergaris Tepi"
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:26
-msgid "Pixelate"
-msgstr "Pikselkan"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
+msgstr ""
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr "Distorsi"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
+msgstr "Bersambungan"
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
-msgstr "Hilangkan Mata Merah"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
+msgstr "Global"
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
-#: Pinta.Effects/Effects/SharpenEffect.cs:34
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
-msgid "Photo"
-msgstr "Foto"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
+msgstr "Toleransi"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
-msgstr "Pengaburan Gerak"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
+msgstr "Garis"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
-msgstr "Kaburkan"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
+msgstr ""
+"Klik kiri untuk menggambar dengan warna primer, klik kanan untuk warna "
+"sekunder."
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
-msgstr "Sketsa Tinta"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
+msgstr "Pindahkan Pemilih"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
-msgstr "Artistik"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
+msgstr "Seret pemilih untuk memindahkan garis tepi pemilih."
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
-msgstr "Pengaburan Melingkar"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
+msgstr "Pemilih Persegi Panjang"
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
-msgstr "Awafokus"
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
+msgstr ""
+"Klik dan seret untuk menggambar pemilih persegi panjang. Tahan shift untuk "
+"memaksakan bentuk bujursangkar."
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
-msgid "Edge Detect"
-msgstr "Deteksi Tepian"
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
+msgstr "Pemilih Tongkat Ajaib"
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
-#: Pinta.Effects/Effects/EmbossEffect.cs:34
-msgid "Stylize"
-msgstr "Gayakan"
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
+msgstr "Pilih untuk memilih area yang warnanya mirip."
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
-msgstr "Kaca Buram"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
+msgstr "Pemilih Elips"
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
-msgstr "Cat Minyak"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
+msgstr ""
+"Klik dan seret untuk menggambar pemilih elips. Tahan shift untuk memaksakan "
+"bentuk lingkaran."
 
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
-msgid "Zoom Blur"
-msgstr "Pengaburan Zum"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
+msgstr "Pemilih Laso"
 
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
-msgid "Polar Inversion"
-msgstr "Inversi Kutub"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
+msgstr "Klik dan seret untuk menggambar garis tepi area pemilihan."
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:30
-msgid "Clouds"
-msgstr "Awan"
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
+msgstr "Ember Cat"
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr "Lukis"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
+msgstr ""
+"Klik kiri untuk mengisi area dengan warna primer, klik kanan untuk warna "
+"sekunder."
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
-msgstr "Berpendar"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
+msgstr "Gradasi"
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
-msgid "Add Noise"
-msgstr "Tambah Derau"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
+msgstr ""
+"Klik dan seret untuk menggambar gradasi dari warna primer ke sekunder. Klik "
+"kanan untuk sebaliknya."
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
-msgstr "Derau"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
+msgstr "Gradasi Linear"
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
-msgstr "Fragmen"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
+msgstr "Gradasi Linear Tercerminkan"
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
-msgstr "Tajamkan"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
+msgstr "Gradasi Linear Wajik"
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
-msgstr "Sketsa Pensil"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
+msgstr "Gradasi Melingkar"
 
-#: Pinta.Effects/Effects/OutlineEffect.cs:29
-msgid "Outline"
-msgstr "Kerangka"
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
+msgstr "Gradasi Mengerucut"
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
-msgstr "Pengaburan Gaussian"
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
+msgstr ""
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
-msgstr "Refleksi Ubin"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
+msgstr "Modus Warna"
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
-msgstr "Relief"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
+msgstr "Modus Transparansi"
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
-msgstr "Pahatan"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
+msgstr "Lebar kuas"
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
-msgstr "Fraktal Mandelbrot"
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
+msgstr "Kecilkan ukuran kuas"
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
-msgstr "Tonjolkan"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
+msgstr "Besarkan ukuran kuas"
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
-msgstr "Pelintir"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "Kuas Cat"
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
-msgstr "Haluskan Foto"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
+msgstr ""
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
-msgstr "Kurangi Derau"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
+msgstr "Warnai-ulang"
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
-msgstr "Fraktal Julia"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
+msgstr "Klik kiri untuk mengganti warna sekunder dengan warna primer."
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
-msgstr "Median"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
-msgstr "Kurva"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
-msgstr "Level"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
-msgstr "Auto-Level"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
-msgstr "Inversikan Warna"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
-msgstr "Posterkan"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
+msgstr "Elips"
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
-msgstr "Hitam dan Putih"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
+msgstr ""
+"Klik dan seret untuk menggambar elips (klik kanan untuk warna sekunder). "
+"Tahan shift untuk memaksakan bentuk lingkaran."
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
-msgstr "Warna / Kepekatan"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
+msgstr "Stempel Cangkok"
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
-msgstr "Sepia"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
+msgstr ""
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
-msgstr "Kecerahan / Kontras"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "Zum"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
-msgstr "Penyesuaian Level"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
+msgstr ""
+"Klik kiri untuk zum masuk. Klik kanan untuk zum keluar. Klik dan seret untuk "
+"zum dalam pilihan."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
-msgstr "Histogram Masukan"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
+msgstr "Persegi Panjang Berlengkung"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
-msgstr "Masukan"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
+msgstr ""
+"Klik dan seret untuk menggambar persegi panjang berlengkung (klik kanan "
+"untuk warna sekunder). Tahan shift untuk bentuk bujursangkar."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
-msgstr "Keluaran"
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
+msgstr "Jari-jari"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
-msgstr "Histogram Keluaran"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
+msgstr "Kecilkan jari-jari lengkungan sudut persegi panjang"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
-msgstr "Otomatis"
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
+msgstr "Besarkan jari-jari lengkungan sudut persegi panjang"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
-msgstr "Tata-ulang"
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "Pemilih Warna"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
-msgstr "Merah"
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
+msgstr ""
+"Klik kiri untuk mengeset warna primer. Klik kanan untuk warna sekunder."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
-msgstr "Hijau"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr "Setelah memilih"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
-msgstr "Biru"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
+msgstr "Jangan ganti alat"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
-msgstr "Terkait"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr "Ganti ke alat sebelumnya"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
-msgstr "Peta Transfer"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
+msgstr "Ganti ke alat Pensil"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
-msgstr "RGB"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "Pensil"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
-msgstr "Kecemerlangan"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
+msgstr "Penghapus"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
-msgstr "(256, 256)"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
+msgstr "Klik dan seret untuk menghapus bagian dari citra."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
-msgstr "Merah  "
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
+msgstr ""
+"Klik kiri untuk menggambar garis bentuk bebas selebar satu piksel dengan "
+"warna primer, klik kanan untuk warna sekunder."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
-msgstr "Biru "
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
+msgstr "Pindahkan Piksel Terpilih"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
-msgstr "Tip: Klik-kanan untuk menghapus titik kendali."
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
+msgstr "Seret pilihan untuk memindahkan isi terpilih."
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
-msgstr "Tambah Lapisan Baru"
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "Sembunyikan"
 
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
-msgstr "Hapus Lapisan"
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "Berlabuh"
 
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
-msgstr "Gandakan Lapisan"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "Auto-Sembunyikan"
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
-msgstr "Gabungkan Ke Bawahnya"
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "Dapat dilabuhkan"
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
-msgstr "Impor dari Berkas..."
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "Mengambang"
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
-msgstr "Balikkan Horizontal"
+#: Pinta/Options.cs:486
+msgid "OptionName"
+msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
-msgstr "Balikkan Vertikal"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "Per persentasi:"
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
-msgstr "Putar / Zum"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
+msgstr "Per ukuran absolut:"
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
-msgstr "Naikkan Lapisan"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "Lebar:"
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
-msgstr "Turunkan Lapisan"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "piksel"
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
-msgstr "Buka Berkas Citra"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "Tinggi:"
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
-msgstr "Impor Dari Berkas"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "Pertahankan rasio panjang-lebar"
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
-msgstr "Baru..."
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "Jangkar:"
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
-msgstr "Buka..."
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "Ukuran Citra Baru          "
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
-msgstr "Buka Terkini"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Properti Lapisan"
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
-msgstr "Tutup"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "Nama:"
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
-msgstr "Simpan"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "Terlihat"
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
-msgstr "Simpan Sebagai..."
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "Ketaktembusan:"
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
-msgstr "Cetak"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr "Keluar"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "Be_rkas"
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
-msgstr "Baru"
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "_Edit"
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
-msgstr "Buka"
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "_Tampakan"
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
-msgstr "Latar Belakang"
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "_Citra"
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
-msgstr "Buka Citra"
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "_Lapisan"
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
-msgstr "Gagal membuka berkas: {0}"
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "_Penyesuaian"
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
-msgstr "Kesalahan"
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "Efe_k"
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
-msgstr "Simpan perubahan ke citra \"{0}\" sebelum membuka citra baru?"
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "_Jendela"
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
-msgstr "Berkas citra"
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
+msgstr "Jendela Alat"
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
-msgstr "Semua berkas"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "_Bantuan"
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
-msgstr "Simpan Berkas Citra"
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "Alat"
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
-msgstr "{0} citra ({1})"
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Dokumen"
+
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "Lapisan"
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
-msgstr "Citra OpenRaster (*.ora)"
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "Riwayat"
+
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:392
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
+msgstr ""
+
+#: Pinta/DialogHandlers.cs:139
 #, csharp-format
 msgid "Save the changes to image \"{0}\" before closing?"
 msgstr "Simpan perubahan ke citra \"{0}\" sebelum menutup?"
 
-#: Pinta.Core/Actions/FileActions.cs:402
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "Bila Anda tidak simpan, semua perubahan akan hilang."
+
+#: Pinta/DialogHandlers.cs:147
 msgid "Close without saving"
 msgstr "Tutup tanpa menyimpan"
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
-msgstr "Pangkas Pilihan"
-
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
-msgstr "Ubah Ukuran..."
-
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
-msgstr "Ukuran Kanvas..."
-
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
-msgstr "Putar 90° Perijam"
-
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
-msgstr "Putar 90° Lawan-Perijam"
-
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
-msgstr "Putar 180°"
-
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
-msgstr "Sedatarkan"
-
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr "Urungkan"
-
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
-msgstr "Ulangi"
-
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
-msgstr "Potong"
-
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
-msgstr "Salin"
-
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
-msgstr "Tempel"
-
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
-msgstr "Tempel Ke Lapisan Baru"
-
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
-msgstr "Tempel Ke Citra Baru"
-
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
-msgstr "Hapus Pilihan"
-
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
-msgstr "Arsir Pilihan"
-
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
-msgstr "Inversikan Pilihan"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
+msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
-msgstr "Pilih Semua"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
+msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
-msgstr "Awapilih"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "Ketaktembusan Lapisan"
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
-msgstr "Zum Masuk"
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "Ubah Nama Lapisan"
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
-msgstr "Zum Keluar"
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "Sembunyikan Lapisan"
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
-msgstr "Zum ke Jendela"
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "Tampilkan Lapisan"
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
-msgstr "Zum ke Pilihan"
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
+msgstr "Berkas citra"
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
-msgstr "Ukuran Sebenarnya"
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
-msgstr "Kisi Piksel"
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
-msgstr "Mistar"
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
+msgstr "Simpan Berkas Citra"
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
-msgstr "Piksel"
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
-msgstr "Inci"
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
-msgstr "Sentimeter"
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
-msgstr "Layar Penuh"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr "jumlah ulir yang digunakan untuk melukis"
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
-msgstr "Jendela"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Versi"
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
-msgstr "Laman Web Pinta"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Lisensi"
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
-msgstr "Laporkan Masalah"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "Dirilis di bawah Lisensi MIT X11."
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
-msgstr "Terjemahkan Aplikasi Ini"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "Hak Cipta"
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
-msgstr "Umum"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "oleh kontributor Pinta"
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
-msgstr "Alat"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "Judul"
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
-msgstr "Kunci pintasan"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "Jalur"
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
-msgstr "Antialias"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
+msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
-msgstr "Pencampuran normal / timpa"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
+msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
-msgstr "Balikkan Citra Horizontal"
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "Kontributor Rilis Ini"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
-msgstr "Balikkan Citra Vertikal"
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "Kontributor Sebelumnya"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
-msgstr "Balikkan Lapisan Horizontal"
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst\n"
+"  Permata Harahap https://launchpad.net/~permataharahap"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
-msgstr "Balikkan Lapisan Vertikal"
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Diterjemahkan oleh:"
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
-msgstr "Selesaikan Piksel"
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "Berdasarkan karya Paint.NET:"
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
-msgstr "Efek Lukis"
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "Menggunakan ikon dari:"
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
-msgstr "salin"
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "Tentang Pinta"
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
-msgstr "Lapisan"
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "Info Versi"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1445,3 +1591,26 @@ msgid "Hint: For best results, first use selection tools to select each eye."
 msgstr ""
 "Saran: Demi hasil terbaik, terlebih dahulu gunakan alat pemilih untuk "
 "memilih masing-masing mata."
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr "Simpan perubahan ke citra \"{0}\" sebelum membuat yang baru?"
+
+#~ msgid "Continue without saving"
+#~ msgstr "Teruskan tanpa menyimpan"
+
+#~ msgid "Fill mode"
+#~ msgstr "Modus arsiran"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before opening a new image?"
+#~ msgstr "Simpan perubahan ke citra \"{0}\" sebelum membuka citra baru?"
+
+#~ msgid "OpenRaster image (*.ora)"
+#~ msgstr "Citra OpenRaster (*.ora)"
+
+#~ msgid "Antialiasing"
+#~ msgstr "Antialias"
+
+#~ msgid "Normal blending / Overwrite blending"
+#~ msgstr "Pencampuran normal / timpa"
diff --git a/po/messages-it.po b/po/messages-it.po
index 9d68ab0..554ade4 100644
--- a/po/messages-it.po
+++ b/po/messages-it.po
@@ -7,566 +7,748 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-10-12 20:25+0000\n"
-"Last-Translator: simone.sandri <Unknown>\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2010-12-03 17:58+0000\n"
+"Last-Translator: giacomo margarito <giacomomargarito at gmail.com>\n"
 "Language-Team: Italian <it at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "Informazioni su Pinta"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "Finestra"
 
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "Pennello"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "Livello"
 
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "_File"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "copia"
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "_Modifica"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "Ridimensiona Tela"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "_Visualizza"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr "Strumenti"
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "_Immagine"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr "Scorciatoia"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "_Livelli"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr "Mescola normale"
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "_Regolazioni"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr "Sovrascrivi"
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "_Effetti"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr "Attiva Antialiasing"
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "_Finestra"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr "Disattiva Antialiasing"
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "_Aiuto"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "Ridimensiona immagine"
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
-msgstr ""
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr "Finisci pixel"
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "Strumenti"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr "Ruota di 180°"
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "Tavolozza"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr "Ribalta immagine orizzontalmente"
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Documenti"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr "Ribalta immagine verticalmente"
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "Livelli"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr "Ruota di 90° in senso orario"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "Cronologia"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr "Ruota di 90° in senso antiorario"
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "Nascondi"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr "Ribalta livello orizzontalmente"
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "Agganciabile"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr "Ribalta livello verticalmente"
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "Fluttuante"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
+msgstr "Generali"
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "Nasconi automaticamente"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr "{0} immagine ({1})"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "Aggancia"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr "Ritaglia la selezione"
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "Hanno contribuito a questa versione"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr "Ridimensiona..."
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "Collaboratori precedenti"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr "Dimensioni immagine..."
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
-msgstr ""
-"Launchpad Contributions:\n"
-"  Daniele Napolitano https://launchpad.net/~dnax88\n"
-"  Eagleman https://launchpad.net/~giacomomargarito\n"
-"  Jonathan Pobst https://launchpad.net/~jpobst\n"
-"  Kabir94 https://launchpad.net/~kabirsala\n"
-"  Luca Urbini https://launchpad.net/~luca-urbini\n"
-"  Pullus In Fabula https://launchpad.net/~zatunga11\n"
-"  flux https://launchpad.net/~luigimarco\n"
-"  magic3 https://launchpad.net/~magic3\n"
-"  nTia89 https://launchpad.net/~tia-tif-deactivatedaccount\n"
-"  simone.sandri https://launchpad.net/~lexluxsox"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr "Ribalta orizzontalmente"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Tradotto da:"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr "Ribalta verticalmente"
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "Basato sul lavoro di Paint.NET"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr "Appiattisci"
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "Utilizzando delle icone da:"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr "Ingrandisci"
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "A proposito di Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr "Riduci"
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "Informazioni sulla versione"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr "Adatta alla finestra"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "Titolo"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr "Ingrandisci alla selezione"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Versione"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr "Dimensione reale"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "Percorso"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
+msgstr "Barra degli strumenti"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Licenza"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr "Griglia dei pixel"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "Rilasciato sotto la licenza MIT X11"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr "Righello"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "Copyright"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr "Pixel"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "dai collaboratori di Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr "Pollici"
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
-msgstr "Numero di"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr "Centimetri"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "Ridimensiona immagine"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr "Schermo intero"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "In percentuale:"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr "Unità di misura"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
-msgstr "In dimensioni assolute:"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr "Aggiungi nuovo livello"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "Larghezza:"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr "Elimina livello"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "pixel"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr "Duplica livello"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "Altezza:"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr "Unisci al livello sottostante"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "Mantieni le proporzioni"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr "Importa dal file..."
+
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr "Ruota / Zoom"
+
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr "Sposta il livello in alto"
+
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr "Sposta il livello in basso"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
 #: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "Proprietà del livello"
+msgid "Layer Properties..."
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "Nome:"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
+msgstr "Apri immagine"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "Visibile"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr "Importa da file"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "Opacità:"
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr "Salva tutto"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "Ridimensiona Tela"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr "Chiudi tutto"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "Ancora:"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr "Sito di Pinta"
+
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
+msgstr "Segnala un bug"
+
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
+msgstr "Traduci questo programma"
+
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "Informazioni su Pinta"
+
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr "Nuovo..."
+
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
+msgstr "Cattura Schermata"
+
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
+msgstr "Apri..."
+
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr "Aperti di recente"
+
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
+msgstr "Chiudi"
+
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
+msgstr "Salva"
+
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
+msgstr "Salva con nome..."
 
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
+msgstr "Stampa"
+
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
+msgstr "Esci"
+
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr "Nuovo"
+
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
+msgstr "Apri"
+
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
+msgstr "Annulla"
+
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
+msgstr "Ripristina"
+
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
+msgstr "Taglia"
+
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
+msgstr "Copia"
+
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
+msgstr "Incolla"
+
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
+msgstr "Incolla in un nuovo livello"
+
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
+msgstr "Incolla in una nuova immagine"
+
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
+msgstr "Elimina la selezione"
+
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
+msgstr "Riempi selezione"
+
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
+msgstr "Inverti la selezione"
+
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
+msgstr "Seleziona tutto"
+
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
+msgstr "Deseleziona"
+
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
+msgstr "Ripristina originale"
+
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
+msgstr "Imposta numero di colori"
+
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "Tavolozza"
+
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
+msgstr "Apri Tavolozza"
+
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
+msgstr "File Tavolozza (*.txt, *.gpl)"
+
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr "Tutti i file"
+
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
+msgid ""
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
+msgstr ""
+"Impossibile aprire la Tavolozza: {0}.\n"
+"Verifica che sia una tavolozza valida per GIMP o Paint.NET."
+
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
+msgstr "Errore"
+
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
+msgstr "Salva Tavolozza"
+
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
+msgstr "Tavolozza Paint.NET (*.txt)"
+
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
+msgstr "Tavolozza GIMP (*.gpl)"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr "Immagine non salvata {0}"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
+msgstr "Sfondo"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
 msgid "New Image"
 msgstr "Nuova immagine"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "Nuova dimensione immagine          "
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
+msgstr "Apri immagine"
 
-#: Pinta/DialogHandlers.cs:57
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
 #, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
-msgstr ""
-"Salvare le modifiche all'immagine \"{0}\" prima di crearne una nuova?"
+msgid "Could not open file: {0}"
+msgstr "Impossibile aprire il file: {0}"
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr ""
-"Se non si salva ora, tutte le modifiche saranno definitivamente perse."
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
+msgstr "Effetti di rendering"
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "Continua senza salvare"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
+msgstr "Posterizza"
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "Opacità del livello"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
+msgstr "Inverti colori"
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "Rinomina livello"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
+msgstr "Livelli"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "Nascondi livello"
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
+msgstr "Bianco e nero"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "Mostra livello"
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
+msgstr "Livella automaticamente"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
-msgstr "etichetta1"
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
+msgstr "Tonalità / Saturazione"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "etichetta"
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
+msgstr "Luminosità / Contrasto"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
-msgstr "Rumore casuale"
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
+msgstr "Seppia"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
-msgstr "Rigenera il seme"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
+msgstr "Curve"
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
-msgstr "Acchiappa colore"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
+msgstr "Mappa di trasferimento"
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
+msgstr "RGB"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
+msgstr "Luminosità"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
+msgstr "(256, 256)"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
+msgstr "Rosso  "
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
+msgstr "Verde"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
+msgstr "Blu "
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
+msgstr "Azzera"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
 msgstr ""
-"Tasto sinistro del mouse per impostare il colore primario. Tasto destro del "
-"mouse per impostare il colore secondario."
+"Suggerimento: fai Click con il tasto destro per rimuovere i punti di "
+"controllo."
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
-msgstr "Dopo la selezione"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
+msgstr "Regolazione livelli"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
-msgstr "Non cambiare strumento"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
+msgstr "Istogramma di partenza"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
-msgstr "Passa allo strumento precedente"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
+msgstr "Input"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
-msgstr "Passa alla matita"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
+msgstr "Risultato"
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
-msgstr "Matita"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
+msgstr "Mostra Istogramma"
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
-msgstr "Selezione libera"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
+msgstr "Auto"
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
-msgstr "Clicca e trascina per disegnare il contorno dell'area da selezionare"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
+msgstr "Rosso"
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
-msgstr "Zoom"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
+msgstr "Blu"
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
-msgstr ""
-"Tasto sinistro del mouse per aumentare lo zoom. Tasto destro del mouse per "
-"diminuire lo zoom. Clicca e trascina per zoomare alla selezione."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
+msgstr "Collegato"
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
-msgstr "Dimensione pennello"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
+msgstr "Schizzo a matita"
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
-msgstr "Diminuisci la dimensione del pennello"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
+msgstr "Artistici"
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
-msgstr "Aumenta la dimensione del pennello"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
+msgstr "Sfoca"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
-msgstr "Solo contorno"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
+msgstr "Sfocature"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
-msgstr "Forma piena"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
+msgstr "Rigonfiamento"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
-msgstr "Contorno e forma piena"
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
+msgstr "Distorsione"
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
-msgstr "Muovi i pixel selezionati"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
+msgstr "Frattale Mandelbrot"
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
-msgstr "Trascina la selezione per spostare i contenuti selezionati."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
+msgstr "Renderizza"
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
-msgstr ""
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
+msgstr "Mediana"
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
-msgstr "Clicca e trascina per muoverti nell'immagine."
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
+msgstr "Disturbo"
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
-msgstr ""
-"Tasto sinistro del muose per disegnare liberamente una linea di un pixel "
-"come spessore e con il colore primario. Tasto destro del mouse per usare il "
-"colore secondario."
+#: Pinta.Effects/Effects/PixelateEffect.cs:26
+msgid "Pixelate"
+msgstr "Mosaico"
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
-msgstr "Selezione ellittica"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
+msgstr "Nitidezza"
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
-msgstr ""
-"Clicca e trascina per disegnare una selezione ellittica. Tieni premuto il "
-"tasto Shift per forzare una selezione circolare."
+#: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
+msgid "Photo"
+msgstr "Foto"
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
-msgstr "Sfumatura"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
+msgstr "Pittura ad olio"
 
-#: Pinta.Tools/GradientTool.cs:60
-msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
-msgstr ""
-"Clicca e trascina per disegnare il gradiente dal colore primario a quello "
-"secondario. Clicca con il destro per invertirli."
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
+msgstr "Sfocatura Gaussiana"
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
-msgstr "Gradiente lineare"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
+msgstr "Luminosità"
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
-msgstr "Gradiente lineare riflesso"
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
+msgstr "Ammorbidire il ritratto"
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
-msgstr "Sfumatura a diamante lineare"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
+msgstr "Riflessione di piastrelle"
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
-msgstr "Gradiente radiale"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr "Rimozione occhi rossi"
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
-msgstr "Sfumatura conica"
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
+msgstr "Vetro ghiacciato"
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
-msgstr "Modalità colore"
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
+msgid "Edge Detect"
+msgstr "Rileva bordi"
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
-msgstr "Modalità trasparente"
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
+#: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
+msgid "Stylize"
+msgstr "Stilizza"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
-msgstr "Rettangolo smussato"
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
+msgstr "Frattale Julia"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
-msgstr ""
-"Fare click per disegnare un rettangolo con angoli arrotondati (click destro "
-"per il colore secondario). Tenere premuto Maiusc per disegnare un quadrato."
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr "Sfocatura movimento"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
-msgstr "Raggio"
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr "Rilievo"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
-msgstr "Riduci il raggio dell'angolo del rettangolo"
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
+msgstr "Schizzo di inchiostro"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
-msgstr "Aumenta il raggio dell'angolo del rettangolo"
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
+msgid "Zoom Blur"
+msgstr "Sfocatura zoom"
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
-msgstr ""
-"Fare click sinistro per disegnare col colore primario, click destro per "
-"disegnare col colore secondario."
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
+msgid "Polar Inversion"
+msgstr "Inversione polare"
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
-msgstr "Selezione rettangolare"
+#: Pinta.Effects/Effects/CloudsEffect.cs:30
+msgid "Clouds"
+msgstr "Nuvole"
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
-msgstr ""
-"Fare click e trascinare per effettuare una selezione rettangolare. Mantieni "
-"premuto shift per forzare a quadrato."
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
+msgstr "Frammentazione"
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
-msgstr "Secchiello"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr "Riduci disturbo"
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
-msgstr ""
-"Fare click sinistro per riempire una regione col colore primario, click "
-"destro per riempire col colore secondario."
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr "Sfocatura radiale"
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
-msgstr "Clona"
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
+msgstr "Twist"
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
-msgstr "Muovi selezione"
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
+msgid "Add Noise"
+msgstr "Aggiungi disturbo"
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
-msgstr "Trascina la selezione per muovere il bordo della selezione."
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
+msgstr "Rilievo"
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
-msgstr "Forma a mano libera"
+#: Pinta.Effects/Effects/OutlineEffect.cs:29
+msgid "Outline"
+msgstr "Contorno"
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
-msgstr "Modalità di riempimento"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
+msgstr "Rumore casuale"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
-msgstr "Contiguo"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
+msgstr "Rigenera il seme"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
-msgstr "Globale"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "etichetta1"
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
-msgstr "Tolleranza"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "etichetta"
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
-msgstr "Ellisse"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
+msgstr "Scegli il Colore Primario"
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
-msgstr ""
-"Fare click e trascinare per disegnare un ellisse (click destro per il colore "
-"secondario). Mantenere premuto shift per forzare ad un cerchio."
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
+msgstr "Scegli il Colore Secondario"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr "Scegli Tavolozza dei Colori"
+
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
+msgstr "Pan"
+
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
+msgstr "Clicca e trascina per muoverti nell'immagine."
 
 #: Pinta.Tools/TextTool.cs:37
 msgid "Text"
@@ -580,42 +762,34 @@ msgstr ""
 "Fare click sinistro per posizionare il cursore, quindi scrivere il testo "
 "desiderato. Il colore del testo è quello primario."
 
-#: Pinta.Tools/TextTool.cs:131
+#: Pinta.Tools/TextTool.cs:144
 msgid "Font"
 msgstr "Carattere"
 
-#: Pinta.Tools/TextTool.cs:186
+#: Pinta.Tools/TextTool.cs:205
 msgid "Bold"
 msgstr "Grassetto"
 
-#: Pinta.Tools/TextTool.cs:193
+#: Pinta.Tools/TextTool.cs:212
 msgid "Italic"
 msgstr "Corsivo"
 
-#: Pinta.Tools/TextTool.cs:201
+#: Pinta.Tools/TextTool.cs:220
 msgid "Underline"
 msgstr "Sottolineato"
 
-#: Pinta.Tools/TextTool.cs:210
+#: Pinta.Tools/TextTool.cs:229
 msgid "Left Align"
 msgstr "Allinea a sinistra"
 
-#: Pinta.Tools/TextTool.cs:219
+#: Pinta.Tools/TextTool.cs:238
 msgid "Center Align"
 msgstr "Allinea al centro"
 
-#: Pinta.Tools/TextTool.cs:227
+#: Pinta.Tools/TextTool.cs:246
 msgid "Right Align"
 msgstr "Allinea a destra"
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
-msgstr "Seleziona la bacchetta magica"
-
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
-msgstr "Fare click in una regione di colore simile."
-
 #: Pinta.Tools/RectangleTool.cs:38
 msgid "Rectangle"
 msgstr "Rettangolo"
@@ -629,6 +803,50 @@ msgstr ""
 "destro per il colore secondario). Tenere premuto Maiusc per disegnare un "
 "quadrato."
 
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
+msgstr "Forma a mano libera"
+
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
+msgid ""
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
+msgstr ""
+"Fare click sinistro per disegnare col colore primario, click destro per "
+"disegnare col colore secondario."
+
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
+msgstr "Stile di ripempimento"
+
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
+msgstr "Solo contorno"
+
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
+msgstr "Forma piena"
+
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
+msgstr "Contorno e forma piena"
+
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
+msgstr "Modo riempimento"
+
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
+msgstr "Contiguo"
+
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
+msgstr "Globale"
+
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
+msgstr "Tolleranza"
+
 #: Pinta.Tools/LineCurveTool.cs:38
 msgid "Line"
 msgstr "Linea"
@@ -640,646 +858,580 @@ msgstr ""
 "Click sinistro per disegnare col colore primario, click destro per il colore "
 "secondario."
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
-msgstr "Ricolola"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
+msgstr "Muovi selezione"
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
-msgstr ""
-"Fare click per sostituire il colore secondario con il colore primario."
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
+msgstr "Trascina la selezione per muovere il bordo della selezione."
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
-msgstr "Gomma"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
+msgstr "Selezione rettangolare"
 
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
-msgstr "Fare clic e trascinare per cancellare una parte dell'immagine."
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
+msgstr ""
+"Fare click e trascinare per effettuare una selezione rettangolare. Mantieni "
+"premuto shift per forzare a quadrato."
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:26
-msgid "Pixelate"
-msgstr "Mosaico"
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
+msgstr "Seleziona la bacchetta magica"
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr "Distorci"
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
+msgstr "Fare click in una regione di colore simile."
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
-msgstr "Rimozione occhi rossi"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
+msgstr "Selezione ellittica"
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
-#: Pinta.Effects/Effects/SharpenEffect.cs:34
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
-msgid "Photo"
-msgstr "Foto"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
+msgstr ""
+"Clicca e Trascina per disegnare una selezione ellittica. Tieni premuto il "
+"tasto Maiusc per forzare una selezione circolare."
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
-msgstr "Sfocatura movimento"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
+msgstr "Selezione libera"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
-msgstr "Sfocature"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
+msgstr "Clicca e trascina per disegnare il contorno dell'area da selezionare"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
-msgstr "Schizzo di inchiostro"
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
+msgstr "Secchiello"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
-msgstr "Artistici"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
+msgstr ""
+"Fare click sinistro per riempire una regione col colore primario, click "
+"destro per riempire col colore secondario."
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
-msgstr "Sfocatura radiale"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
+msgstr "Sfumatura"
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
-msgstr "Sfoca"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
+msgstr ""
+"Clicca e trascina per disegnare la sfumatura dal colore primario a quello "
+"secondario. Clicca con il tasto destro per invertirli."
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
-msgid "Edge Detect"
-msgstr "Rileva bordi"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
+msgstr "Sfumatura lineare"
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
-#: Pinta.Effects/Effects/EmbossEffect.cs:34
-msgid "Stylize"
-msgstr "Stilizza"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
+msgstr "Sfumatura lineare riflessa"
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
-msgstr "Vetro ghiacciato"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
+msgstr "Sfumatura a diamante lineare"
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
-msgstr "Pittura ad olio"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
+msgstr "Sfumatura radiale"
 
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
-msgid "Zoom Blur"
-msgstr "Sfocatura zoom"
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
+msgstr "Sfumatura conica"
 
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
-msgid "Polar Inversion"
-msgstr "Inversione polare"
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
+msgstr "Modalità"
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:30
-msgid "Clouds"
-msgstr "Nuvole"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
+msgstr "Modalità colore"
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr "Renderizza"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
+msgstr "Modalità trasparenza"
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
-msgstr "Luminosità"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
+msgstr "Dimensione pennello"
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
-msgid "Add Noise"
-msgstr "Aggiungi disturbo"
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
+msgstr "Diminuisci la dimensione del pennello"
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
-msgstr "Disturbo"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
+msgstr "Aumenta la dimensione del pennello"
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
-msgstr "Frammentazione"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "Pennello"
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
-msgstr "Nitidezza"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
+msgstr "Tipo"
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
-msgstr "Schizzo a matita"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
+msgstr "Ricolora"
 
-#: Pinta.Effects/Effects/OutlineEffect.cs:29
-msgid "Outline"
-msgstr "Contorno"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
+msgstr ""
+"Fare click per sostituire il colore secondario con il colore primario."
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
-msgstr "Sfocatura Gaussiana"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
+msgstr "Normale"
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
-msgstr "Riflessione di piastrelle"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
+msgstr "Circolare"
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
-msgstr "Rilievo"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
+msgstr "Quadrati"
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
-msgstr "Rilievo"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
+msgstr "Splatter"
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
-msgstr "Frattale Mandelbrot"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
+msgstr "Griglia"
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
-msgstr "Rigonfiamento"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
+msgstr "Ellisse"
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
 msgstr ""
+"Fare click e trascinare per disegnare un ellisse (click destro per il colore "
+"secondario). Mantenere premuto shift per forzare ad un cerchio."
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
-msgstr "Ammorbidire il ritratto"
-
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
-msgstr "Riduci disturbo"
-
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
-msgstr "Frattale Julia"
-
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
-msgstr "Mediana"
-
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
-msgstr "Curve"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
+msgstr "Timbro clone"
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
-msgstr "Livelli"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
+msgstr ""
+"Ctrl+tasto sinistro per impostare l'origine, click con il tasto sinistro per "
+"disegnare."
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
-msgstr "Livella automaticamente"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "Ingradimento"
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
-msgstr "Inverti colori"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
+msgstr ""
+"Tasto destro del mouse per ingrandire. Tasto destro del mouse per "
+"rimpicciolire. Cliccare e trascinare per ingrandire la selezione."
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
-msgstr "Posterizza"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
+msgstr "Rettangolo arrotondato"
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
-msgstr "Bianco e nero"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
+msgstr ""
+"Fare click per disegnare un rettangolo con angoli arrotondati (click destro "
+"per il colore secondario). Tenere premuto Maiusc per disegnare un quadrato."
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
-msgstr "Tonalità / Saturazione"
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
+msgstr "Raggio"
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
-msgstr "Seppia"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
+msgstr "Riduci il raggio dell'angolo del rettangolo"
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
-msgstr "Luminosità / Contrasto"
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
+msgstr "Aumenta il raggio dell'angolo del rettangolo"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
-msgstr "Regolazione livelli"
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "Selettore colore"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
-msgstr "Istogramma di partenza"
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
+msgstr ""
+"Tasto sinistro del mouse per impostare il colore primario. Tasto destro del "
+"mouse per impostare il colore secondario."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
-msgstr "Input"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr "Dopo la selezione"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
-msgstr "Risultato"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
+msgstr "Non cambiare strumento"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
-msgstr "Mostra Istogramma"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr "Passa allo strumento precedente"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
-msgstr "Auto"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
+msgstr "Passa alla matita"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
-msgstr "Reset"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "Matita"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
-msgstr "Rosso"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
+msgstr "Gomma"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
-msgstr "Verde"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
+msgstr "Fare clic e trascinare per cancellare una parte dell'immagine."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
-msgstr "Blu"
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
+msgstr ""
+"Tasto sinistro del muose per disegnare liberamente una linea di un pixel "
+"come spessore e con il colore primario. Tasto destro del mouse per usare il "
+"colore secondario."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
-msgstr "Collegato"
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
+msgstr "Sposta i pixel selezionati"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
-msgstr "Mappa di trasferimento"
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
+msgstr "Trascina la selezione per spostare i contenuti selezionati."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
-msgstr "RGB"
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "Nascondi"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
-msgstr "Luminosità"
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "Aggancia"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
-msgstr "(256, 256)"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "Nascondi automaticamente"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
-msgstr "Rosso  "
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "Agganciabile"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
-msgstr "Blu "
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "Fluttuante"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
+#: Pinta/Options.cs:486
+msgid "OptionName"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
-msgstr "Aggiungi nuovo livello"
-
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
-msgstr "Elimina livello"
-
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
-msgstr "Duplica livello"
-
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
-msgstr "Unisci al livello sottostante"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "In percentuale:"
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
-msgstr "Importa dal file..."
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
+msgstr "In dimensioni assolute:"
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
-msgstr "Ribalta orizzontalmente"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "Larghezza:"
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
-msgstr "Ribalta verticalmente"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "pixel"
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
-msgstr "Ruota / Zoom"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "Altezza:"
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
-msgstr "Sposta il livello in alto"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "Mantieni le proporzioni"
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
-msgstr "Sposta il livello in basso"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "Ancora:"
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
-msgstr "Apri immagine"
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "Nuova dimensione immagine          "
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
-msgstr "Importa da file"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Proprietà del livello"
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
-msgstr "Nuovo..."
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "Nome:"
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
-msgstr "Apri..."
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "Visibile"
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
-msgstr "Aperti di recente"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "Opacità:"
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
-msgstr "Chiudi"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
-msgstr "Salva"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "_File"
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
-msgstr "Salva con nome..."
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "_Modifica"
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
-msgstr "Stampa"
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "_Visualizza"
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr "Esci"
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "_Immagine"
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
-msgstr "Nuovo"
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "_Livelli"
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
-msgstr "Apri"
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "_Regolazioni"
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
-msgstr "Sfondo"
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "_Effetti"
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
-msgstr "Apri immagine"
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "_Finestra"
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
-msgstr "Impossibile aprire il file: {0}"
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
+msgstr "Finestre Strumenti"
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
-msgstr "Errore"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "_Guida utente"
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
-msgstr ""
-"Salvare i cambiamenti dell'immagine \"{0}\" prima di aprirne una nuova?"
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "Strumenti"
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
-msgstr "File di immagini"
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Documenti"
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
-msgstr "Tutti i file"
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "Livelli"
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
-msgstr "Salva immagine"
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "Cronologia"
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
-msgstr "{0} immagine ({1})"
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
+msgstr "Cattura Schermata"
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
-msgstr "Immagine OpenRaster (*.ora)"
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
+msgstr "Ritardo prima di catturare lo schermo (secondi):"
 
-#: Pinta.Core/Actions/FileActions.cs:392
+#: Pinta/DialogHandlers.cs:139
 #, csharp-format
 msgid "Save the changes to image \"{0}\" before closing?"
 msgstr "Salvare i cambiamenti all'immagine \"{0}\" prima di chiudere?"
 
-#: Pinta.Core/Actions/FileActions.cs:402
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr ""
+"Se non si salva ora, tutte le modifiche saranno definitivamente perse."
+
+#: Pinta/DialogHandlers.cs:147
 msgid "Close without saving"
 msgstr "Chiudi senza salvare"
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
-msgstr "Ritaglia la selezione"
-
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
-msgstr "Ridimensiona..."
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
+msgstr "Ridimensiona Tavolozza"
 
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
-msgstr "Dimensioni immagine..."
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
+msgstr "Nuova dimensione Tavolozza:"
 
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
-msgstr "Ruota di 90° in senso orario"
-
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
-msgstr "Ruota di 90° in senso anti-orario"
-
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
-msgstr "Ruota di 180°"
-
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
-msgstr "Appiattisci"
-
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr "Annulla"
-
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
-msgstr "Ripeti"
-
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
-msgstr "Taglia"
-
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
-msgstr "Copia"
-
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
-msgstr "Incolla"
-
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
-msgstr "Incolla in un nuovo livello"
-
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
-msgstr "Incolla in una nuova immagine"
-
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
-msgstr "Cancella selezione"
-
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
-msgstr "Riempi selezione"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "Opacità del livello"
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
-msgstr "Inverti la selezione"
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "Rinomina livello"
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
-msgstr "Seleziona tutto"
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "Nascondi livello"
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
-msgstr "Deseleziona"
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "Mostra livello"
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
-msgstr "Zoom avanti"
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
+msgstr "File di immagini"
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
-msgstr "Zoom indietro"
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
+msgstr "Incolla cancellato"
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
-msgstr "Adatta alla finestra"
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
+msgstr "Gli appunti non contengono un'immagine"
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
-msgstr "Zoom alla selezione"
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
+msgstr "Salva immagine"
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
-msgstr "Dimensione reale"
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
+msgstr "Pinta non supporta il salvataggio in questo formato di file."
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
-msgstr "Griglia dei pixel"
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
+msgstr "Un file chiamato \"{0}\" esiste già. Vuoi sostituirlo?"
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
-msgstr "Righello"
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
+msgstr ""
+"Il file esiste già in \"{1}\". Sostituendolo verrà sovrascritto il suo "
+"contenuto."
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
-msgstr "Pixel"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr "numero di processi usati per la renderizzazione"
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
-msgstr "Pollici"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Versione"
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
-msgstr "Centimetri"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Licenza"
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
-msgstr "Schermo intero"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "Rilasciato sotto la licenza MIT X11"
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
-msgstr "Finestra"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "Copyright"
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
-msgstr "Sito di Pinta"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "dai collaboratori di Pinta"
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
-msgstr "Riporta un bug"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "Titolo"
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
-msgstr "Traduci questa applicazione"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "Percorso"
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
-msgstr "Generali"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
+msgstr "Qualità JPEG"
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
-msgstr "Strumenti"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
+msgstr "Qualità: "
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
-msgstr "Scorciatoia"
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "Hanno contribuito a questa versione"
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
-msgstr "Antialiasing"
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "Collaboratori precedenti"
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
 msgstr ""
+"Launchpad Contributions:\n"
+"  Daniele Napolitano https://launchpad.net/~dnax88\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst\n"
+"  Kabir94 https://launchpad.net/~kabirsala\n"
+"  Luca Urbini https://launchpad.net/~luca-urbini\n"
+"  Pullus In Fabula https://launchpad.net/~zatunga11\n"
+"  flux https://launchpad.net/~luigimarco\n"
+"  giacomo margarito https://launchpad.net/~eagleman\n"
+"  joshg https://launchpad.net/~joshg\n"
+"  magic3 https://launchpad.net/~magic3\n"
+"  nTia89 https://launchpad.net/~tia-tif-deactivatedaccount\n"
+"  simone.sandri https://launchpad.net/~lexluxsox"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
-msgstr "Ribalta immagine orizzontalmente"
-
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
-msgstr "Ribalta immagine verticalmente"
-
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
-msgstr "Ribalta livello orizzontalmente"
-
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
-msgstr "Ribalta livello verticalmente"
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Tradotto da:"
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
-msgstr "Finisci pixel"
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "Basato sul lavoro di Paint.NET"
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
-msgstr "Effetti di rendering"
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "Utilizzando delle icone da:"
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
-msgstr "copia"
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "A proposito di Pinta"
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
-msgstr "Livello"
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "Informazioni sulla versione"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1306,7 +1458,7 @@ msgstr "Anti-Aliasing"
 
 #: GlowEffect dialog
 msgid "Blend Mode"
-msgstr "Modalità trasparente"
+msgstr "Modalità fusione"
 
 #: OilPaintingEffect dialog
 msgid "Brightness"
@@ -1372,7 +1524,7 @@ msgstr "Frammenti"
 
 #: TileEffect dialog
 msgid "Ink Outline"
-msgstr ""
+msgstr "Bordo ad inchiostro."
 
 #: AddNoiseEffect dialog
 #: OutlineEffect dialog
@@ -1396,7 +1548,7 @@ msgstr "Dimensioni della punta della matita"
 
 #: CloudsEffect dialog
 msgid "Percentile"
-msgstr ""
+msgstr "Percentile"
 
 #: RadialBlurEffect dialog
 msgid "Power"
@@ -1461,18 +1613,70 @@ msgstr ""
 "Suggerimento: Per ottenere i migliori risultati, usa prima gli strumenti di "
 "selezione per selezionare ciascun occhio."
 
+#~ msgid "Help"
+#~ msgstr "Aiuto"
+
+#~ msgid "Adjustments"
+#~ msgstr "Regolazioni"
+
+#~ msgid "Effects"
+#~ msgstr "Effetti"
+
+#~ msgid "File"
+#~ msgstr "File"
+
+#~ msgid "View"
+#~ msgstr "Visualizza"
+
+#~ msgid "Edit"
+#~ msgstr "Modifica"
+
+#~ msgid "Image"
+#~ msgstr "Immagine"
+
 #~ msgid "%"
 #~ msgstr "%"
 
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr ""
+#~ "Salvare le modifiche all'immagine \"{0}\" prima di crearne una nuova?"
+
+#~ msgid "Continue without saving"
+#~ msgstr "Continua senza salvare"
+
 #~ msgid "X :"
 #~ msgstr "X :"
 
 #~ msgid "Y :"
 #~ msgstr "Y :"
 
+#~ msgid "RGB\r"
+#~ msgstr "RGB\r"
+
 #~ msgid "Tip : Right-click to remove control points."
 #~ msgstr ""
 #~ "Suggerimento: Tasto destro del mouse per rimuovere i punti di controllo."
 
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before opening a new image?"
+#~ msgstr ""
+#~ "Salvare i cambiamenti dell'immagine \"{0}\" prima di aprirne una nuova?"
+
+#~ msgid "OpenRaster image (*.ora)"
+#~ msgstr "Immagine OpenRaster (*.ora)"
+
+#~ msgid "Antialiasing"
+#~ msgstr "Antialiasing"
+
+#~ msgid "Fill mode"
+#~ msgstr "Modalità di riempimento"
+
 #~ msgid "Show Pad"
 #~ msgstr "Mostra pannello"
+
+#~ msgid "X:"
+#~ msgstr "X:"
+
+#~ msgid "Y:"
+#~ msgstr "Y:"
diff --git a/po/messages-ja.po b/po/messages-ja.po
index 427025b..23fa7c5 100644
--- a/po/messages-ja.po
+++ b/po/messages-ja.po
@@ -7,694 +7,666 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-09-07 10:58+0000\n"
-"Last-Translator: Jonathan Pobst <Unknown>\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2010-12-15 13:56+0000\n"
+"Last-Translator: ytetsu <Unknown>\n"
 "Language-Team: Japanese <ja at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "このソフトウェアについて"
-
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "ブラシで描画"
-
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "ファイル(_F)"
-
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "編集(_E)"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "ウィンドウ"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "表示(_V)"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "レイヤー"
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "画像(_I)"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "コピー"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "レイヤ(_L)"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "キャンバスサイズの変更"
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "調整(_A)"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr "ツール"
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "エフェクト(_C)"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr "ショートカットキー"
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "ウィンドウ(_W)"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr "ノーマルブレンド"
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "ヘルプ(_H)"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr "上書き"
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
-msgstr ""
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr "アンチエイリアスの有効"
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "ツール"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr "アンチエイリアスの無効"
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "パレット"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "画像サイズの変更"
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "ドキュメント"
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr "ピクセル完了"
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "レイヤー"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr "180度回転"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "履歴"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr "イメージを水平方向に反転"
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "非表示"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr "イメージを垂直方向に反転"
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "ドックに格納可能"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr "90度回転 (時計回り)"
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "フローティング"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr "90度回転 (反時計回り)"
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "自動的に隠す"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr "レイヤーを水平方向に反転"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "ドッキング"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr "レイヤーを垂直方向に反転"
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "このバージョンの貢献者"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
+msgstr "一般"
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "過去の貢献者"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr "{0} イメージ ({1})"
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
-msgstr ""
-"Launchpad Contributions:\n"
-"  Jonathan Pobst https://launchpad.net/~jpobst\n"
-"  Kiyotaka NISHIBORI https://launchpad.net/~ml-nishibori-kiyotaka\n"
-"  YannUbuntu https://launchpad.net/~yannubuntu\n"
-"  Yuki Kodama https://launchpad.net/~kuy"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr "選択範囲を切り取る"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "翻訳:"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr "リサイズ..."
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "Paint.NET プロジェクト:"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr "キャンバスのサイズ..."
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "一部のアイコン:"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr "水平方向に反転"
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "Pinta について"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr "垂直方向に反転"
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "バージョン情報"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr "フラット化"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "タイトル"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr "拡大"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "バージョン"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr "縮小"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "パス名"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr "ウィンドウに合わせる"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "ライセンス"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr "選択範囲に合わせる"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "MIT X11 ライセンスの元で公開されました。"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr "実際のサイズ"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "著作権"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
+msgstr "ツールバー"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "Pinta 貢献者"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr "網目"
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
-msgstr "レンダリングに使用するスレッド数"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr "ルーラー"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "画像サイズの変更"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr "ピクセル"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "パーセント指定:"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr "インチ"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
-msgstr "絶対サイズ指定:"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr "センチメートル"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "幅:"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr "全画面表示"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "ピクセル"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr "ルーラーの単位"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "高さ:"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr "新規レイヤーを追加"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "アスペクト比を保持する"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr "レイヤーを削除"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
-#: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "レイヤーのプロパティ"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr "レイヤーを複製"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "名前:"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr "レイヤーを統合"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "表示"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr "ファイルからインポート..."
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "不透明度:"
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr "回転 / ズーム"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "キャンバスサイズの変更"
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr "レイヤーを上に移動"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "アンカー:"
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr "レイヤーを下に移動"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
-msgid "New Image"
-msgstr "新規イメージ"
+#: Pinta.Core/Actions/LayerActions.cs:74
+msgid "Layer Properties..."
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "新規イメージのサイズ          "
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
+msgstr "イメージファイルを開く"
 
-#: Pinta/DialogHandlers.cs:57
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
-msgstr "新規作成の前に変更を \"{0}\" に保存しますか?"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr "ファイルからインポート"
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr "保存しない場合、すべての変更が失われます。"
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr "すべて保存"
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "保存しないで続行"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr "すべて閉じる"
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "レイヤーの不透明度"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr "Pinta 公式サイト"
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "レイヤー名を変更"
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
+msgstr "バグの報告"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "レイヤーを非表示"
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
+msgstr "このアプリケーションを翻訳"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "レイヤーを表示"
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "このソフトウェアについて"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
-msgstr "ラベル1"
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr "新規..."
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "ラベル"
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
+msgstr "新規スクリーンショット..."
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
-msgstr "ランダムノイズ"
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
+msgstr "開く..."
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
-msgstr "シード再生成"
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr "最近使用したファイルを開く"
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
-msgstr "スポイト"
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
+msgstr "閉じる"
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
-msgstr "左クリックで前景色、右クリックで背景色を選択。"
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
+msgstr "保存"
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
-msgstr ""
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
+msgstr "名前を付けて保存..."
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
-msgstr ""
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
+msgstr "印刷"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
-msgstr "以前のツールに切り替える"
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
+msgstr "終了"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
-msgstr "鉛筆ツールに切り替える"
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr "新規"
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
-msgstr "鉛筆"
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
+msgstr "開く"
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
-msgstr ""
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
+msgstr "元に戻す"
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
-msgstr "クリック - ドラッグで境界線を描いて選択範囲を作成します。"
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
+msgstr "やり直し"
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
-msgstr "ズーム"
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
+msgstr "切り取り"
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
-msgstr "左クリックのときはズームイン、右クリックのときはズームアウトします。クリック - ドラッグで選択した範囲にズームインします。"
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
+msgstr "コピー"
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
-msgstr "ブラシサイズ"
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
+msgstr "貼り付け"
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
-msgstr "ブラシサイズを小さくします"
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
+msgstr "新規レイヤーに貼り付け"
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
-msgstr "ブラシサイズを大きくします"
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
+msgstr "新規イメージに貼り付け"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
-msgstr "輪郭を描く"
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
+msgstr "選択範囲を消去"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
-msgstr "塗りつぶす"
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
+msgstr "選択範囲を塗りつぶす"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
-msgstr "塗りつぶして輪郭を描く"
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
+msgstr "選択範囲を反転"
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
-msgstr ""
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
+msgstr "すべて選択"
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
-msgstr "ドラッグで選択範囲のピクセルを移動します。"
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
+msgstr "選択解除"
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
-msgstr ""
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
+msgstr "標準設定に戻す"
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
 msgstr ""
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
-msgstr ""
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "パレット"
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
-msgstr ""
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
+msgstr "パレットファイルを開く"
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
-msgstr "クリック - ドラッグで楕円の選択範囲を作成します。Shift を押しながらドラッグすると正円になります。"
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
+msgstr "パレットファイル(*.txt, *.gpl)"
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
-msgstr "グラデーション"
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr "すべてのファイル"
 
-#: Pinta.Tools/GradientTool.cs:60
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
 msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
-msgstr "線形グラデーション"
-
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
-msgstr "反射形グラデーション"
-
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
-msgstr "菱形グラデーション"
-
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
-msgstr "放射状グラデーション"
-
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
-msgstr "円錐形グラデーション"
-
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
-msgstr "色モード"
-
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
-msgstr "透過モード"
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
+msgstr "エラー"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
 msgstr ""
-"クリック - ドラッグで面取り四角形を描きます。左クリックのときは前景色で、右クリックのときは背景色で描きます。Shift "
-"を押しながらドラッグすると面取り正方形になります。"
-
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
-msgstr "半径"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
 msgstr ""
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
-msgstr ""
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
+msgstr "背景色"
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
-msgstr ""
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
+msgid "New Image"
+msgstr "新規イメージ"
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
-msgstr ""
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
+msgstr "イメージを開く"
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
-msgstr ""
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
+#, csharp-format
+msgid "Could not open file: {0}"
+msgstr "ファイルを開けません: {0}"
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
-msgstr ""
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
+msgstr "効果のレンダリング"
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
-msgstr ""
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
+msgstr "ポスタリゼーション"
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
-msgstr ""
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
+msgstr "色を反転"
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
-msgstr ""
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
+msgstr "レベル"
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
-msgstr ""
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
+msgstr "モノクロ"
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
-msgstr ""
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
+msgstr "自動レベル補正"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
-msgstr ""
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
+msgstr "色彩 / 彩度"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
-msgstr ""
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
+msgstr "明度 / コントラスト"
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
-msgstr "許容値"
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
+msgstr "セピア"
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
-msgstr ""
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
+msgstr "カーブ"
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
+msgstr "転送マップ"
 
-#: Pinta.Tools/TextTool.cs:37
-msgid "Text"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:44
-msgid ""
-"Left click to place cursor, then type desired text. Text color is primary "
-"color."
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
+msgstr "明度"
 
-#: Pinta.Tools/TextTool.cs:131
-msgid "Font"
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
+msgstr "(256, 256)"
 
-#: Pinta.Tools/TextTool.cs:186
-msgid "Bold"
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
+msgstr "赤  "
 
-#: Pinta.Tools/TextTool.cs:193
-msgid "Italic"
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
+msgstr "緑"
 
-#: Pinta.Tools/TextTool.cs:201
-msgid "Underline"
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
+msgstr "青 "
 
-#: Pinta.Tools/TextTool.cs:210
-msgid "Left Align"
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
+msgstr "リセット"
 
-#: Pinta.Tools/TextTool.cs:219
-msgid "Center Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:227
-msgid "Right Align"
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
+msgstr "レベル補正"
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
+msgstr "入力ヒストグラム"
 
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
+msgstr "入力"
 
-#: Pinta.Tools/RectangleTool.cs:38
-msgid "Rectangle"
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
+msgstr "出力"
 
-#: Pinta.Tools/RectangleTool.cs:44
-msgid ""
-"Click and drag to draw a rectangle (right click for secondary color). Hold "
-"shift to constrain to a square."
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
+msgstr "出力ヒストグラム"
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
+msgstr "自動"
 
-#: Pinta.Tools/LineCurveTool.cs:44
-msgid ""
-"Left click to draw with primary color, right click for secondary color."
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
+msgstr "赤"
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
+msgstr "青"
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
+msgstr "リンク済み"
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
-msgstr ""
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
+msgstr "鉛筆"
 
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
-msgstr ""
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
+msgstr "アーティスティック"
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:26
-msgid "Pixelate"
-msgstr "ピクセレート"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
+msgstr "アンフォーカス"
 
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
+msgstr "ぼかし"
+
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
+msgstr "ふくらみ"
+
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
 #: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
 #: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
 #: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
 #: Pinta.Effects/Effects/TwistEffect.cs:34
 msgid "Distort"
 msgstr "変形"
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
-msgstr "赤目除去"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
+msgstr "フラクタル"
+
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
+msgstr "レンダリング"
+
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
+msgstr "中央値"
+
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
+msgstr "ノイズ"
+
+#: Pinta.Effects/Effects/PixelateEffect.cs:26
+msgid "Pixelate"
+msgstr "ピクセレート"
+
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
+msgstr "シャープ"
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
 msgid "Photo"
 msgstr "写真"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
-msgstr "ぼかし (詳細)"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
+msgstr "油絵"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
-msgstr "ぼかし"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
+msgstr "ぼかし (ガウス)"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
-msgstr "スケッチ"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
+msgstr "発光"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
-msgstr "アーティスティック"
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
+msgstr "描写"
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
-msgstr "ぼかし (放射状)"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
+msgstr "タイルの反射"
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
-msgstr "アンフォーカス"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr "赤目除去"
+
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
+msgstr "すりガラス"
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
 msgid "Edge Detect"
 msgstr "エッジの強調"
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
 #: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
 msgid "Stylize"
 msgstr "スタイライズ"
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
-msgstr "すりガラス"
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
+msgstr "フラクタル (Julia)"
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
-msgstr "油絵"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr "ぼかし (詳細)"
+
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr "エンボス"
+
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
+msgstr "スケッチ"
 
 #: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
 msgid "Zoom Blur"
@@ -708,543 +680,718 @@ msgstr "極の反転"
 msgid "Clouds"
 msgstr "雲"
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr "レンダリング"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
+msgstr "フラグメント"
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
-msgstr "発光"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr "ノイズの低減"
+
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr "ぼかし (放射状)"
+
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
+msgstr "ねじれ"
 
 #: Pinta.Effects/Effects/AddNoiseEffect.cs:30
 msgid "Add Noise"
 msgstr "ノイズの追加"
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
-msgstr "ノイズ"
-
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
-msgstr "フラグメント"
-
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
-msgstr "シャープ"
-
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
-msgstr "鉛筆"
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
+msgstr "浮き彫り"
 
 #: Pinta.Effects/Effects/OutlineEffect.cs:29
 msgid "Outline"
 msgstr "アウトライン"
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
-msgstr "ぼかし (ガウス)"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
+msgstr "ランダムノイズ"
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
-msgstr "タイルの反射"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
+msgstr "シード再生成"
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
-msgstr "浮き彫り"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "ラベル1"
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
-msgstr "エンボス"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "ラベル"
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
-msgstr "フラクタル"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
+msgstr ""
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
-msgstr "ふくらみ"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
+msgstr ""
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
-msgstr "ねじれ"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr ""
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
-msgstr "描写"
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
+msgstr ""
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
-msgstr "ノイズの低減"
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
+msgstr ""
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
-msgstr "フラクタル (Julia)"
+#: Pinta.Tools/TextTool.cs:37
+msgid "Text"
+msgstr "テキスト"
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
-msgstr "中央値"
+#: Pinta.Tools/TextTool.cs:44
+msgid ""
+"Left click to place cursor, then type desired text. Text color is primary "
+"color."
+msgstr ""
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
-msgstr "カーブ"
+#: Pinta.Tools/TextTool.cs:144
+msgid "Font"
+msgstr "フォント"
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
-msgstr "レベル"
+#: Pinta.Tools/TextTool.cs:205
+msgid "Bold"
+msgstr "太文字"
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
-msgstr "自動レベル補正"
+#: Pinta.Tools/TextTool.cs:212
+msgid "Italic"
+msgstr "斜体"
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
-msgstr "色を反転"
+#: Pinta.Tools/TextTool.cs:220
+msgid "Underline"
+msgstr "下線"
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
-msgstr "ポスタリゼーション"
+#: Pinta.Tools/TextTool.cs:229
+msgid "Left Align"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
-msgstr "モノクロ"
+#: Pinta.Tools/TextTool.cs:238
+msgid "Center Align"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
-msgstr "色彩 / 彩度"
+#: Pinta.Tools/TextTool.cs:246
+msgid "Right Align"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
-msgstr "セピア"
+#: Pinta.Tools/RectangleTool.cs:38
+msgid "Rectangle"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
-msgstr "明度 / コントラスト"
+#: Pinta.Tools/RectangleTool.cs:44
+msgid ""
+"Click and drag to draw a rectangle (right click for secondary color). Hold "
+"shift to constrain to a square."
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
-msgstr "レベル補正"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
-msgstr "入力ヒストグラム"
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
+msgid ""
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
-msgstr "入力"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
-msgstr "出力"
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
+msgstr "輪郭を描く"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
-msgstr "出力ヒストグラム"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
+msgstr "塗りつぶす"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
-msgstr "自動"
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
+msgstr "塗りつぶして輪郭を描く"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
-msgstr "リセット"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
-msgstr "赤"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
-msgstr "緑"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
-msgstr "青"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
+msgstr "許容値"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
-msgstr "リンク済み"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
-msgstr "転送マップ"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
-msgstr "明度"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
-msgstr "(256, 256)"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
-msgstr "赤  "
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
-msgstr "青 "
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
-msgstr "新規レイヤーを追加"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
+msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
-msgstr "レイヤーを削除"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
+msgstr "クリック - ドラッグで楕円の選択範囲を作成します。Shift を押しながらドラッグすると正円になります。"
 
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
-msgstr "レイヤーを複製"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
+msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
-msgstr "レイヤーを統合"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
+msgstr "クリック - ドラッグで境界線を描いて選択範囲を作成します。"
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
-msgstr "ファイルからインポート..."
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
+msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
-msgstr "水平方向に反転"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
+msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
-msgstr "垂直方向に反転"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
+msgstr "グラデーション"
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
-msgstr "回転 / ズーム"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
+msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
-msgstr "レイヤーを上に移動"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
+msgstr "線形グラデーション"
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
-msgstr "レイヤーを下に移動"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
+msgstr "反射形グラデーション"
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
-msgstr "イメージファイルを開く"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
+msgstr "菱形グラデーション"
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
-msgstr "ファイルからインポート"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
+msgstr "放射状グラデーション"
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
-msgstr "新規..."
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
+msgstr "円錐形グラデーション"
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
-msgstr "開く..."
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
-msgstr "最近使用したファイルを開く"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
+msgstr "色モード"
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
-msgstr "閉じる"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
+msgstr "透過モード"
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
-msgstr "保存"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
+msgstr "ブラシサイズ"
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
-msgstr "名前を付けて保存..."
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
+msgstr "ブラシサイズを小さくします"
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
-msgstr "印刷"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
+msgstr "ブラシサイズを大きくします"
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr "終了"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "ブラシで描画"
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
-msgstr "新規"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
-msgstr "開く"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
-msgstr "背景色"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
-msgstr "イメージを開く"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
-msgstr "ファイルを開けません: {0}"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
-msgstr "エラー"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
-msgstr "新規イメージを開く前に、変更を \"{0}\" に保存しますか?"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
-msgstr "イメージファイル"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
-msgstr "すべてのファイル"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
-msgstr "イメージファイルの保存"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
-msgstr "{0} イメージ ({1})"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
-msgstr "OpenRaster イメージ (*.ora)"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:392
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before closing?"
-msgstr "閉じる前に変更を \"{0}\" に保存しますか?"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "ズーム"
 
-#: Pinta.Core/Actions/FileActions.cs:402
-msgid "Close without saving"
-msgstr "保存せずに閉じる"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
+msgstr "左クリックのときはズームイン、右クリックのときはズームアウトします。クリック - ドラッグで選択した範囲にズームインします。"
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
-msgstr "選択範囲を切り取る"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
+msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
-msgstr "リサイズ..."
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
+msgstr ""
+"クリック - ドラッグで面取り四角形を描きます。左クリックのときは前景色で、右クリックのときは背景色で描きます。Shift "
+"を押しながらドラッグすると面取り正方形になります。"
 
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
-msgstr "キャンバスのサイズ..."
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
+msgstr "半径"
 
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
-msgstr "90度回転 (時計回り)"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
+msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
-msgstr "90度回転 (反時計回り)"
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
+msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
-msgstr "180度回転"
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "スポイト"
 
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
-msgstr "フラット化"
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
+msgstr "左クリックで前景色、右クリックで背景色を選択。"
 
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr "元に戻す"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
-msgstr "やり直し"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
+msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
-msgstr "切り取り"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr "以前のツールに切り替える"
 
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
-msgstr "コピー"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
+msgstr "鉛筆ツールに切り替える"
 
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
-msgstr "貼り付け"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "鉛筆"
 
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
-msgstr "新規レイヤーに貼り付け"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
+msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
-msgstr "新規イメージに貼り付け"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
+msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
-msgstr "選択範囲を消去"
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
+msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
-msgstr "選択範囲を塗りつぶす"
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
+msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
-msgstr "選択範囲を反転"
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
+msgstr "ドラッグで選択範囲のピクセルを移動します。"
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
-msgstr "すべて選択"
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "非表示"
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
-msgstr "選択解除"
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "ドッキング"
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
-msgstr "拡大"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "自動的に隠す"
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
-msgstr "縮小"
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "ドックに格納可能"
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
-msgstr "ウィンドウに合わせる"
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "フローティング"
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
-msgstr "選択範囲に合わせる"
+#: Pinta/Options.cs:486
+msgid "OptionName"
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
-msgstr "実際のサイズ"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "パーセント指定:"
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
-msgstr "網目"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
+msgstr "絶対サイズ指定:"
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
-msgstr "ルーラー"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "幅:"
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
 msgstr "ピクセル"
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
-msgstr "インチ"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "高さ:"
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
-msgstr "センチメートル"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "アスペクト比を保持する"
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
-msgstr "全画面表示"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "アンカー:"
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
-msgstr "ウィンドウ"
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "新規イメージのサイズ          "
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
-msgstr "Pinta 公式サイト"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "レイヤーのプロパティ"
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
-msgstr "バグの報告"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "名前:"
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "表示"
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "不透明度:"
+
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
 msgstr ""
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
-msgstr "一般"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "ファイル(_F)"
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
-msgstr "ツール"
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "編集(_E)"
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
-msgstr "ショートカットキー"
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "表示(_V)"
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
-msgstr "アンチエイリアス"
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "画像(_I)"
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
-msgstr "通常ブレンド / 上書きブレンド"
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "レイヤ(_L)"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
-msgstr "イメージを水平方向に反転"
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "調整(_A)"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
-msgstr "イメージを垂直方向に反転"
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "エフェクト(_C)"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
-msgstr "レイヤーを水平方向に反転"
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "ウィンドウ(_W)"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
-msgstr "レイヤーを垂直方向に反転"
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
+msgstr ""
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
-msgstr "ピクセル完了"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "ヘルプ(_H)"
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
-msgstr "効果のレンダリング"
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "ツール"
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
-msgstr "コピー"
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "ドキュメント"
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
 msgstr "レイヤー"
 
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "履歴"
+
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
+msgstr ""
+
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
+msgstr "スクリーンショットを撮るまでの遅延時間(秒):"
+
+#: Pinta/DialogHandlers.cs:139
+#, csharp-format
+msgid "Save the changes to image \"{0}\" before closing?"
+msgstr "閉じる前に変更を \"{0}\" に保存しますか?"
+
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "保存しない場合、すべての変更が失われます。"
+
+#: Pinta/DialogHandlers.cs:147
+msgid "Close without saving"
+msgstr "保存せずに閉じる"
+
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
+msgstr ""
+
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
+msgstr ""
+
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "レイヤーの不透明度"
+
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "レイヤー名を変更"
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "レイヤーを非表示"
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "レイヤーを表示"
+
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
+msgstr "イメージファイル"
+
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
+msgstr "貼り付けはキャンセルされました"
+
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
+msgstr "クリップボードに画像はありません"
+
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
+msgstr "イメージファイルの保存"
+
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
+msgstr "Pintaはこの画像形式での保存をサポートしていません"
+
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
+msgstr "同名のファイル \"{0}\" があります。置き換えますか?"
+
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
+msgstr ""
+
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr "レンダリングに使用するスレッド数"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "バージョン"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "ライセンス"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "MIT X11 ライセンスの元で公開されました。"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "著作権"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "Pinta 貢献者"
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "タイトル"
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "パス名"
+
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
+msgstr "JPEG 画質"
+
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
+msgstr "画質 "
+
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "このバージョンの貢献者"
+
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "過去の貢献者"
+
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst\n"
+"  Kiyotaka NISHIBORI https://launchpad.net/~ml-nishibori-kiyotaka\n"
+"  OTHUBO Jumpei https://launchpad.net/~otsubo-jumpei\n"
+"  YannUbuntu https://launchpad.net/~yannubuntu\n"
+"  Yuki Kodama https://launchpad.net/~kuy\n"
+"  ytetsu https://launchpad.net/~ytetsu"
+
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "翻訳:"
+
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "Paint.NET プロジェクト:"
+
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "一部のアイコン:"
+
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "Pinta について"
+
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "バージョン情報"
+
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
 #: PolarInversionEffect dialog
@@ -1420,17 +1567,61 @@ msgstr "プレビューは低品質(小さいイメージ、小さい角度)を
 msgid "Hint: For best results, first use selection tools to select each eye."
 msgstr "ヒント: まず目の部分を選択ツールで選択するとうまくいきます。"
 
+#~ msgid "Help"
+#~ msgstr "ヘルプ"
+
+#~ msgid "Adjustments"
+#~ msgstr "調整"
+
+#~ msgid "Effects"
+#~ msgstr "効果"
+
+#~ msgid "File"
+#~ msgstr "ファイル"
+
+#~ msgid "Edit"
+#~ msgstr "編集"
+
+#~ msgid "View"
+#~ msgstr "表示"
+
+#~ msgid "Image"
+#~ msgstr "イメージ"
+
 #~ msgid "%"
 #~ msgstr "%"
 
+#~ msgid "Continue without saving"
+#~ msgstr "保存しないで続行"
+
 #~ msgid "X :"
 #~ msgstr "X :"
 
 #~ msgid "Y :"
 #~ msgstr "Y :"
 
+#~ msgid "RGB\r"
+#~ msgstr "RGB\r"
+
 #~ msgid "Tip : Right-click to remove control points."
 #~ msgstr "ヒント : 右クリックでコントロールポイントを削除できます。"
 
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before opening a new image?"
+#~ msgstr "新規イメージを開く前に、変更を \"{0}\" に保存しますか?"
+
+#~ msgid "OpenRaster image (*.ora)"
+#~ msgstr "OpenRaster イメージ (*.ora)"
+
+#~ msgid "Antialiasing"
+#~ msgstr "アンチエイリアス"
+
+#~ msgid "Normal blending / Overwrite blending"
+#~ msgstr "通常ブレンド / 上書きブレンド"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr "新規作成の前に変更を \"{0}\" に保存しますか?"
+
 #~ msgid "Show Pad"
 #~ msgstr "パッドを表示"
diff --git a/po/messages-ko.po b/po/messages-ko.po
index c033b17..f823b83 100644
--- a/po/messages-ko.po
+++ b/po/messages-ko.po
@@ -7,669 +7,638 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
 "PO-Revision-Date: 2010-06-22 09:17+0000\n"
 "Last-Translator: Jeongkyu Kim <jeongkyu.kim at gmail.com>\n"
 "Language-Team: Korean <ko at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "프로그램 정보"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "창"
 
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
 msgstr ""
 
-#: Pinta/MainWindow.cs:259
-msgid "_File"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
 msgstr ""
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr ""
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "캔버스 크기 변경"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
 msgstr ""
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
 msgstr ""
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
 msgstr ""
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
 msgstr ""
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
 msgstr ""
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
 msgstr ""
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr ""
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "이미지 크기 변경"
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
 msgstr ""
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "도구"
-
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "팔레트"
-
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "문서"
-
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "레이어"
-
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "사용 기록"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "숨기기"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
 msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
 msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "자동 숨기기"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
 msgstr ""
-"Launchpad Contributions:\n"
-"  Jeongkyu Kim https://launchpad.net/~jeongkyu-kim"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "번역 :"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "버전 정보"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr ""
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "제목"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr ""
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "버전"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr ""
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "경로"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "라이선스"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
 msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "저작권"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
 msgstr ""
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "이미지 크기 변경"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "너비:"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "픽셀"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "높이:"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "비율 유지"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
-#: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "레이어 속성"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "이름:"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "투명도:"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "캔버스 크기 변경"
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "저자:"
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
-msgid "New Image"
-msgstr "새 이미지"
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "새 이미지 크기          "
+#: Pinta.Core/Actions/LayerActions.cs:74
+msgid "Layer Properties..."
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:57
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
-msgstr "새 이미지를 만들기 전에 \"{0}\"에 대한 변경 사항을 저장하시겠습니까?"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr "저장하지 않으면 모든 변경 사항을 잃어버리게 됩니다."
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "저장하지 않고 계속하기"
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "레이어 투명도"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "레이어 이름 바꾸기"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "레이어 숨김"
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "레이어 표시"
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
+msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
-msgstr "레이블1"
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "프로그램 정보"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "레이블"
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
 msgstr ""
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
 msgstr ""
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
 msgstr ""
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
 msgstr ""
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
 msgstr ""
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
 msgstr ""
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
 msgstr ""
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
 msgstr ""
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "팔레트"
+
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
 msgstr ""
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:60
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
 msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
+msgid "New Image"
+msgstr "새 이미지"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
+#, csharp-format
+msgid "Could not open file: {0}"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
 msgstr ""
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
 msgstr ""
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
 msgstr ""
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
 msgstr ""
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
 msgstr ""
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
 msgstr ""
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
 msgstr ""
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
 msgstr ""
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
 msgstr ""
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:37
-msgid "Text"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:44
-msgid ""
-"Left click to place cursor, then type desired text. Text color is primary "
-"color."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:131
-msgid "Font"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:186
-msgid "Bold"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:193
-msgid "Italic"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:201
-msgid "Underline"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:210
-msgid "Left Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:219
-msgid "Center Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:227
-msgid "Right Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
 msgstr ""
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
 msgstr ""
 
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
 msgstr ""
 
-#: Pinta.Tools/RectangleTool.cs:38
-msgid "Rectangle"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
 msgstr ""
 
-#: Pinta.Tools/RectangleTool.cs:44
-msgid ""
-"Click and drag to draw a rectangle (right click for secondary color). Hold "
-"shift to constrain to a square."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
 msgstr ""
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
 msgstr ""
 
-#: Pinta.Tools/LineCurveTool.cs:44
-msgid ""
-"Left click to draw with primary color, right click for secondary color."
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
 msgstr ""
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
 msgstr ""
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
 msgstr ""
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
 msgstr ""
 
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
 msgstr ""
 
 #: Pinta.Effects/Effects/PixelateEffect.cs:26
 msgid "Pixelate"
 msgstr ""
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr ""
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
 msgstr ""
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
 msgid "Photo"
 msgstr ""
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
 msgstr ""
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
 msgstr ""
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
 msgstr ""
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
 msgstr ""
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
 msgstr ""
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr ""
+
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
 msgstr ""
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
@@ -677,18 +646,26 @@ msgid "Edge Detect"
 msgstr ""
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
 #: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
 msgid "Stylize"
 msgstr ""
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
 msgstr ""
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr ""
+
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr ""
+
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
 msgstr ""
 
 #: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
@@ -703,543 +680,711 @@ msgstr ""
 msgid "Clouds"
 msgstr ""
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
 msgstr ""
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr ""
+
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr ""
+
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
 msgstr ""
 
 #: Pinta.Effects/Effects/AddNoiseEffect.cs:30
 msgid "Add Noise"
 msgstr ""
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
 msgstr ""
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
+#: Pinta.Effects/Effects/OutlineEffect.cs:29
+msgid "Outline"
 msgstr ""
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
 msgstr ""
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
 msgstr ""
 
-#: Pinta.Effects/Effects/OutlineEffect.cs:29
-msgid "Outline"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "레이블1"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "레이블"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
 msgstr ""
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
 msgstr ""
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
+#: Pinta.Tools/TextTool.cs:37
+msgid "Text"
 msgstr ""
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
+#: Pinta.Tools/TextTool.cs:44
+msgid ""
+"Left click to place cursor, then type desired text. Text color is primary "
+"color."
 msgstr ""
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
+#: Pinta.Tools/TextTool.cs:144
+msgid "Font"
 msgstr ""
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
+#: Pinta.Tools/TextTool.cs:205
+msgid "Bold"
 msgstr ""
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
+#: Pinta.Tools/TextTool.cs:212
+msgid "Italic"
 msgstr ""
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
+#: Pinta.Tools/TextTool.cs:220
+msgid "Underline"
 msgstr ""
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
+#: Pinta.Tools/TextTool.cs:229
+msgid "Left Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
+#: Pinta.Tools/TextTool.cs:238
+msgid "Center Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
+#: Pinta.Tools/TextTool.cs:246
+msgid "Right Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
+#: Pinta.Tools/RectangleTool.cs:38
+msgid "Rectangle"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
+#: Pinta.Tools/RectangleTool.cs:44
+msgid ""
+"Click and drag to draw a rectangle (right click for secondary color). Hold "
+"shift to constrain to a square."
 msgstr ""
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
+msgid ""
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
 msgstr ""
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:392
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before closing?"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:402
-msgid "Close without saving"
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "숨기기"
+
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "자동 숨기기"
+
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
+#: Pinta/Options.cs:486
+msgid "OptionName"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "너비:"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "픽셀"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "높이:"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "비율 유지"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "저자:"
+
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "새 이미지 크기          "
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "레이어 속성"
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "이름:"
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "투명도:"
+
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
+#: Pinta/MainWindow.cs:451
+msgid "_View"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
-msgstr "창"
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "도구"
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "문서"
+
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "레이어"
+
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "사용 기록"
+
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
+#: Pinta/DialogHandlers.cs:139
+#, csharp-format
+msgid "Save the changes to image \"{0}\" before closing?"
 msgstr ""
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "저장하지 않으면 모든 변경 사항을 잃어버리게 됩니다."
+
+#: Pinta/DialogHandlers.cs:147
+msgid "Close without saving"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "레이어 투명도"
+
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "레이어 이름 바꾸기"
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "레이어 숨김"
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "레이어 표시"
+
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
 msgstr ""
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
 msgstr ""
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "버전"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "라이선스"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
 msgstr ""
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "저작권"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr ""
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "제목"
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "경로"
+
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
+msgstr ""
+
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
 msgstr ""
 
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr ""
+
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr ""
+
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Jeongkyu Kim https://launchpad.net/~jeongkyu-kim"
+
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "번역 :"
+
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr ""
+
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr ""
+
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr ""
+
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "버전 정보"
+
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
 #: PolarInversionEffect dialog
@@ -1415,9 +1560,37 @@ msgstr ""
 msgid "Hint: For best results, first use selection tools to select each eye."
 msgstr ""
 
+#~ msgid "Adjustments"
+#~ msgstr "조정"
+
+#~ msgid "Help"
+#~ msgstr "도움말"
+
+#~ msgid "Effects"
+#~ msgstr "효과"
+
+#~ msgid "File"
+#~ msgstr "파일"
+
+#~ msgid "Edit"
+#~ msgstr "편집"
+
+#~ msgid "View"
+#~ msgstr "보기"
+
+#~ msgid "Image"
+#~ msgstr "이미지"
+
 #~ msgid "%"
 #~ msgstr "%"
 
+#~ msgid "Continue without saving"
+#~ msgstr "저장하지 않고 계속하기"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr "새 이미지를 만들기 전에 \"{0}\"에 대한 변경 사항을 저장하시겠습니까?"
+
 #~ msgid "X :"
 #~ msgstr "X :"
 
diff --git a/po/messages-lt.po b/po/messages-lt.po
index b5f1e01..e2241ec 100644
--- a/po/messages-lt.po
+++ b/po/messages-lt.po
@@ -7,670 +7,638 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
 "PO-Revision-Date: 2010-09-07 11:02+0000\n"
 "Last-Translator: Rytis Slatkevičius <rytis.s at gmail.com>\n"
 "Language-Team: Lithuanian <lt at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "Apie"
-
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "Teptukas"
-
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "_Failas"
-
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "_Keisti"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr ""
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "_Rodymas"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr ""
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "_Paveikslėlis"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr ""
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "_Sluoksniai"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr ""
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
 msgstr ""
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "_Efektai"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr ""
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "_Langas"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr ""
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "_Pagalba"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr ""
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
 msgstr ""
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "Įrankiai"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr ""
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "Paletė"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "Keisti paveikslėlio dydį"
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Dokumentai"
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr ""
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "Sluoksniai"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr ""
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "Istorija"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "Slėpti"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
 msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "Plaukiojantis"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "Automatinis slėpimas"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
 msgstr ""
-"Launchpad Contributions:\n"
-"  Mantas Kriaučiūnas https://launchpad.net/~mantas\n"
-"  Rytis Slatkevičius https://launchpad.net/~rytis-s"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Vertėjai:"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "Dalis ikonų naudojama iš:"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "Apie Pinta"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "Laidos informacija"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr ""
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "Pavadinimas"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr ""
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Versija"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr ""
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "Kelias"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Licencija"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
 msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "Autorinės teisės"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
 msgstr ""
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "Keisti paveikslėlio dydį"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "Plotis:"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "tašk."
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "Aukštis:"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
-#: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "Sluoksnio savybės"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "Pavadinimas:"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "Matomas"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "Permatomumas:"
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
-msgid "New Image"
-msgstr "Naujas paveikslėlis"
+#: Pinta.Core/Actions/LayerActions.cs:74
+msgid "Layer Properties..."
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:57
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
-msgstr "Išsaugoti pakeitimus paveikslėlyje \"{0}\" prieš sukuriant naują?"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr "Neišsaugojus, visi pakeitimai bus negrįžtamai prarasti."
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "Tęsti neišsaugant"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "Sluoksnio permatomumas"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "Pervadinti sluoksnį"
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "Paslėpti sluoksnį"
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "Rodyti sluoksnį"
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "Apie"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
-msgstr "Atsitiktinis triukšmas"
-
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
-msgstr "Po pasirinkimo"
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
+msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
-msgstr "Neperjungti įrankio"
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
+msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
-msgstr "Perjungti į ankstenį įrankį"
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
+msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
-msgstr "Pieštukas"
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr ""
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
 msgstr ""
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
 msgstr ""
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
 msgstr ""
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
 msgstr ""
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
 msgstr ""
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
 msgstr ""
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
 msgstr ""
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
-msgstr "Elipsinis pažymėjimas"
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "Paletė"
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:60
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr ""
+
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
 msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
+msgid "New Image"
+msgstr "Naujas paveikslėlis"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
-msgstr "Stačiakampis apvaliais kampais"
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
+#, csharp-format
+msgid "Could not open file: {0}"
+msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
 msgstr ""
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
 msgstr ""
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
 msgstr ""
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
 msgstr ""
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
 msgstr ""
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
 msgstr ""
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
 msgstr ""
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
 msgstr ""
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
 msgstr ""
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:37
-msgid "Text"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:44
-msgid ""
-"Left click to place cursor, then type desired text. Text color is primary "
-"color."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:131
-msgid "Font"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:186
-msgid "Bold"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:193
-msgid "Italic"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:201
-msgid "Underline"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:210
-msgid "Left Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:219
-msgid "Center Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:227
-msgid "Right Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
 msgstr ""
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
 msgstr ""
 
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
 msgstr ""
 
-#: Pinta.Tools/RectangleTool.cs:38
-msgid "Rectangle"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
 msgstr ""
 
-#: Pinta.Tools/RectangleTool.cs:44
-msgid ""
-"Click and drag to draw a rectangle (right click for secondary color). Hold "
-"shift to constrain to a square."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
 msgstr ""
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
 msgstr ""
 
-#: Pinta.Tools/LineCurveTool.cs:44
-msgid ""
-"Left click to draw with primary color, right click for secondary color."
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
 msgstr ""
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
 msgstr ""
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
 msgstr ""
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
 msgstr ""
 
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
 msgstr ""
 
 #: Pinta.Effects/Effects/PixelateEffect.cs:26
 msgid "Pixelate"
 msgstr ""
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr ""
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
 msgstr ""
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
 msgid "Photo"
 msgstr ""
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
 msgstr ""
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
 msgstr ""
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
 msgstr ""
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
 msgstr ""
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
 msgstr ""
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr ""
+
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
 msgstr ""
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
@@ -678,18 +646,26 @@ msgid "Edge Detect"
 msgstr ""
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
 #: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
 msgid "Stylize"
 msgstr ""
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
 msgstr ""
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr ""
+
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr ""
+
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
 msgstr ""
 
 #: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
@@ -704,543 +680,712 @@ msgstr ""
 msgid "Clouds"
 msgstr ""
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr ""
-
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
 msgstr ""
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
-msgid "Add Noise"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
 msgstr ""
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
 msgstr ""
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
 msgstr ""
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
+msgid "Add Noise"
 msgstr ""
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
 msgstr ""
 
 #: Pinta.Effects/Effects/OutlineEffect.cs:29
 msgid "Outline"
 msgstr ""
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
-msgstr ""
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
+msgstr "Atsitiktinis triukšmas"
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
 msgstr ""
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
 msgstr ""
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
 msgstr ""
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
 msgstr ""
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
 msgstr ""
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
+#: Pinta.Tools/TextTool.cs:37
+msgid "Text"
 msgstr ""
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
+#: Pinta.Tools/TextTool.cs:44
+msgid ""
+"Left click to place cursor, then type desired text. Text color is primary "
+"color."
 msgstr ""
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
+#: Pinta.Tools/TextTool.cs:144
+msgid "Font"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
+#: Pinta.Tools/TextTool.cs:205
+msgid "Bold"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
+#: Pinta.Tools/TextTool.cs:212
+msgid "Italic"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
+#: Pinta.Tools/TextTool.cs:220
+msgid "Underline"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
+#: Pinta.Tools/TextTool.cs:229
+msgid "Left Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
+#: Pinta.Tools/TextTool.cs:238
+msgid "Center Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
+#: Pinta.Tools/TextTool.cs:246
+msgid "Right Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
+#: Pinta.Tools/RectangleTool.cs:38
+msgid "Rectangle"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
+#: Pinta.Tools/RectangleTool.cs:44
+msgid ""
+"Click and drag to draw a rectangle (right click for secondary color). Hold "
+"shift to constrain to a square."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
+msgid ""
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
-msgstr ""
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
+msgstr "Elipsinis pažymėjimas"
 
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr ""
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "Teptukas"
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:392
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before closing?"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:402
-msgid "Close without saving"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
-msgstr ""
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
+msgstr "Stačiakampis apvaliais kampais"
 
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr ""
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr "Po pasirinkimo"
 
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
+msgstr "Neperjungti įrankio"
+
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr "Perjungti į ankstenį įrankį"
+
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "Pieštukas"
+
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "Slėpti"
+
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "Automatinis slėpimas"
+
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "Plaukiojantis"
+
+#: Pinta/Options.cs:486
+msgid "OptionName"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "Plotis:"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "tašk."
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "Aukštis:"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Sluoksnio savybės"
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "Pavadinimas:"
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "Matomas"
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "Permatomumas:"
+
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "_Failas"
+
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "_Keisti"
+
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "_Rodymas"
+
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "_Paveikslėlis"
+
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "_Sluoksniai"
+
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "_Efektai"
+
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "_Langas"
+
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "_Pagalba"
+
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "Įrankiai"
+
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Dokumentai"
+
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "Sluoksniai"
+
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "Istorija"
+
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
+#: Pinta/DialogHandlers.cs:139
+#, csharp-format
+msgid "Save the changes to image \"{0}\" before closing?"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "Neišsaugojus, visi pakeitimai bus negrįžtamai prarasti."
+
+#: Pinta/DialogHandlers.cs:147
+msgid "Close without saving"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "Sluoksnio permatomumas"
+
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "Pervadinti sluoksnį"
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "Paslėpti sluoksnį"
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "Rodyti sluoksnį"
+
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
 msgstr ""
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Versija"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Licencija"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "Autorinės teisės"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "Pavadinimas"
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "Kelias"
+
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
 msgstr ""
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
 msgstr ""
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
 msgstr ""
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
 msgstr ""
+"Launchpad Contributions:\n"
+"  Mantas Kriaučiūnas https://launchpad.net/~mantas\n"
+"  Rytis Slatkevičius https://launchpad.net/~rytis-s"
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Vertėjai:"
+
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
 msgstr ""
 
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "Dalis ikonų naudojama iš:"
+
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "Apie Pinta"
+
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "Laidos informacija"
+
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
 #: PolarInversionEffect dialog
@@ -1419,6 +1564,13 @@ msgstr ""
 #~ msgid "%"
 #~ msgstr "%"
 
+#~ msgid "Continue without saving"
+#~ msgstr "Tęsti neišsaugant"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr "Išsaugoti pakeitimus paveikslėlyje \"{0}\" prieš sukuriant naują?"
+
 #~ msgid "X :"
 #~ msgstr "X :"
 
diff --git a/po/messages-nb.po b/po/messages-nb.po
index 029e0c9..b251ce6 100644
--- a/po/messages-nb.po
+++ b/po/messages-nb.po
@@ -7,669 +7,638 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
 "PO-Revision-Date: 2010-09-07 11:03+0000\n"
 "Last-Translator: Hender <simsalabimladen at gmail.com>\n"
 "Language-Team: Norwegian Bokmal <nb at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "Om"
-
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "Malerpensel"
-
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "_Fil"
-
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "R_ediger"
-
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "_Vis"
-
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "_Bilde"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr ""
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "_Lag"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr ""
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "Justeringer"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr ""
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "_Effekter"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr ""
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "_Vindu"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr ""
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "_Hjelp"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr ""
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
 msgstr ""
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "Verktøy"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr ""
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "Palett"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr ""
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Dokumenter"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr ""
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "Lag"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "Endre størrelse på bilde"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "Logg"
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "Skjul"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "Kan festes til hovedvinduet"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "Flytende"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "Skjul automatisk"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "Feste/løsne"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
 msgstr ""
-"Launchpad Contributions:\n"
-"  Hender https://launchpad.net/~simsalabimladen"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Oversatt av:"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "Basert på Paint.NET:"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "Bruker noen av ikonene fra:"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "Om Pinta"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "Versjonsinformasjon"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr ""
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "Tittel"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr ""
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Versjon"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr ""
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "Sti"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Lisensavtale"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "Utgitt under MIT X11-lisensen."
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "Opphavsrett"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
 msgstr ""
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "Endre størrelse på bilde"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "Prosentvis:"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
-msgstr "Etter absolutt størrelse:"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "Bredde:"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "piksler"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "Høyde:"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "Behold høyde/bredde-forhold"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
-#: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "Laginnstillinger"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "Navn:"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "Synlig"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "Tetthet:"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
-msgid "New Image"
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:57
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
+#: Pinta.Core/Actions/LayerActions.cs:74
+msgid "Layer Properties..."
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "Om"
+
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
 msgstr ""
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
 msgstr ""
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
 msgstr ""
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
 msgstr ""
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
 msgstr ""
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
 msgstr ""
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
 msgstr ""
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
 msgstr ""
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "Palett"
+
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
 msgstr ""
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:60
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
 msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
+msgid "New Image"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
+#, csharp-format
+msgid "Could not open file: {0}"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
 msgstr ""
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
 msgstr ""
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
 msgstr ""
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
 msgstr ""
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
 msgstr ""
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
 msgstr ""
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
 msgstr ""
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
 msgstr ""
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
 msgstr ""
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:37
-msgid "Text"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:44
-msgid ""
-"Left click to place cursor, then type desired text. Text color is primary "
-"color."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:131
-msgid "Font"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:186
-msgid "Bold"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:193
-msgid "Italic"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:201
-msgid "Underline"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:210
-msgid "Left Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:219
-msgid "Center Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:227
-msgid "Right Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
 msgstr ""
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
 msgstr ""
 
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
 msgstr ""
 
-#: Pinta.Tools/RectangleTool.cs:38
-msgid "Rectangle"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
 msgstr ""
 
-#: Pinta.Tools/RectangleTool.cs:44
-msgid ""
-"Click and drag to draw a rectangle (right click for secondary color). Hold "
-"shift to constrain to a square."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
 msgstr ""
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
 msgstr ""
 
-#: Pinta.Tools/LineCurveTool.cs:44
-msgid ""
-"Left click to draw with primary color, right click for secondary color."
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
 msgstr ""
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
 msgstr ""
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
 msgstr ""
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
 msgstr ""
 
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
 msgstr ""
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:26
-msgid "Pixelate"
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
 msgstr ""
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
+#: Pinta.Effects/Effects/PixelateEffect.cs:26
+msgid "Pixelate"
 msgstr ""
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
 msgstr ""
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
 msgid "Photo"
 msgstr ""
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
 msgstr ""
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
 msgstr ""
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
 msgstr ""
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
 msgstr ""
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
 msgstr ""
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr ""
+
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
 msgstr ""
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
@@ -677,18 +646,26 @@ msgid "Edge Detect"
 msgstr ""
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
 #: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
 msgid "Stylize"
 msgstr ""
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
 msgstr ""
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr ""
+
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr ""
+
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
 msgstr ""
 
 #: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
@@ -703,542 +680,710 @@ msgstr ""
 msgid "Clouds"
 msgstr ""
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr ""
-
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
 msgstr ""
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
-msgid "Add Noise"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
 msgstr ""
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
 msgstr ""
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
 msgstr ""
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
+msgid "Add Noise"
 msgstr ""
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
 msgstr ""
 
 #: Pinta.Effects/Effects/OutlineEffect.cs:29
 msgid "Outline"
 msgstr ""
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
 msgstr ""
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
 msgstr ""
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
 msgstr ""
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
 msgstr ""
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
 msgstr ""
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
 msgstr ""
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
+#: Pinta.Tools/TextTool.cs:37
+msgid "Text"
 msgstr ""
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
+#: Pinta.Tools/TextTool.cs:44
+msgid ""
+"Left click to place cursor, then type desired text. Text color is primary "
+"color."
 msgstr ""
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
+#: Pinta.Tools/TextTool.cs:144
+msgid "Font"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
+#: Pinta.Tools/TextTool.cs:205
+msgid "Bold"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
+#: Pinta.Tools/TextTool.cs:212
+msgid "Italic"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
+#: Pinta.Tools/TextTool.cs:220
+msgid "Underline"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
+#: Pinta.Tools/TextTool.cs:229
+msgid "Left Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
+#: Pinta.Tools/TextTool.cs:238
+msgid "Center Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
+#: Pinta.Tools/TextTool.cs:246
+msgid "Right Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
+#: Pinta.Tools/RectangleTool.cs:38
+msgid "Rectangle"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
+#: Pinta.Tools/RectangleTool.cs:44
+msgid ""
+"Click and drag to draw a rectangle (right click for secondary color). Hold "
+"shift to constrain to a square."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
+msgid ""
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr ""
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "Malerpensel"
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:392
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before closing?"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:402
-msgid "Close without saving"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "Skjul"
+
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "Feste/løsne"
+
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "Skjul automatisk"
+
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "Kan festes til hovedvinduet"
+
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "Flytende"
+
+#: Pinta/Options.cs:486
+msgid "OptionName"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "Prosentvis:"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
+msgstr "Etter absolutt størrelse:"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "Bredde:"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "piksler"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "Høyde:"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "Behold høyde/bredde-forhold"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Laginnstillinger"
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "Navn:"
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "Synlig"
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "Tetthet:"
+
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "_Fil"
+
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "R_ediger"
+
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "_Vis"
+
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "_Bilde"
+
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "_Lag"
+
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "Justeringer"
+
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "_Effekter"
+
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "_Vindu"
+
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "_Hjelp"
+
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "Verktøy"
+
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Dokumenter"
+
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "Lag"
+
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "Logg"
+
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
+#: Pinta/DialogHandlers.cs:139
+#, csharp-format
+msgid "Save the changes to image \"{0}\" before closing?"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
+#: Pinta/DialogHandlers.cs:147
+msgid "Close without saving"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
 msgstr ""
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Versjon"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Lisensavtale"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "Utgitt under MIT X11-lisensen."
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "Opphavsrett"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "Tittel"
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "Sti"
+
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
 msgstr ""
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
 msgstr ""
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
 msgstr ""
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
 msgstr ""
+"Launchpad Contributions:\n"
+"  Hender https://launchpad.net/~simsalabimladen"
+
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Oversatt av:"
+
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "Basert på Paint.NET:"
+
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "Bruker noen av ikonene fra:"
+
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "Om Pinta"
+
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "Versjonsinformasjon"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
diff --git a/po/messages.pot b/po/messages-nl.po
similarity index 70%
copy from po/messages.pot
copy to po/messages-nl.po
index 8ea8d21..01e46f6 100644
--- a/po/messages.pot
+++ b/po/messages-nl.po
@@ -1,383 +1,383 @@
-# Pinta Translatable Strings
-# Copyright (C) 2010 Pinta Contributors
-# This file is distributed under the same license as the Pinta package.
-# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+# Dutch translation for pinta
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the pinta package.
+# FIRST AUTHOR <EMAIL at ADDRESS>, 2010.
 #
-#, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
+"Project-Id-Version: pinta\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
 "POT-Creation-Date: 2010-10-31 12:19-0500\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"
+"PO-Revision-Date: 2010-12-20 17:48+0000\n"
+"Last-Translator: Tijmen Rekmans <Unknown>\n"
+"Language-Team: Dutch <nl at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
 #: Pinta.Core/Classes/DocumentWorkspace.cs:160
 #: Pinta.Core/Classes/DocumentWorkspace.cs:181
 #: Pinta.Core/Actions/ViewActions.cs:200
 msgid "Window"
-msgstr ""
+msgstr "Venster"
 
 #: Pinta.Core/Classes/Document.cs:299
 msgid "Layer"
-msgstr ""
+msgstr "Laag"
 
 #: Pinta.Core/Classes/Document.cs:367
 msgid "copy"
-msgstr ""
+msgstr "kopiëren"
 
 #: Pinta.Core/Classes/Document.cs:589
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
 msgid "Resize Canvas"
-msgstr ""
+msgstr "Canvasgrootte Aanpassen"
 
 #: Pinta.Core/Classes/BaseTool.cs:146
 msgid "Tool"
-msgstr ""
+msgstr "Gereedschap"
 
 #: Pinta.Core/Classes/BaseTool.cs:204
 msgid "Shortcut key"
-msgstr ""
+msgstr "Sneltoets"
 
 #: Pinta.Core/Classes/BaseTool.cs:227
 msgid "Normal Blending"
-msgstr ""
+msgstr "Standaard Menging"
 
 #: Pinta.Core/Classes/BaseTool.cs:228
 msgid "Overwrite"
-msgstr ""
+msgstr "Overschrijven"
 
 #: Pinta.Core/Classes/BaseTool.cs:242
 msgid "Antialiasing On"
-msgstr ""
+msgstr "Antialias Aan"
 
 #: Pinta.Core/Classes/BaseTool.cs:243
 msgid "Antialiasing Off"
-msgstr ""
+msgstr "Antialias Uit"
 
 #: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
 msgid "Resize Image"
-msgstr ""
+msgstr "Formaat Wijzigen"
 
 #: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
 msgid "Finish Pixels"
-msgstr ""
+msgstr "Pixels Beëindigen"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
 #: Pinta.Core/Actions/ImageActions.cs:65
 msgid "Rotate 180°"
-msgstr ""
+msgstr "Roteer 180°"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
 msgid "Flip Image Horizontal"
-msgstr ""
+msgstr "Spiegel Afbeelding Horizontaal"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
 msgid "Flip Image Vertical"
-msgstr ""
+msgstr "Spiegel Afbeelding Verticaal"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
 #: Pinta.Core/Actions/ImageActions.cs:63
 msgid "Rotate 90° Clockwise"
-msgstr ""
+msgstr "Roteer 90° Rechtsom"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
 #: Pinta.Core/Actions/ImageActions.cs:64
 msgid "Rotate 90° Counter-Clockwise"
-msgstr ""
+msgstr "Roteer 90° Linksom"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
 msgid "Flip Layer Horizontal"
-msgstr ""
+msgstr "Spiegel Laag Horizontaal"
 
 #: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
 msgid "Flip Layer Vertical"
-msgstr ""
+msgstr "Spiegel Laag Verticaal"
 
 #: Pinta.Core/Effects/BaseEffect.cs:42
 msgid "General"
-msgstr ""
+msgstr "Algemeen"
 
 #: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
 #, csharp-format
 msgid "{0} image ({1})"
-msgstr ""
+msgstr "{0} afbeelding ({1})"
 
 #: Pinta.Core/Actions/ImageActions.cs:58
 #: Pinta.Core/Actions/ImageActions.cs:181
 msgid "Crop to Selection"
-msgstr ""
+msgstr "Bijsnijden tot Selectie"
 
 #: Pinta.Core/Actions/ImageActions.cs:59
 msgid "Resize..."
-msgstr ""
+msgstr "Formaat Wijzigen"
 
 #: Pinta.Core/Actions/ImageActions.cs:60
 msgid "Canvas Size..."
-msgstr ""
+msgstr "Canvasgrootte..."
 
 #: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
 msgid "Flip Horizontal"
-msgstr ""
+msgstr "Spiegel Horizontaal"
 
 #: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
 msgid "Flip Vertical"
-msgstr ""
+msgstr "Spiegel Verticaal"
 
 #: Pinta.Core/Actions/ImageActions.cs:66
 #: Pinta.Core/Actions/ImageActions.cs:127
 msgid "Flatten"
-msgstr ""
+msgstr "Plat Maken"
 
 #: Pinta.Core/Actions/ViewActions.cs:62
 msgid "Zoom In"
-msgstr ""
+msgstr "Inzoomen"
 
 #: Pinta.Core/Actions/ViewActions.cs:63
 msgid "Zoom Out"
-msgstr ""
+msgstr "Uitzoomen"
 
 #: Pinta.Core/Actions/ViewActions.cs:64
 msgid "Zoom to Window"
-msgstr ""
+msgstr "Zoom naar Scherm"
 
 #: Pinta.Core/Actions/ViewActions.cs:65
 msgid "Zoom to Selection"
-msgstr ""
+msgstr "Zoom naar Selectie"
 
 #: Pinta.Core/Actions/ViewActions.cs:66
 msgid "Actual Size"
-msgstr ""
+msgstr "Werkelijke Grootte"
 
 #: Pinta.Core/Actions/ViewActions.cs:67
 msgid "Toolbar"
-msgstr ""
+msgstr "Werkbalk"
 
 #: Pinta.Core/Actions/ViewActions.cs:68
 msgid "Pixel Grid"
-msgstr ""
+msgstr "Pixelraster"
 
 #: Pinta.Core/Actions/ViewActions.cs:69
 msgid "Rulers"
-msgstr ""
+msgstr "Linialen"
 
 #: Pinta.Core/Actions/ViewActions.cs:70
 msgid "Pixels"
-msgstr ""
+msgstr "Pixels"
 
 #: Pinta.Core/Actions/ViewActions.cs:71
 msgid "Inches"
-msgstr ""
+msgstr "Inches"
 
 #: Pinta.Core/Actions/ViewActions.cs:72
 msgid "Centimeters"
-msgstr ""
+msgstr "Centimeters"
 
 #: Pinta.Core/Actions/ViewActions.cs:73
 msgid "Fullscreen"
-msgstr ""
+msgstr "Volledig Scherm"
 
 #: Pinta.Core/Actions/ViewActions.cs:111
 msgid "Ruler Units"
-msgstr ""
+msgstr "Eenheden"
 
 #: Pinta.Core/Actions/LayerActions.cs:64
 #: Pinta.Core/Actions/LayerActions.cs:283
 msgid "Add New Layer"
-msgstr ""
+msgstr "Voeg Nieuwe Laag Toe"
 
 #: Pinta.Core/Actions/LayerActions.cs:65
 #: Pinta.Core/Actions/LayerActions.cs:266
 msgid "Delete Layer"
-msgstr ""
+msgstr "Laag Verwijderen"
 
 #: Pinta.Core/Actions/LayerActions.cs:66
 #: Pinta.Core/Actions/LayerActions.cs:257
 msgid "Duplicate Layer"
-msgstr ""
+msgstr "Laag Dupliceren"
 
 #: Pinta.Core/Actions/LayerActions.cs:67
 #: Pinta.Core/Actions/LayerActions.cs:235
 msgid "Merge Layer Down"
-msgstr ""
+msgstr "Laag Omlaag Samenvoegen"
 
 #: Pinta.Core/Actions/LayerActions.cs:68
 msgid "Import from File..."
-msgstr ""
+msgstr "Importeren Uit Bestand..."
 
 #: Pinta.Core/Actions/LayerActions.cs:71
 msgid "Rotate / Zoom"
-msgstr ""
+msgstr "Roteer / Zoom"
 
 #: Pinta.Core/Actions/LayerActions.cs:72
 #: Pinta.Core/Actions/LayerActions.cs:213
 msgid "Move Layer Up"
-msgstr ""
+msgstr "Laag Omhoog Verplaatsen"
 
 #: Pinta.Core/Actions/LayerActions.cs:73
 #: Pinta.Core/Actions/LayerActions.cs:224
 msgid "Move Layer Down"
-msgstr ""
+msgstr "Laag Omlaag Verplaatsen"
 
 #: Pinta.Core/Actions/LayerActions.cs:74
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
-msgid "Layer Properties"
-msgstr ""
+msgid "Layer Properties..."
+msgstr "Laag Eigenschappen..."
 
 #: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
 msgid "Open Image File"
-msgstr ""
+msgstr "Open Afbeeldingsbestand"
 
 #: Pinta.Core/Actions/LayerActions.cs:179
 msgid "Import From File"
-msgstr ""
+msgstr "Importeren Uit Bestand"
 
 #: Pinta.Core/Actions/WindowActions.cs:45
 msgid "Save All"
-msgstr ""
+msgstr "Alles Opslaan"
 
 #: Pinta.Core/Actions/WindowActions.cs:46
 msgid "Close All"
-msgstr ""
+msgstr "Alles Sluiten"
 
 #: Pinta.Core/Actions/HelpActions.cs:50
 msgid "Pinta Website"
-msgstr ""
+msgstr "Pinta Website"
 
 #: Pinta.Core/Actions/HelpActions.cs:51
 msgid "File a Bug"
-msgstr ""
+msgstr "Rapporteer een Bug"
 
 #: Pinta.Core/Actions/HelpActions.cs:52
 msgid "Translate This Application"
-msgstr ""
+msgstr "Vertaal Deze Applicatie"
 
 #: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
 msgid "About"
-msgstr ""
+msgstr "Over"
 
 #: Pinta.Core/Actions/FileActions.cs:54
 msgid "New..."
-msgstr ""
+msgstr "Nieuw..."
 
 #: Pinta.Core/Actions/FileActions.cs:55
 msgid "New Screenshot..."
-msgstr ""
+msgstr "Nieuwe Schermafdruk..."
 
 #: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
 msgid "Open..."
-msgstr ""
+msgstr "Openen..."
 
 #: Pinta.Core/Actions/FileActions.cs:57
 msgid "Open Recent"
-msgstr ""
+msgstr "Open Recent"
 
 #: Pinta.Core/Actions/FileActions.cs:64
 msgid "Close"
-msgstr ""
+msgstr "Sluiten"
 
 #: Pinta.Core/Actions/FileActions.cs:65
 msgid "Save"
-msgstr ""
+msgstr "Opslaan"
 
 #: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
 msgid "Save As..."
-msgstr ""
+msgstr "Opslaan Als..."
 
 #: Pinta.Core/Actions/FileActions.cs:67
 msgid "Print"
-msgstr ""
+msgstr "Afdrukken"
 
 #: Pinta.Core/Actions/FileActions.cs:68
 msgid "Quit"
-msgstr ""
+msgstr "Afsluiten"
 
 #: Pinta.Core/Actions/FileActions.cs:70
 msgid "New"
-msgstr ""
+msgstr "Nieuw"
 
 #: Pinta.Core/Actions/FileActions.cs:71
 msgid "Open"
-msgstr ""
+msgstr "Openen"
 
 #: Pinta.Core/Actions/EditActions.cs:65
 msgid "Undo"
-msgstr ""
+msgstr "Ongedaan Maken"
 
 #: Pinta.Core/Actions/EditActions.cs:66
 msgid "Redo"
-msgstr ""
+msgstr "Opnieuw"
 
 #: Pinta.Core/Actions/EditActions.cs:67
 msgid "Cut"
-msgstr ""
+msgstr "Knippen"
 
 #: Pinta.Core/Actions/EditActions.cs:68
 msgid "Copy"
-msgstr ""
+msgstr "Kopiëren"
 
 #: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
 msgid "Paste"
-msgstr ""
+msgstr "Plakken"
 
 #: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
 msgid "Paste Into New Layer"
-msgstr ""
+msgstr "Plak In Nieuwe Laag"
 
 #: Pinta.Core/Actions/EditActions.cs:71
 msgid "Paste Into New Image"
-msgstr ""
+msgstr "Plak Als Nieuwe Afbeelding"
 
 #: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
 #: Pinta.Core/Actions/EditActions.cs:296
 msgid "Erase Selection"
-msgstr ""
+msgstr "Wis Selectie"
 
 #: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
 msgid "Fill Selection"
-msgstr ""
+msgstr "Selectie Vullen"
 
 #: Pinta.Core/Actions/EditActions.cs:74
 msgid "Invert Selection"
-msgstr ""
+msgstr "Selectie Omkeren"
 
 #: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
 msgid "Select All"
-msgstr ""
+msgstr "Alles Selecteren"
 
 #: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
 msgid "Deselect"
-msgstr ""
+msgstr "Deselecteren"
 
 #: Pinta.Core/Actions/EditActions.cs:80
 msgid "Reset to Default"
-msgstr ""
+msgstr "Naar Standaard Terugzetten"
 
 #: Pinta.Core/Actions/EditActions.cs:81
 msgid "Set Number of Colors"
-msgstr ""
+msgstr "Aantal Kleuren Instellen"
 
 #: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
 #: Pinta/MainWindow.cs:569
 msgid "Palette"
-msgstr ""
+msgstr "Palet"
 
 #: Pinta.Core/Actions/EditActions.cs:313
 msgid "Open Palette File"
-msgstr ""
+msgstr "Paletbestand Openen"
 
 #: Pinta.Core/Actions/EditActions.cs:320
 msgid "Palette files (*.txt, *.gpl)"
-msgstr ""
+msgstr "Paletbestanden (*.txt, *.gpl)"
 
 #: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
 msgid "All files"
-msgstr ""
+msgstr "Alle Bestanden"
 
 #: Pinta.Core/Actions/EditActions.cs:340
 #, csharp-format
@@ -385,171 +385,178 @@ msgid ""
 "Could not open palette file: {0}.\n"
 "Please verify that you are trying to open a valid GIMP or Paint.NET palette."
 msgstr ""
+"Kan Paletbestand niet openen:{0}.\n"
+"Verifieer dat dit een valide GIMP of Paint.NET palet is."
 
 #: Pinta.Core/Actions/EditActions.cs:341
 #: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
 msgid "Error"
-msgstr ""
+msgstr "Fout"
 
 #: Pinta.Core/Actions/EditActions.cs:353
 msgid "Save Palette File"
-msgstr ""
+msgstr "Paletbestand Opslaan"
 
 #: Pinta.Core/Actions/EditActions.cs:359
 msgid "Paint.NET palette (*.txt)"
-msgstr ""
+msgstr "Paint.NET palet (*.txt)"
 
 #: Pinta.Core/Actions/EditActions.cs:364
 msgid "GIMP palette (*.gpl)"
-msgstr ""
+msgstr "GIMP palet (*.gpl)"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr "Niet Opgeslagen Bestand {0}"
 
 #: Pinta.Core/Managers/WorkspaceManager.cs:151
 msgid "Background"
-msgstr ""
+msgstr "Achtergrond"
 
 #: Pinta.Core/Managers/WorkspaceManager.cs:158
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
 msgid "New Image"
-msgstr ""
+msgstr "Nieuwe Afbeelding"
 
 #: Pinta.Core/Managers/WorkspaceManager.cs:176
 msgid "Open Image"
-msgstr ""
+msgstr "Afbeelding Openen"
 
 #: Pinta.Core/Managers/WorkspaceManager.cs:183
 #, csharp-format
 msgid "Could not open file: {0}"
-msgstr ""
+msgstr "Kan bestand niet openen: {0}"
 
 #: Pinta.Core/Managers/LivePreviewManager.cs:220
 msgid "Rendering Effect"
-msgstr ""
+msgstr "Render Effect"
 
 #: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
 #: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
 msgid "Posterize"
-msgstr ""
+msgstr "Posterize"
 
 #: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
 msgid "Invert Colors"
-msgstr ""
+msgstr "Kleuren Omkeren"
 
 #: Pinta.Effects/Adjustments/LevelsEffect.cs:24
 msgid "Levels"
-msgstr ""
+msgstr "Niveaus"
 
 #: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
 msgid "Black and White"
-msgstr ""
+msgstr "Zwart / Wit"
 
 #: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
 msgid "Auto Level"
-msgstr ""
+msgstr "Automatisch Niveaus Bepalen"
 
 #: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
 msgid "Hue / Saturation"
-msgstr ""
+msgstr "Tint / Verzadiging"
 
 #: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
 msgid "Brightness / Contrast"
-msgstr ""
+msgstr "Helderheid / Contrast"
 
 #: Pinta.Effects/Adjustments/SepiaEffect.cs:27
 msgid "Sepia"
-msgstr ""
+msgstr "Sepia"
 
 #: Pinta.Effects/Adjustments/CurvesEffect.cs:28
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
 msgid "Curves"
-msgstr ""
+msgstr "Curven"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
 msgid "Transfer Map"
-msgstr ""
+msgstr "Transferkaart"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
 msgid "RGB"
-msgstr ""
+msgstr "RGB"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
 msgid "Luminosity"
-msgstr ""
+msgstr "Luminantie"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
 msgid "(256, 256)"
-msgstr ""
+msgstr "(256, 256)"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
 msgid "Red  "
-msgstr ""
+msgstr "Rood  "
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
 msgid "Green"
-msgstr ""
+msgstr "Groen"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
 msgid "Blue "
-msgstr ""
+msgstr "Blauw "
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
 msgid "Reset"
-msgstr ""
+msgstr "Herstellen"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
 msgid "Tip: Right-click to remove control points."
-msgstr ""
+msgstr "Tip: Rechtermuisklik om controlepunten te verwijderen"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
 msgid "Levels Adjustment"
-msgstr ""
+msgstr "Niveaus Aanpassen"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
 msgid "Input Histogram"
-msgstr ""
+msgstr "Invoer Histogram"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
 msgid "Input"
-msgstr ""
+msgstr "Invoer"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
 msgid "Output"
-msgstr ""
+msgstr "Uitvoer"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
 msgid "Output Histogram"
-msgstr ""
+msgstr "Uitvoer Histogram"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
 msgid "Auto"
-msgstr ""
+msgstr "Automatisch"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
 msgid "Red"
-msgstr ""
+msgstr "Rood"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
 msgid "Blue"
-msgstr ""
+msgstr "Blauw"
 
 #: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
 msgid "Linked"
-msgstr ""
+msgstr "Gekoppeld"
 
 #: Pinta.Effects/Effects/PencilSketchEffect.cs:33
 msgid "Pencil Sketch"
-msgstr ""
+msgstr "Potloodtekening"
 
 #: Pinta.Effects/Effects/PencilSketchEffect.cs:41
 #: Pinta.Effects/Effects/OilPaintingEffect.cs:34
 #: Pinta.Effects/Effects/InkSketchEffect.cs:42
 msgid "Artistic"
-msgstr ""
+msgstr "Artistiek"
 
 #: Pinta.Effects/Effects/UnfocusEffect.cs:28
 msgid "Unfocus"
-msgstr ""
+msgstr "Ontfocussen"
 
 #: Pinta.Effects/Effects/UnfocusEffect.cs:36
 #: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
@@ -558,11 +565,11 @@ msgstr ""
 #: Pinta.Effects/Effects/FragmentEffect.cs:34
 #: Pinta.Effects/Effects/RadialBlurEffect.cs:34
 msgid "Blurs"
-msgstr ""
+msgstr "Vervagen"
 
 #: Pinta.Effects/Effects/BulgeEffect.cs:26
 msgid "Bulge"
-msgstr ""
+msgstr "Bolvorm"
 
 #: Pinta.Effects/Effects/BulgeEffect.cs:34
 #: Pinta.Effects/Effects/PixelateEffect.cs:38
@@ -571,554 +578,581 @@ msgstr ""
 #: Pinta.Effects/Effects/PolarInversionEffect.cs:39
 #: Pinta.Effects/Effects/TwistEffect.cs:34
 msgid "Distort"
-msgstr ""
+msgstr "Vervormen"
 
 #: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
 msgid "Mandelbrot Fractal"
-msgstr ""
+msgstr "Mandelbrot Fractal"
 
 #: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
 #: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
 #: Pinta.Effects/Effects/CloudsEffect.cs:38
 msgid "Render"
-msgstr ""
+msgstr "Renderen"
 
 #: Pinta.Effects/Effects/MedianEffect.cs:29
 msgid "Median"
-msgstr ""
+msgstr "Mediaan"
 
 #: Pinta.Effects/Effects/MedianEffect.cs:37
 #: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
 #: Pinta.Effects/Effects/AddNoiseEffect.cs:38
 msgid "Noise"
-msgstr ""
+msgstr "Ruis"
 
 #: Pinta.Effects/Effects/PixelateEffect.cs:26
 msgid "Pixelate"
-msgstr ""
+msgstr "Pixelvorming"
 
 #: Pinta.Effects/Effects/SharpenEffect.cs:26
 msgid "Sharpen"
-msgstr ""
+msgstr "Verscherpen"
 
 #: Pinta.Effects/Effects/SharpenEffect.cs:34
 #: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
 #: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
 msgid "Photo"
-msgstr ""
+msgstr "Foto"
 
 #: Pinta.Effects/Effects/OilPaintingEffect.cs:26
 msgid "Oil Painting"
-msgstr ""
+msgstr "Olieverf"
 
 #: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
 msgid "Gaussian Blur"
-msgstr ""
+msgstr "Gaussians Vervagen"
 
 #: Pinta.Effects/Effects/GlowEffect.cs:31
 msgid "Glow"
-msgstr ""
+msgstr "Gloed"
 
 #: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
 msgid "Soften Portrait"
-msgstr ""
+msgstr "Portret Verzachten"
 
 #: Pinta.Effects/Effects/TileEffect.cs:26
 msgid "Tile Reflection"
-msgstr ""
+msgstr "Tegelreflectie"
 
 #: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
 msgid "Red Eye Removal"
-msgstr ""
+msgstr "Rode Ogen Verwijderen"
 
 #: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
 msgid "Frosted Glass"
-msgstr ""
+msgstr "Matglas"
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
 msgid "Edge Detect"
-msgstr ""
+msgstr "Randen Detecteren"
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
 #: Pinta.Effects/Effects/EmbossEffect.cs:34
 #: Pinta.Effects/Effects/ReliefEffect.cs:33
 #: Pinta.Effects/Effects/OutlineEffect.cs:37
 msgid "Stylize"
-msgstr ""
+msgstr "Stileren"
 
 #: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
 msgid "Julia Fractal"
-msgstr ""
+msgstr "Julia Fractal"
 
 #: Pinta.Effects/Effects/MotionBlurEffect.cs:26
 msgid "Motion Blur"
-msgstr ""
+msgstr "Bewegingsvervaging"
 
 #: Pinta.Effects/Effects/EmbossEffect.cs:26
 msgid "Emboss"
-msgstr ""
+msgstr "Emboss"
 
 #: Pinta.Effects/Effects/InkSketchEffect.cs:34
 msgid "Ink Sketch"
-msgstr ""
+msgstr "Inkttekening"
 
 #: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
 msgid "Zoom Blur"
-msgstr ""
+msgstr "Zoomvervaging"
 
 #: Pinta.Effects/Effects/PolarInversionEffect.cs:26
 msgid "Polar Inversion"
-msgstr ""
+msgstr "Polaire Inversie"
 
 #: Pinta.Effects/Effects/CloudsEffect.cs:30
 msgid "Clouds"
-msgstr ""
+msgstr "Wolken"
 
 #: Pinta.Effects/Effects/FragmentEffect.cs:26
 msgid "Fragment"
-msgstr ""
+msgstr "Fragmenteren"
 
 #: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
 msgid "Reduce Noise"
-msgstr ""
+msgstr "Ruis Verminderen"
 
 #: Pinta.Effects/Effects/RadialBlurEffect.cs:26
 msgid "Radial Blur"
-msgstr ""
+msgstr "Radiale Vervaging"
 
 #: Pinta.Effects/Effects/TwistEffect.cs:26
 msgid "Twist"
-msgstr ""
+msgstr "Spiraal"
 
 #: Pinta.Effects/Effects/AddNoiseEffect.cs:30
 msgid "Add Noise"
-msgstr ""
+msgstr "Ruis Toevoegen"
 
 #: Pinta.Effects/Effects/ReliefEffect.cs:45
 msgid "Relief"
-msgstr ""
+msgstr "Reliëf"
 
 #: Pinta.Effects/Effects/OutlineEffect.cs:29
 msgid "Outline"
-msgstr ""
+msgstr "Omlijnen"
 
 #: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
 msgid "Random Noise"
-msgstr ""
+msgstr "Willekeurige Ruis"
 
 #: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
 msgid "Reseed"
-msgstr ""
+msgstr "Hergenereren"
 
 #: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
 #: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
 msgid "label1"
-msgstr ""
+msgstr "label1"
 
 #: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
 #: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
 msgid "label"
-msgstr ""
+msgstr "label"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:146
-msgid "X:"
-msgstr ""
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
+msgstr "Primaire Kleur Kiezen"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:154
-msgid "Y:"
-msgstr ""
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
+msgstr "Secundaire Kleur Kiezen"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr "Paletkleur Kiezen"
 
 #: Pinta.Tools/PanTool.cs:38
 msgid "Pan"
-msgstr ""
+msgstr "Verschuiven"
 
 #: Pinta.Tools/PanTool.cs:44
 msgid "Click and drag to navigate image."
-msgstr ""
+msgstr "Klik en sleep om door afbeelding te navigeren."
 
 #: Pinta.Tools/TextTool.cs:37
 msgid "Text"
-msgstr ""
+msgstr "Tekst"
 
 #: Pinta.Tools/TextTool.cs:44
 msgid ""
 "Left click to place cursor, then type desired text. Text color is primary "
 "color."
 msgstr ""
+"Klik om cursor te plaatsen en tekst te typen. Tekstkleur is primaire kleur."
 
 #: Pinta.Tools/TextTool.cs:144
 msgid "Font"
-msgstr ""
+msgstr "Lettertype"
 
 #: Pinta.Tools/TextTool.cs:205
 msgid "Bold"
-msgstr ""
+msgstr "Vetgedrukt"
 
 #: Pinta.Tools/TextTool.cs:212
 msgid "Italic"
-msgstr ""
+msgstr "Cursief"
 
 #: Pinta.Tools/TextTool.cs:220
 msgid "Underline"
-msgstr ""
+msgstr "Onderstreept"
 
 #: Pinta.Tools/TextTool.cs:229
 msgid "Left Align"
-msgstr ""
+msgstr "Links Uitlijnen"
 
 #: Pinta.Tools/TextTool.cs:238
 msgid "Center Align"
-msgstr ""
+msgstr "Centreren"
 
 #: Pinta.Tools/TextTool.cs:246
 msgid "Right Align"
-msgstr ""
+msgstr "Rechts Uitlijnen"
 
 #: Pinta.Tools/RectangleTool.cs:38
 msgid "Rectangle"
-msgstr ""
+msgstr "Rechthoek"
 
 #: Pinta.Tools/RectangleTool.cs:44
 msgid ""
 "Click and drag to draw a rectangle (right click for secondary color). Hold "
 "shift to constrain to a square."
 msgstr ""
+"Klik en sleep om rechthoek te tekenen (rechtermuis voor secundaire kleur). "
+"Houd shift ingedrukt voor een vierkant."
 
 #: Pinta.Tools/FreeformShapeTool.cs:53
 msgid "Freeform Shape"
-msgstr ""
+msgstr "Vrije Vorm"
 
 #: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
 msgid ""
 "Left click to draw with primary color, right click to draw with secondary "
 "color."
 msgstr ""
+"Linkermuisklik voor primaire kleur, rechtermuisklik voor secundaire kleur."
 
 #: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
 msgid "Fill Style"
-msgstr ""
+msgstr "Vulling Stijl"
 
 #: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
 msgid "Outline Shape"
-msgstr ""
+msgstr "Omlijnen"
 
 #: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
 msgid "Fill Shape"
-msgstr ""
+msgstr "Opvullen"
 
 #: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
 msgid "Fill and Outline Shape"
-msgstr ""
+msgstr "Opvullen en Omlijnen"
 
 #: Pinta.Tools/FloodTool.cs:72
 msgid "Flood Mode"
-msgstr ""
+msgstr "Vulmodus"
 
 #: Pinta.Tools/FloodTool.cs:79
 msgid "Contiguous"
-msgstr ""
+msgstr "Aangrenzend"
 
 #: Pinta.Tools/FloodTool.cs:80
 msgid "Global"
-msgstr ""
+msgstr "Globaal"
 
 #: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
 msgid "Tolerance"
-msgstr ""
+msgstr "Tolerantie"
 
 #: Pinta.Tools/LineCurveTool.cs:38
 msgid "Line"
-msgstr ""
+msgstr "Lijn"
 
 #: Pinta.Tools/LineCurveTool.cs:44
-msgid "Left click to draw with primary color, right click for secondary color."
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
 msgstr ""
+"Linkermuisklik voor primaire kleur, rechtermuisklik voor secundaire kleur."
 
 #: Pinta.Tools/MoveSelectionTool.cs:42
 msgid "Move Selection"
-msgstr ""
+msgstr "Selectie Verplaatsen"
 
 #: Pinta.Tools/MoveSelectionTool.cs:48
 msgid "Drag the selection to move selection outline."
-msgstr ""
+msgstr "Sleep de selectie om selectieomlijning te verplaatsen."
 
 #: Pinta.Tools/RectangleSelectTool.cs:38
 msgid "Rectangle Select"
-msgstr ""
+msgstr "Rechthoekselectie"
 
 #: Pinta.Tools/RectangleSelectTool.cs:44
 msgid ""
 "Click and drag to draw a rectangular selection. Hold shift to constrain to a "
 "square."
 msgstr ""
+"Klik en sleep om rechthoek te tekenen. Houd shift ingedrukt voor een "
+"vierkant."
 
 #: Pinta.Tools/MagicWandTool.cs:46
 msgid "Magic Wand Select"
-msgstr ""
+msgstr "Toverstafselectie"
 
 #: Pinta.Tools/MagicWandTool.cs:54
 msgid "Click to select region of similar color."
-msgstr ""
+msgstr "Klik om regio met gelijkwaardige kleur te selecteren."
 
 #: Pinta.Tools/EllipseSelectTool.cs:38
 msgid "Ellipse Select"
-msgstr ""
+msgstr "Ellips-selectie"
 
 #: Pinta.Tools/EllipseSelectTool.cs:44
 msgid ""
 "Click and drag to draw an elliptical selection. Hold shift to constrain to a "
 "circle."
 msgstr ""
+"Klik en sleep voor een elliptische selectie. Houd shift ingedrukt voor een "
+"cirkel."
 
 #: Pinta.Tools/LassoSelectTool.cs:45
 msgid "Lasso Select"
-msgstr ""
+msgstr "Lassoselectie"
 
 #: Pinta.Tools/LassoSelectTool.cs:47
 msgid "Click and drag to draw the outline for a selection area."
-msgstr ""
+msgstr "Klik en sleep om een selectie te tekenen."
 
 #: Pinta.Tools/PaintBucketTool.cs:40
 msgid "Paint Bucket"
-msgstr ""
+msgstr "Vullen"
 
 #: Pinta.Tools/PaintBucketTool.cs:46
 msgid ""
 "Left click to fill a region with the primary color, right click to fill with "
 "the secondary color."
 msgstr ""
+"Linkermuisklik om te vullen met primaire kleur, rechtermuisklik om te vullen "
+"met secundaire kleur."
 
 #: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
 msgid "Gradient"
-msgstr ""
+msgstr "Gradiënt"
 
 #: Pinta.Tools/GradientTool.cs:73
 msgid ""
 "Click and drag to draw gradient from primary to secondary color.  Right "
 "click to reverse."
 msgstr ""
+"Klik en sleep om gradiënt van primaire naar secunaire kleur te tekenen. "
+"Rechtermuisklik om kleuren om te draaien."
 
 #: Pinta.Tools/GradientTool.cs:183
 msgid "Linear Gradient"
-msgstr ""
+msgstr "Lineaire Gradiënt"
 
 #: Pinta.Tools/GradientTool.cs:184
 msgid "Linear Reflected Gradient"
-msgstr ""
+msgstr "Lineair Gereflecteerde Gradiënt"
 
 #: Pinta.Tools/GradientTool.cs:185
 msgid "Linear Diamond Gradient"
-msgstr ""
+msgstr "Lineaire Diamant Gradiënt"
 
 #: Pinta.Tools/GradientTool.cs:186
 msgid "Radial Gradient"
-msgstr ""
+msgstr "Radiale Gradiënt"
 
 #: Pinta.Tools/GradientTool.cs:187
 msgid "Conical Gradient"
-msgstr ""
+msgstr "Conische Gradiënt"
 
 #: Pinta.Tools/GradientTool.cs:195
 msgid "Mode"
-msgstr ""
+msgstr "Modus"
 
 #: Pinta.Tools/GradientTool.cs:202
 msgid "Color Mode"
-msgstr ""
+msgstr "Kleurmodus"
 
 #: Pinta.Tools/GradientTool.cs:203
 msgid "Transparency Mode"
-msgstr ""
+msgstr "Transparantiemodus"
 
 #: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
 msgid "Brush width"
-msgstr ""
+msgstr "Penceeldikte"
 
 #: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
 msgid "Decrease brush size"
-msgstr ""
+msgstr "Penceeldikte Verkleinen"
 
 #: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
 msgid "Increase brush size"
-msgstr ""
+msgstr "Penceeldikte Vergroten"
 
 #: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
 msgid "Paintbrush"
-msgstr ""
+msgstr "Penceel"
 
 #: Pinta.Tools/PaintBrushTool.cs:63
 msgid "Type"
-msgstr ""
+msgstr "Soort"
 
 #: Pinta.Tools/RecolorTool.cs:59
 msgid "Recolor"
-msgstr ""
+msgstr "Verkleuren"
 
 #: Pinta.Tools/RecolorTool.cs:61
 msgid "Left click to replace the secondary color with the primary color."
-msgstr ""
+msgstr "Linkermuisklik om secundaire kleur door primaire kleur te vervangen"
 
 #: Pinta.Tools/Brushes/PlainBrush.cs:38
 msgid "Normal"
-msgstr ""
+msgstr "Normaal"
 
 #: Pinta.Tools/Brushes/CircleBrush.cs:38
 msgid "Circles"
-msgstr ""
+msgstr "Cirkels"
 
 #: Pinta.Tools/Brushes/SquaresBrush.cs:40
 msgid "Squares"
-msgstr ""
+msgstr "Vierkanten"
 
 #: Pinta.Tools/Brushes/SplatterBrush.cs:38
 msgid "Splatter"
-msgstr ""
+msgstr "Spatten"
 
 #: Pinta.Tools/Brushes/GridBrush.cs:38
 msgid "Grid"
-msgstr ""
+msgstr "Raster"
 
 #: Pinta.Tools/EllipseTool.cs:38
 msgid "Ellipse"
-msgstr ""
+msgstr "Ellips"
 
 #: Pinta.Tools/EllipseTool.cs:44
 msgid ""
 "Click and drag to draw an ellipse (right click for secondary color). Hold "
 "shift to constrain to a circle."
 msgstr ""
+"Klik en sleep om ellips te tekenen. Houd shift ingedrukt voor een cirkel."
 
 #: Pinta.Tools/CloneStampTool.cs:43
 msgid "Clone Stamp"
-msgstr ""
+msgstr "Kloonstempel"
 
 #: Pinta.Tools/CloneStampTool.cs:48
 msgid "Ctrl-left click to set origin, left click to paint."
-msgstr ""
+msgstr "Ctrl-klik voor bronselectie, klik om te tekenen."
 
 #: Pinta.Tools/ZoomTool.cs:49
 msgid "Zoom"
-msgstr ""
+msgstr "Zoomen"
 
 #: Pinta.Tools/ZoomTool.cs:55
 msgid ""
 "Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
 "selection."
 msgstr ""
+"Linkermuisklik voor inzoomen. Rechtermuisklik voor uitzoomen. Klik en sleep "
+"om in te zoomen op selectie."
 
 #: Pinta.Tools/RoundedRectangleTool.cs:44
 msgid "Rounded Rectangle"
-msgstr ""
+msgstr "Afgerond rechthoek"
 
 #: Pinta.Tools/RoundedRectangleTool.cs:50
 msgid ""
 "Click and drag to draw a rounded rectangle (right click for secondary "
 "color). Hold shift to constrain."
 msgstr ""
+"Klik en sleep om afgerond rechthoek te tekenen (rechtermuis voor secundaire "
+"kleur). Houd shift ingedrukt voor een vierkant."
 
 #: Pinta.Tools/RoundedRectangleTool.cs:83
 msgid "Radius"
-msgstr ""
+msgstr "Radius"
 
 #: Pinta.Tools/RoundedRectangleTool.cs:88
 msgid "Decrease rectangle's corner radius"
-msgstr ""
+msgstr "Hoekradius van rechthoek verkleinen"
 
 #: Pinta.Tools/RoundedRectangleTool.cs:102
 msgid "Increase rectangle's corner radius"
-msgstr ""
+msgstr "Hoekradius van rechthoek vergroten"
 
 #: Pinta.Tools/ColorPickerTool.cs:44
 msgid "Color Picker"
-msgstr ""
+msgstr "Pipet"
 
 #: Pinta.Tools/ColorPickerTool.cs:50
 msgid "Left click to set primary color. Right click to set secondary color."
 msgstr ""
+"Linkermuisklik voor kiezen primaire kleur. Rechtermuisklik voor kiezen "
+"secundaire kleur"
 
 #: Pinta.Tools/ColorPickerTool.cs:62
 msgid "After select"
-msgstr ""
+msgstr "Na selecteren"
 
 #: Pinta.Tools/ColorPickerTool.cs:68
 msgid "Do not switch tool"
-msgstr ""
+msgstr "Gereedschap behouden"
 
 #: Pinta.Tools/ColorPickerTool.cs:68
 msgid "Switch to previous tool"
-msgstr ""
+msgstr "Ga naar vorig gereedschap"
 
 #: Pinta.Tools/ColorPickerTool.cs:68
 msgid "Switch to Pencil tool"
-msgstr ""
+msgstr "Potloodgereedschap"
 
 #: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
 msgid "Pencil"
-msgstr ""
+msgstr "Potlood"
 
 #: Pinta.Tools/EraserTool.cs:45
 msgid "Eraser"
-msgstr ""
+msgstr "Gum"
 
 #: Pinta.Tools/EraserTool.cs:47
 msgid "Click and drag to erase a portion of the image."
-msgstr ""
+msgstr "Klik en sleep om deel van afbeelding te wissen."
 
 #: Pinta.Tools/PencilTool.cs:50
 msgid ""
 "Left click to draw freeform, one-pixel wide lines with the primary color, "
 "right click to use the secondary color."
 msgstr ""
+"Klik om vrije vorm, één pixel brede lijnen in primaire kleur te tekenen. "
+"Rechtermuisklik voor secundaire kleur."
 
 #: Pinta.Tools/MoveSelectedTool.cs:42
 msgid "Move Selected Pixels"
-msgstr ""
+msgstr "Geselecteerde Pixels Verplaatsen"
 
 #: Pinta.Tools/MoveSelectedTool.cs:48
 msgid "Drag the selection to move selected content."
-msgstr ""
+msgstr "Sleep de selectie om de inhoud te verplaatsen."
 
 #: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
 msgid "Hide"
-msgstr ""
+msgstr "Verbergen"
 
 #: Pinta/DockLibrary/DockItemContainer.cs:190
 msgid "Dock"
-msgstr ""
+msgstr "Dock"
 
 #: Pinta/DockLibrary/DockItemContainer.cs:194
 #: Pinta/DockLibrary/DockItem.cs:502
 msgid "Auto Hide"
-msgstr ""
+msgstr "Automatisch Verbergen"
 
 #: Pinta/DockLibrary/DockItem.cs:485
 msgid "Dockable"
-msgstr ""
+msgstr "Dockable"
 
 #: Pinta/DockLibrary/DockItem.cs:493
 msgid "Floating"
-msgstr ""
+msgstr "Zwevend"
 
 #: Pinta/Options.cs:486
 msgid "OptionName"
-msgstr ""
+msgstr "OptieNaam"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
 msgid "By percentage:"
-msgstr ""
+msgstr "Met Percentage:"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
 msgid "By absolute size:"
-msgstr ""
+msgstr "Met Absolute Grootte"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
 msgid "Width:"
-msgstr ""
+msgstr "Breedte:"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
@@ -1127,243 +1161,256 @@ msgstr ""
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
 msgid "pixels"
-msgstr ""
+msgstr "pixels"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
 msgid "Height:"
-msgstr ""
+msgstr "Hoogte:"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
 #: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
 msgid "Maintain aspect ratio"
-msgstr ""
+msgstr "Verhoudingen behouden"
 
 #: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
 msgid "Anchor:"
-msgstr ""
+msgstr "Vastzetten:"
 
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
 msgid "New Image Size          "
-msgstr ""
+msgstr "Nieuwe Afbeeldingsgrootte          "
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Laageigenschappen"
 
 #: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
 msgid "Name:"
-msgstr ""
+msgstr "Naam:"
 
 #: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
 msgid "Visible"
-msgstr ""
+msgstr "Zichtbaar"
 
 #: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
 msgid "Opacity:"
-msgstr ""
+msgstr "Dekking:"
 
-#: Pinta/MainWindow.cs:448
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr "…"
+
+#: Pinta/MainWindow.cs:450
 msgid "_File"
-msgstr ""
+msgstr "_Bestand"
 
 #: Pinta/MainWindow.cs:449
 msgid "_Edit"
-msgstr ""
+msgstr "B_ewerken"
 
 #: Pinta/MainWindow.cs:451
 msgid "_View"
-msgstr ""
+msgstr "Weerga_ve"
 
 #: Pinta/MainWindow.cs:454
 msgid "_Image"
-msgstr ""
+msgstr "Afbeeld_ing"
 
 #: Pinta/MainWindow.cs:455
 msgid "_Layers"
-msgstr ""
+msgstr "_Laag"
 
 #: Pinta/MainWindow.cs:456
 msgid "_Adjustments"
-msgstr ""
+msgstr "_Aanpassingen"
 
 #: Pinta/MainWindow.cs:457
 msgid "Effe_cts"
-msgstr ""
+msgstr "Effe_cten"
 
 #: Pinta/MainWindow.cs:459
 msgid "_Window"
-msgstr ""
+msgstr "_Venster"
 
 #: Pinta/MainWindow.cs:463
 msgid "Tool Windows"
-msgstr ""
+msgstr "Gereedschapvensters"
 
 #: Pinta/MainWindow.cs:467
 msgid "_Help"
-msgstr ""
+msgstr "_Help"
 
 #: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
 msgid "Tools"
-msgstr ""
+msgstr "Gereedschappen"
 
 #: Pinta/MainWindow.cs:578
 msgid "Documents"
-msgstr ""
+msgstr "Documenten"
 
 #: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
 msgid "Layers"
-msgstr ""
+msgstr "Lagen"
 
 #: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
 msgid "History"
-msgstr ""
+msgstr "Geschiedenis"
 
 #: Pinta/DialogHandlers.cs:99
 msgid "Take Screenshot"
-msgstr ""
+msgstr "Schermafdruk Maken"
 
 #: Pinta/DialogHandlers.cs:100
 msgid "Delay before taking a screenshot (seconds):"
-msgstr ""
+msgstr "Vertraging voor maken schermafbeelding (seconden):"
 
 #: Pinta/DialogHandlers.cs:139
 #, csharp-format
 msgid "Save the changes to image \"{0}\" before closing?"
-msgstr ""
+msgstr "Aanpassingen aan afbeelding \"{0}\" opslaan voor sluiten?"
 
 #: Pinta/DialogHandlers.cs:140
 msgid "If you don't save, all changes will be permanently lost."
-msgstr ""
+msgstr "Als U niet opslaat, zullen alle veranderingen verloren gaan."
 
 #: Pinta/DialogHandlers.cs:147
 msgid "Close without saving"
-msgstr ""
+msgstr "Sluiten zonder opslaan"
 
 #: Pinta/DialogHandlers.cs:174
 msgid "Resize Palette"
-msgstr ""
+msgstr "Pas Paletgrootte aan"
 
 #: Pinta/DialogHandlers.cs:175
 msgid "New palette size:"
-msgstr ""
+msgstr "Nieuw Paletgrootte:"
 
 #: Pinta/DialogHandlers.cs:301
 msgid "Layer Opacity"
-msgstr ""
+msgstr "Laagdekking"
 
 #: Pinta/DialogHandlers.cs:306
 msgid "Rename Layer"
-msgstr ""
+msgstr "Laag Hernoemen"
 
 #: Pinta/DialogHandlers.cs:311
 msgid "Hide Layer"
-msgstr ""
+msgstr "Laag Verbergen"
 
 #: Pinta/DialogHandlers.cs:311
 msgid "Show Layer"
-msgstr ""
+msgstr "Laag Tonen"
 
 #: Pinta/DialogHandlers.cs:404
 msgid "Image files"
-msgstr ""
+msgstr "Afbeeldingsbestanden"
 
 #: Pinta/DialogHandlers.cs:461
 msgid "Paste cancelled"
-msgstr ""
+msgstr "Plakken geannuleerd"
 
 #: Pinta/DialogHandlers.cs:462
 msgid "The clipboard does not contain an image"
-msgstr ""
+msgstr "Het klembord bevat geen afbeelding"
 
 #: Pinta/DialogHandlers.cs:495
 msgid "Save Image File"
-msgstr ""
+msgstr "Afbeelding Opslaan"
 
 #: Pinta/DialogHandlers.cs:575
 msgid "Pinta does not support saving images in this file format."
-msgstr ""
+msgstr "Pinta ondersteunt het opslaan in dit bestandsformaat niet."
 
 #: Pinta/DialogHandlers.cs:593
 #, csharp-format
 msgid "A file named \"{0}\" already exists. Do you want to replace it?"
-msgstr ""
+msgstr "Bestand genaamd \"{0}\" bestaat reeds. Wilt u deze vervangen?"
 
 #: Pinta/DialogHandlers.cs:594
 #, csharp-format
 msgid ""
 "The file already exists in \"{1}\". Replacing it will overwrite its contents."
 msgstr ""
+"Bestand bestaat reeds in \"{1}\". Vervangen zal de inhoud overschrijven."
 
 #: Pinta/Main.cs:68
 msgid "number of threads to use for rendering"
-msgstr ""
+msgstr "Aantal te gebruiken threads voor renderen"
 
 #: Pinta/Dialogs/AboutPintaTabPage.cs:41
 #: Pinta/Dialogs/VersionInformationTabPage.cs:50
 msgid "Version"
-msgstr ""
+msgstr "Versie"
 
 #: Pinta/Dialogs/AboutPintaTabPage.cs:50
 msgid "License"
-msgstr ""
+msgstr "Licentie"
 
 #: Pinta/Dialogs/AboutPintaTabPage.cs:50
 msgid "Released under the MIT X11 License."
-msgstr ""
+msgstr "Uitgebracht onder de MIT X11 Licentie."
 
 #: Pinta/Dialogs/AboutPintaTabPage.cs:57
 msgid "Copyright"
-msgstr ""
+msgstr "Auteursrecht"
 
 #: Pinta/Dialogs/AboutPintaTabPage.cs:57
 msgid "by Pinta contributors"
-msgstr ""
+msgstr "door Pinta bijdragers"
 
 #: Pinta/Dialogs/VersionInformationTabPage.cs:44
 msgid "Title"
-msgstr ""
+msgstr "Titel"
 
 #: Pinta/Dialogs/VersionInformationTabPage.cs:53
 msgid "Path"
-msgstr ""
+msgstr "Pad"
 
 #: Pinta/Dialogs/JpegCompressionDialog.cs:38
 msgid "JPEG Quality"
-msgstr ""
+msgstr "JPEG Kwaliteit"
 
 #: Pinta/Dialogs/JpegCompressionDialog.cs:46
 msgid "Quality: "
-msgstr ""
+msgstr "Kwaliteit: "
 
 #: Pinta/Dialogs/AboutDialog.cs:101
 msgid "Contributors to this Release"
-msgstr ""
+msgstr "Bijdragen aan deze release"
 
 #: Pinta/Dialogs/AboutDialog.cs:111
 msgid "Previous Contributors"
-msgstr ""
+msgstr "Voorgaande Bijdragen"
 
 #: Pinta/Dialogs/AboutDialog.cs:120
 msgid "translator-credits"
 msgstr ""
+"This is a dummy translation so that the credits are counted as translated.\n"
+"\n"
+"Launchpad Contributions:\n"
+"  Tijmen Rekmans https://launchpad.net/~tijmenr"
 
 #: Pinta/Dialogs/AboutDialog.cs:123
 msgid "Translated by:"
-msgstr ""
+msgstr "Vertaald door:"
 
 #: Pinta/Dialogs/AboutDialog.cs:130
 msgid "Based on the work of Paint.NET:"
-msgstr ""
+msgstr "Gebaseerd op het werk aan Paint.NET"
 
 #: Pinta/Dialogs/AboutDialog.cs:137
 msgid "Using some icons from:"
-msgstr ""
+msgstr "Met gebruikmaking van iconen van:"
 
 #: Pinta/Dialogs/AboutDialog.cs:249
 msgid "About Pinta"
-msgstr ""
+msgstr "Over Pinta"
 
 #: Pinta/Dialogs/AboutDialog.cs:267
 msgid "Version Info"
-msgstr ""
+msgstr "Versie Info"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1372,7 +1419,7 @@ msgstr ""
 #: SharpenData dialog
 #: MotionBlurEffect dialog
 msgid "Amount"
-msgstr ""
+msgstr "Hoeveelheid"
 
 #: RadialBlurEffect dialog
 #: JuliaFractalEffect dialog
@@ -1382,158 +1429,164 @@ msgstr ""
 #: ReliefData dialog
 #: TwistEffect dialog
 msgid "Angle"
-msgstr ""
+msgstr "Hoek"
 
 #: CloudsEffect dialog
 msgid "Antialias"
-msgstr ""
+msgstr "Antialias"
 
 #: GlowEffect dialog
 msgid "Blend Mode"
-msgstr ""
+msgstr "Mengmodus"
 
 #: OilPaintingEffect dialog
 msgid "Brightness"
-msgstr ""
+msgstr "Helderheid"
 
 #: PixelateData dialog
 msgid "Brush Size"
-msgstr ""
+msgstr "Penceelgrootte"
 
 #: PolarInversionEffect dialog
 msgid "Cell Size"
-msgstr ""
+msgstr "Celgrootte"
 
 #: MotionBlurEffect dialog
 msgid "Center Offset"
-msgstr ""
+msgstr "Centrumbepaling"
 
 #: OilPaintingEffect dialog
 msgid "Centered"
-msgstr ""
+msgstr "Gecentreerd"
 
 #: PencilSketchEffect dialog
 msgid "Coarseness"
-msgstr ""
+msgstr "Grofheid"
 
 #: AddNoiseEffect dialog
 msgid "Color Range"
-msgstr ""
+msgstr "Kleurbereik"
 
 #: InkSketchEffect dialog
 msgid "Color Saturation"
-msgstr ""
+msgstr "Kleurverzadiging"
 
 #: GlowEffect dialog
 msgid "Coloring"
-msgstr ""
+msgstr "Inkleuren"
 
 #: AddNoiseEffect dialog
 msgid "Contrast"
-msgstr ""
+msgstr "Contrast"
 
 #: FragmentEffect dialog
 msgid "Coverage"
-msgstr ""
+msgstr "Bereik"
 
 #: MotionBlurEffect dialog
 #: PolarInversionEffect dialog
 msgid "Distance"
-msgstr ""
+msgstr "Afstand"
 
 #: JuliaFractalEffect dialog
 msgid "Edge Behavior"
-msgstr ""
+msgstr "Randgedrag"
 
 #: MandelbrotFractalEffect dialog
 #: FragmentEffect dialog
 msgid "Factor"
-msgstr ""
+msgstr "Factor"
 
 #: InkSketchEffect dialog
 msgid "Fragments"
-msgstr ""
+msgstr "Fragmenten"
 
 #: TileEffect dialog
 msgid "Ink Outline"
-msgstr ""
+msgstr "Inkt Omlijning"
 
 #: AddNoiseEffect dialog
 #: OutlineEffect dialog
 #: MandelbrotFractalEffect dialog
 msgid "Intensity"
-msgstr ""
+msgstr "Intensiteit"
 
 #: RadialBlurEffect dialog
 msgid "Lighting"
-msgstr ""
+msgstr "Belichting"
 
 #: ZoomBlurEffect dialog
 #: BulgeEffect dialog
 #: PencilSketchEffect dialog
 msgid "Offset"
-msgstr ""
+msgstr "Verschuiven"
 
 #: MedianEffect dialog
 msgid "Pencil Tip Size"
-msgstr ""
+msgstr "Potloodpuntgrootte"
 
 #: CloudsEffect dialog
 msgid "Percentile"
-msgstr ""
+msgstr "Percentiel"
 
 #: RadialBlurEffect dialog
 msgid "Power"
-msgstr ""
+msgstr "Kracht"
 
 #: PolarInversionEffect dialog
 #: JuliaFractalEffect dialog
 #: MandelbrotFractalEffect dialog
 #: GaussianBlurEffect dialog
 msgid "Quality"
-msgstr ""
+msgstr "Kwaliteit"
 
 #: TileEffect dialog
 #: RedEyeRemoveData dialog
 msgid "Rotation"
-msgstr ""
+msgstr "Rotatie"
 
 #: CloudsEffect dialog
 msgid "Saturation percentage"
-msgstr ""
+msgstr "Verzadigingspercentage"
 
 #: CloudsEffect dialog
 msgid "Scale"
-msgstr ""
+msgstr "Schaal"
 
 #: SoftenPortraitData dialog
 msgid "Seed"
-msgstr ""
+msgstr "Genereren"
 
 #: ReduceNoiseEffect dialog
 msgid "Softness"
-msgstr ""
+msgstr "Zachtheid"
 
 #: OutlineEffect dialog
 msgid "Strength"
-msgstr ""
+msgstr "Sterkte"
 
 #: TileEffect dialog
 msgid "Thickness"
-msgstr ""
+msgstr "Dikte"
 
 #: RedEyeRemoveData dialog
 msgid "Tile Size"
-msgstr ""
+msgstr "Tegelgrootte"
 
 #: JuliaFractalEffect dialog
 msgid "Warmth"
-msgstr ""
+msgstr "Warmte"
 
 #: RadialBlurEffect dialog
-msgid "Use low quality for previews, small images, and small angles.  Use high quality for final quality, large images, and large angles."
+msgid ""
+"Use low quality for previews, small images, and small angles.  Use high "
+"quality for final quality, large images, and large angles."
 msgstr ""
+"Gebruik lage kwaliteit voor previews en kleine afbeelding. Gebruik hoge "
+"kwaliteit voor uiteindelijke versies en grote afbeeldingen."
 
 #: RedEyeRemoveEffect dialog
 msgid "Hint: For best results, first use selection tools to select each eye."
 msgstr ""
+"Tip: Voor het beste resultaat, gebruik eerst selectiegereedschap om elk oog "
+"te selecteren."
diff --git a/po/messages-pl.po b/po/messages-pl.po
index 8a644f5..b51f8c7 100644
--- a/po/messages-pl.po
+++ b/po/messages-pl.po
@@ -7,731 +7,673 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-10-15 21:30+0000\n"
-"Last-Translator: Michał Richter <Unknown>\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2010-12-22 00:15+0000\n"
+"Last-Translator: pp/bs <Unknown>\n"
 "Language-Team: Polish <pl at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "O programie..."
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "Okno"
 
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "Pędzel"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "Warstwa"
 
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "_Plik"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "kopiuj"
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "_Edycja"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "Zmień rozmiar płótna"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "_Widok"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr "Narzędzie"
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "_Obraz"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr "Klawisz skrótu"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "Wa_rstwy"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr "Normalne mieszanie"
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "Do_stosowanie kolorów"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr "Zastąp"
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "E_fekty"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr "Wygładzanie włączone"
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "_Okno"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr "Wygładzanie wyłączone"
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "_Pomoc"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "Zmień rozmiar..."
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
 msgstr ""
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "Narzędzia"
-
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "Paleta"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr "Obróć o 180°"
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Dokumenty"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr "Odbij obraz w pionie"
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "Warstwy"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr "Odbij obraz w poziomie"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "Historia"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr "Obróć o 90° w prawo"
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "Ukryj"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr "Obróć o 90° w lewo"
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "Dokowalne"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr "Odbij warstwę w pionie"
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "Ruchoma"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr "Odbij warstwę w poziomie"
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "Automatyczne ukrywanie"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
+msgstr "Główne"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "Zadokuj"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr "{0} obraz ({1})"
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "Zaangażowani w to wydanie"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr "Przytnij do zaznaczenia"
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "Wcześniej zaangażowani"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr "Zmień rozmiar..."
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
-msgstr ""
-"Launchpad Contributions:\n"
-"  Bartosz Kaszubowski https://launchpad.net/~simek\n"
-"  Michał Richter https://launchpad.net/~matmatyk\n"
-"  Miłosz Kosobucki https://launchpad.net/~mikom\n"
-"  Patryk Wychowaniec https://launchpad.net/~p98\n"
-"  Sebastian Mazur https://launchpad.net/~sebastianmaz\n"
-"  Spox5 https://launchpad.net/~spox5\n"
-"  eeree https://launchpad.net/~eeree"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr "Zmień rozmiar na warstwie..."
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Tłumaczenie:"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr "Odbij w poziomie"
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "Bazuje na projekcie Paint.NET:"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr "Odbij w pionie"
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "Wykorzystane ikony:"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr "Spłaszcz"
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "O Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr "Powiększ"
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "Informacje o wersji"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr "Pomniejsz"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "Tytuł"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr "Dopasuj do okna"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Wersja"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr "Powiększ do zaznaczenia"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "Ścieżka"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr "Faktyczny rozmiar"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Licencja"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
+msgstr "Pasek narzędzi"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "Wydane na licencji MIT X11"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr "Siatka pikseli"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "Prawa autorskie"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr "Linijki"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "przez współtwórców Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr "Piksele"
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
-msgstr "ilość wątków używanych podczas renderingu"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr "Cale"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "Zmień rozmiar..."
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr "Centymetry"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "Procentowo:"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr "Pełen ekran"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
-msgstr "Rozmiar bezwzględny"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr "Jednostki linijki"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "Szerokość:"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr "Dodaj nową warstwę"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "pikseli"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr "Usuń warstwę"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "Wysokość:"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr "Powiel warstwę"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "Zachowanie proporcji obrazu"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr "Scal warstwę w dół"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
-#: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "Właściwości warstwy"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr "Importuj z pliku..."
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "Nazwa:"
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr "Obróć / Powiększ"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "Widoczna"
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr "Przesuń warstwę w górę"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "Krycie:"
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr "Przesuń warstwę w dół"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "Zmień rozmiar płótna"
+#: Pinta.Core/Actions/LayerActions.cs:74
+msgid "Layer Properties..."
+msgstr "Właściwości warstwy..."
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "Kotwica:"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
+msgstr "Otwórz plik obrazu"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
-msgid "New Image"
-msgstr "Nowy obraz"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr "Importuj z pliku"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "Nowy rozmiar obrazu          "
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr "Zapisz wszystkie"
 
-#: Pinta/DialogHandlers.cs:57
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
-msgstr "Czy chcesz zapisać zmiany w \"{0}\" przed utworzeniem nowego obrazu?"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr "Zamknij wszystkie"
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr "Jeśli nie zapiszesz, wszystkie zmiany zostaną utracone"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr "Strona internetowa Pinty"
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "Kontynuuj bez zapisywania"
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
+msgstr "Zgłoś błąd"
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "Nieprzezroczystość warstwy"
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
+msgstr "Przetłumacz tę aplikację"
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "Zmień nazwę warstwy"
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "O programie..."
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "Ukryj warstwę"
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr "Nowy..."
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "Pokaż warstwę"
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
+msgstr "Nowy zrzut ekranu..."
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
-msgstr ""
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
+msgstr "Otwórz..."
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "podpis"
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr "Ostatnio otwierane"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
-msgstr "Losowy szum"
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
+msgstr "Zamknij"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
-msgstr "Nowe ziarno"
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
+msgstr "Zapisz"
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
-msgstr "Wybór koloru"
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
+msgstr "Zapisz jako...."
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
-msgstr ""
-"Lewy przycisk myszy ustawia pierwszy kolor. Prawy przycisk myszy ustawia "
-"drugi kolor."
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
+msgstr "Drukuj"
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
-msgstr "Po wybraniu"
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
+msgstr "Wyjście"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
-msgstr "NIe zmieniaj narzędzia"
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr "Nowy"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
-msgstr "Zmień na poprzednie narzędzie"
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
+msgstr "Otwórz"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
-msgstr "Zmień na ołówek"
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
+msgstr "Cofnij"
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
-msgstr "Ołówek"
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
+msgstr "Ponów"
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
-msgstr "Zaznaczanie lassem"
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
+msgstr "Wytnij"
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
-msgstr "Kliknij i przeciągnij, aby narysować zarys obszaru."
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
+msgstr "Kopiuj"
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
-msgstr "Powiększenie"
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
+msgstr "Wklej"
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
-msgstr ""
-"Kliknij lewym przyciskiem myszy, aby powiększyć. Kliknij prawym przyciskiem "
-"myszy, aby pomniejszyć. Kliknij i przeciągnij, aby powiększyć zaznaczony "
-"obszar."
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
+msgstr "Wklej do nowej warstwy"
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
-msgstr "Rozmiar pędzla"
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
+msgstr "Wklej do nowego obrazu"
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
-msgstr "Zmniejsz rozmiar pędzla"
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
+msgstr "Wyczyść zaznaczenie"
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
-msgstr "Zwiększ rozmiar pędzla"
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
+msgstr "Wypełnij zaznaczenie"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
-msgstr "Obrysuj kształt"
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
+msgstr "Odwróć zaznaczenie"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
-msgstr "Wypełnij kształt"
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
+msgstr "Zaznacz wszystko"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
-msgstr "Wypełnij i obrysuj kształt"
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
+msgstr "Usuń zaznaczenie"
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
-msgstr "Przenieś zaznaczone piksele"
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
+msgstr "Przywróć domyślne"
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
-msgstr "Przeciągnij zaznaczenie aby przenieść"
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
+msgstr "Ustaw liczbę kolorów"
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
-msgstr "Nawigacja"
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "Paleta"
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
-msgstr "Naciśnij i przytrzymaj lewy przycisk myszy by móc przesunąć obraz."
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
+msgstr "Otwórz plik palety"
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
-msgstr ""
-"Kliknij lewym przyciskiem myszy aby użyć koloru podstawowego lub kliknij "
-"prawym przyciskiem myszy by użyć koloru drugiego. (Grubość ołówka wynosi "
-"jeden piksel.)"
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
+msgstr "Pliki palety (*.txt, *.gpl)"
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
-msgstr "Zaznaczenie eliptyczne"
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr "Wszystkie pliki"
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
 msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
 msgstr ""
-"Kliknij i przeciągnij, aby obszar zaznaczenia był elipsą. Przytrzymanie "
-"klawisza Shift spowoduje zaznaczenie okręgu."
+"Nie udało się otworzyć pliku palety: {0}.\n"
+"Upewnij się, że próbujesz otworzyć właściwy plik palety programu GIMP lub "
+"Paint.NET."
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
-msgstr "Gradient"
-
-#: Pinta.Tools/GradientTool.cs:60
-msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
-msgstr ""
-"Kliknij i przeciągnij, aby wypełnić gradientem z podstawowego do "
-"drugorzędnego koloru. Kliknięcie prawym przyciskiem myszy odwraca kolory "
-"wypełnienia."
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
+msgstr "Błąd"
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
-msgstr "Gradient liniowy"
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
+msgstr "Zapisz plik palety"
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
-msgstr "Gradient liniowy lustrzany"
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
+msgstr "Paleta programu Paint.NET (*.txt)"
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
-msgstr "Gradient diamentowy"
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
+msgstr "Paleta programu GIMP (*.gpl)"
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
-msgstr "Gradient promienisty"
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr "Niezapisany obraz {0}"
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
-msgstr "Gradient stożkowy"
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
+msgstr "Tło"
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
-msgstr "Tryb koloru"
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
+msgid "New Image"
+msgstr "Nowy obraz"
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
-msgstr "Tryb przeźroczystości"
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
+msgstr "Otwórz obraz"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
-msgstr "Zaokrąglony prostokąt"
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
+#, csharp-format
+msgid "Could not open file: {0}"
+msgstr "Nie udało się otworzyć pliku: {0}"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
-msgstr ""
-"Kliknij i przeciągnij, aby narysować zaokrąglony prostokąt (prawy przycisk "
-"myszy pozwala na użycie koloru drugiego). Przytrzymanie klawisza Shift "
-"spowoduje narysowanie zaokrąglonego kwadratu."
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
+msgstr "Efekt renderowania"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
-msgstr "Promień zaokrąglenia"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
+msgstr "Redukcja kolorów"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
-msgstr "Zmniejsz promień zaokrąglenia"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
+msgstr "Odwróć kolory"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
-msgstr "Zwiększ promień zaokrąglenia"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
+msgstr "Poziomy"
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
-msgstr ""
-"Kliknij lewym przyciskiem myszy, aby użyć podstawowego koloru lub Kliknij "
-"prawym przyciskiem myszy, aby użyć koloru drugiego."
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
+msgstr "Czarno-biały"
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
-msgstr "Zaznaczenie prostokątne"
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
+msgstr "Automatyczne ustawienie poziomu"
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
-msgstr ""
-"Kliknij i przeciągnij, aby narysować prostokątne zaznaczenie obszaru. "
-"Przytrzymanie klawisza Shift spowoduje zaznaczenie kwadratu."
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
+msgstr "Barwa / Nasycenie"
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
-msgstr "Wypełnienie"
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
+msgstr "Jasność / Kontrast"
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
-msgstr ""
-"Kliknij lewym przyciskiem myszy, aby wypełnić  obszar kolorem podstawowym "
-"lub kliknij prawym przyciskiem myszy, aby wypełnić go kolorem drugim."
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
+msgstr "Sepia"
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
-msgstr "Klonowanie"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
+msgstr "Krzywe"
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
-msgstr "Przesunięcie zaznaczenia"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
+msgstr ""
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
-msgstr "Przeciągnij zaznaczenie, aby przenieść kontur zaznaczenia."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
+msgstr "RGB"
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
-msgstr "Dowolny kształt"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
+msgstr "Jaskrawość"
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
-msgstr "Tryb wypełnienia"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
+msgstr "(256, 256)"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
-msgstr "Sąsiadujące"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
+msgstr "Czerwony  "
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
-msgstr "Globalne"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
+msgstr "Zielony"
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
-msgstr "Tolerancja"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
+msgstr "Niebieski "
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
-msgstr "Elipsa"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
+msgstr "Przywróć"
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
-msgstr ""
-"Kliknij i przeciągnij, aby narysować elipsę. Przytrzymanie klawisza Shift "
-"spowoduje narysowanie okręgu."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
+msgstr "Wskazówka: Kliknij prawym przyciskiem by usunąć punkty kontrolne."
 
-#: Pinta.Tools/TextTool.cs:37
-msgid "Text"
-msgstr "Tekst"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
+msgstr "Regulacja poziomów"
 
-#: Pinta.Tools/TextTool.cs:44
-msgid ""
-"Left click to place cursor, then type desired text. Text color is primary "
-"color."
-msgstr ""
-"Kliknij lewym przyciskiem myszy, aby wskazać miejsce na umieszczenie tekstu. "
-"Barwa tekstu zależy od koloru podstawowego."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
+msgstr "Poziomy wejściowe"
 
-#: Pinta.Tools/TextTool.cs:131
-msgid "Font"
-msgstr "Czcionka"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
+msgstr "Wejście"
 
-#: Pinta.Tools/TextTool.cs:186
-msgid "Bold"
-msgstr "Pogrubienie"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
+msgstr "Wyjście"
 
-#: Pinta.Tools/TextTool.cs:193
-msgid "Italic"
-msgstr "Kursywa"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
+msgstr "Poziomy wyjściowe"
 
-#: Pinta.Tools/TextTool.cs:201
-msgid "Underline"
-msgstr "Podkreślenie"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
+msgstr "Automatycznie"
 
-#: Pinta.Tools/TextTool.cs:210
-msgid "Left Align"
-msgstr "Wyrównanie do lewej"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
+msgstr "Czerwony"
 
-#: Pinta.Tools/TextTool.cs:219
-msgid "Center Align"
-msgstr "Wyrównanie do środka"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
+msgstr "Niebieski"
 
-#: Pinta.Tools/TextTool.cs:227
-msgid "Right Align"
-msgstr "Wyrównanie do prawej"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
+msgstr "Powiązane"
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
-msgstr "Magiczna różdżka"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
+msgstr "Szkic ołówkiem"
 
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
-msgstr "Kliknij, aby zaznaczyć obszar o podobnym kolorze."
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
+msgstr "Artystyczne"
 
-#: Pinta.Tools/RectangleTool.cs:38
-msgid "Rectangle"
-msgstr "Prostokąt"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
+msgstr "Rozmycie powierzchowe"
 
-#: Pinta.Tools/RectangleTool.cs:44
-msgid ""
-"Click and drag to draw a rectangle (right click for secondary color). Hold "
-"shift to constrain to a square."
-msgstr ""
-"Kliknij i przeciągnij, aby narysować prostokąt (prawy przycisk myszy pozwala "
-"na użycie koloru drugiego). Przytrzymanie klawisza Shift, spowoduje "
-"narysowanie kwadratu."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
+msgstr "Rozmycia"
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
-msgstr "Linia"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
+msgstr "Wypukłość"
 
-#: Pinta.Tools/LineCurveTool.cs:44
-msgid ""
-"Left click to draw with primary color, right click for secondary color."
-msgstr ""
-"Lewym przyciskiem rysujesz używając głównego koloru, prawym używając "
-"drugoplanowego koloru."
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
+msgstr "Zniekształcanie"
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
-msgstr "Zamiana kolorów"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
+msgstr "Fraktal Mandelbrota"
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
-msgstr ""
-"Kliknięcie lewym przyciskiem zamienia kolor główny z kolorem drugoplanowym."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
+msgstr "Renderowanie"
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
-msgstr "Gumka"
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
+msgstr "Mediana"
 
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
-msgstr "Kliknij i przeciągnij, aby usunąć część obrazka."
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
+msgstr "Szum"
 
 #: Pinta.Effects/Effects/PixelateEffect.cs:26
 msgid "Pixelate"
 msgstr "Pikselizacja"
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr "Zniekształcanie"
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
-msgstr "Usuwanie efektu czerwonych oczu"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
+msgstr "Wyostrzanie"
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
 msgid "Photo"
 msgstr "Fotografia"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
-msgstr "Rozmycie ruchem"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
+msgstr "Obraz olejny"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
-msgstr "Rozmycia"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
+msgstr "Rozmycie Gaussa"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
-msgstr "Szkic tuszem"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
+msgstr "Poświata"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
-msgstr "Artystyczne"
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
+msgstr "Wygładź portret"
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
-msgstr "Rozmycie promieniowe"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
+msgstr "Refleks"
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
-msgstr "Rozmycie powierzchowe"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr "Usuwanie efektu czerwonych oczu"
+
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
+msgstr "Zamarznięte szkło"
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
 msgid "Edge Detect"
 msgstr "Wykrywanie krawędzi"
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
 #: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
 msgid "Stylize"
 msgstr "Stylizacja"
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
-msgstr "Zamarznięte szkło"
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
+msgstr "Fraktal Julii"
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
-msgstr "Obraz olejny"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr "Rozmycie ruchem"
+
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr "Płaskorzeźba"
+
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
+msgstr "Szkic tuszem"
 
 #: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
 msgid "Zoom Blur"
-msgstr "Rozmycie powiększające"
+msgstr "Rozmycie przez powiększenie"
 
 #: Pinta.Effects/Effects/PolarInversionEffect.cs:26
 msgid "Polar Inversion"
@@ -741,542 +683,758 @@ msgstr "Inwersja polarna"
 msgid "Clouds"
 msgstr "Chmury"
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr "Renderowanie"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
+msgstr "Fragment"
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
-msgstr "Poświata"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr "Redukcja szumów"
+
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr "Rozmycie promieniowe"
+
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
+msgstr "Wir"
 
 #: Pinta.Effects/Effects/AddNoiseEffect.cs:30
 msgid "Add Noise"
 msgstr "Dodaj szum"
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
-msgstr "Szum"
-
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
-msgstr "Fragment"
-
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
-msgstr "Wyostrzanie"
-
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
-msgstr "Szkic ołówkiem"
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
+msgstr "Płaskorzeźba"
 
 #: Pinta.Effects/Effects/OutlineEffect.cs:29
 msgid "Outline"
 msgstr "Kontur"
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
-msgstr "Rozmycie Gaussa"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
+msgstr "Losowy szum"
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
-msgstr "Refleks"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
+msgstr "Nowe ziarno"
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
-msgstr "Płaskorzeźba"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "etykieta1"
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
-msgstr "Płaskorzeźba"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "etykieta"
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
-msgstr "Fraktal Mandelbrota"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
+msgstr "Wybierz kolor podstawowy"
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
-msgstr "Wypukłość"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
+msgstr "Wybierz kolor dodatkowy"
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
-msgstr "Wir"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr "Wybierz kolor z palety"
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
-msgstr "Wygładź portret"
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
+msgstr "Nawigacja"
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
-msgstr "Redukcja szumów"
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
+msgstr "Naciśnij i przytrzymaj lewy przycisk myszy by móc przesunąć obraz."
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
-msgstr "Fraktal Julii"
+#: Pinta.Tools/TextTool.cs:37
+msgid "Text"
+msgstr "Tekst"
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
-msgstr "Mediana"
+#: Pinta.Tools/TextTool.cs:44
+msgid ""
+"Left click to place cursor, then type desired text. Text color is primary "
+"color."
+msgstr ""
+"Kliknij lewym przyciskiem by ustawić kursor, a następnie wpisz tekst. "
+"Kolorem tekstu będzie kolor wybrany jako podstawowy."
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
-msgstr "Krzywe"
+#: Pinta.Tools/TextTool.cs:144
+msgid "Font"
+msgstr "Czcionka"
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
-msgstr "Poziomy"
+#: Pinta.Tools/TextTool.cs:205
+msgid "Bold"
+msgstr "Pogrubienie"
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
-msgstr "Auto poziom"
+#: Pinta.Tools/TextTool.cs:212
+msgid "Italic"
+msgstr "Kursywa"
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
-msgstr "Odwróć kolory"
+#: Pinta.Tools/TextTool.cs:220
+msgid "Underline"
+msgstr "Podkreślenie"
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
-msgstr "Redukcja kolorów"
+#: Pinta.Tools/TextTool.cs:229
+msgid "Left Align"
+msgstr "Wyrównanie do lewej"
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
-msgstr "Czarno-biały"
+#: Pinta.Tools/TextTool.cs:238
+msgid "Center Align"
+msgstr "Wyrównanie do środka"
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
-msgstr "Barwa / Nasycenie"
+#: Pinta.Tools/TextTool.cs:246
+msgid "Right Align"
+msgstr "Wyrównanie do prawej"
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
-msgstr "Sepia"
+#: Pinta.Tools/RectangleTool.cs:38
+msgid "Rectangle"
+msgstr "Prostokąt"
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
-msgstr "Jasność / Kontrast"
+#: Pinta.Tools/RectangleTool.cs:44
+msgid ""
+"Click and drag to draw a rectangle (right click for secondary color). Hold "
+"shift to constrain to a square."
+msgstr ""
+"Kliknij i przeciągaj, aby narysować prostokąt (jeśli chcesz użyć koloru "
+"dodatkowego, użyj prawego przycisku myszy). Przytrzymaj klawisz Shift aby "
+"zawsze rysowany był kwadrat."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
-msgstr "Regulacja poziomu"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
+msgstr "Dowolny kształt"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
-msgstr "Poziomy wejściowe"
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
+msgid ""
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
+msgstr ""
+"Kliknij lewym przyciskiem myszy, aby rysować kolorem podstawowym, a prawym - "
+"aby rysować kolorem dodatkowym."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
-msgstr "Wejście"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
+msgstr "Styl wypełniania"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
-msgstr "Wyjście"
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
+msgstr "Obrysowywanie kształtu"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
-msgstr "Poziomy wyjściowe"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
+msgstr "Wypełnianie kształtu"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
-msgstr "Automatycznie"
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
+msgstr "Obrysowywanie i wypełnianie kształtu"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
-msgstr "Przywróć"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
+msgstr "Tryb zalewania"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
-msgstr "Czerwony"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
+msgstr "Przylegające"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
-msgstr "Zielony"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
+msgstr "Globalne"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
-msgstr "Niebieski"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
+msgstr "Tolerancja"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
-msgstr "Powiązane"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
+msgstr "Linia"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
 msgstr ""
+"Kliknij lewym przyciskiem myszy, aby rysować kolorem podstawowym, a prawym - "
+"aby rysować kolorem dodatkowym."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
-msgstr "RGB"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
+msgstr "Przesunięcie zaznaczenia"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
-msgstr "Jaskrawość"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
+msgstr "Przeciągnij zaznaczenie, aby przenieść kontur zaznaczenia."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
-msgstr "(256, 256)"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
+msgstr "Zaznaczenie prostokątne"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
-msgstr "Czerwony  "
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
+msgstr ""
+"Kliknij i przeciągaj, aby narysować zaznaczenie prostokątne. Przytrzymaj "
+"klawisz Shift aby zawsze rysowane było zaznaczenie kwadratowe."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
-msgstr "Niebieski "
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
+msgstr "Magiczna różdżka"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
+msgstr "Kliknij, aby zaznaczyć obszar o podobnym kolorze."
+
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
+msgstr "Zaznaczenie eliptyczne"
+
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
 msgstr ""
+"Kliknij i przeciągnij, aby narysować zaznaczenie eliptyczne. Przytrzymaj "
+"klawisz Shift, aby zawsze rysowane było zaznaczenie o kształcie koła."
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
-msgstr "Dodaj nową warstwę"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
+msgstr "Zaznaczanie lassem"
 
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
-msgstr "Usuń warstwę"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
+msgstr "Kliknij i przeciągnij, aby zaznaczyć obszar."
 
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
-msgstr "Powiel warstwę"
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
+msgstr "Wypełnienie"
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
-msgstr "Scal warstwę w dół"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
+msgstr ""
+"Kliknij lewym przyciskiem myszy, aby wypełnić obszar kolorem podstawowym, a "
+"prawym - aby wypełnić go kolorem dodatkowym."
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
-msgstr "Importuj z pliku..."
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
+msgstr "Gradient"
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
-msgstr "Odbij w poziomie"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
+msgstr ""
+"Kliknij i przeciągnij, aby wypełnić gradientem od koloru podstawowego do "
+"dodatkowego. Użyj prawego przycisku myszy, aby zastosować odwrotną kolejność "
+"kolorów."
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
-msgstr "Odbij w pionie"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
+msgstr "Gradient liniowy"
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
-msgstr "Obróć / Powiększ"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
+msgstr "Gradient liniowy lustrzany"
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
-msgstr "Przesuń warstwę w górę"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
+msgstr "Gradient liniowy diamentowy"
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
-msgstr "Przesuń warstwę w dół"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
+msgstr "Gradient promienisty"
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
-msgstr "Otwórz plik obrazu"
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
+msgstr "Gradient stożkowy"
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
-msgstr "Importuj z pliku"
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
+msgstr "Tryb"
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
-msgstr "Nowy..."
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
+msgstr "Tryb koloru"
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
-msgstr "Otwórz..."
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
+msgstr "Tryb przeźroczystości"
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
-msgstr "Ostatnio otwierane"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
+msgstr "Szerokość pędzla"
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
-msgstr "Zamknij"
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
+msgstr "Zmniejsz rozmiar pędzla"
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
-msgstr "Zapisz"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
+msgstr "Zwiększ rozmiar pędzla"
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
-msgstr "Zapisz jako...."
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "Pędzel"
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
-msgstr "Drukuj"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
+msgstr "Rodzaj"
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr "Wyjście"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
+msgstr "Przemaluj"
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
-msgstr "Nowy"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
+msgstr ""
+"Kliknij lewym przyciskiem myszy, aby zamienić kolor podstawowy na kolor "
+"dodatkowy."
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
-msgstr "Otwórz"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
+msgstr "Normalny"
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
-msgstr "Tło"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
+msgstr "Okręgi"
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
-msgstr "Otwórz obraz"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
+msgstr "Kwadraty"
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
-msgstr "Nie można otworzyć pliku: {0}"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
+msgstr "Rozprysk"
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
-msgstr "Wystąpił błąd"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
+msgstr "Siatka"
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
-msgstr "Czy chcesz zapisać zmiany w \"{0}\" przed utworzeniem nowego obrazu?"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
+msgstr "Elipsa"
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
-msgstr "Pliki graficzne"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
+msgstr ""
+"Kliknij i przeciągnij, aby narysować elipsę (kliknij prawym przyciskiem "
+"myszy, by użyć koloru dodatkowego). Przytrzymaj klawisz Shift, aby zawsze "
+"rysowany był okrąg."
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
-msgstr "Wszystkie pliki"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
+msgstr "Klonowanie"
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
-msgstr "Zapisz Obraz"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
+msgstr ""
+"Trzymając Ctrl kliknij lewym przyciskiem myszy w celu wybrania punktu "
+"źródłowego, następnie kliknij lewym przyciskiem, aby malować."
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
-msgstr "{0} obraz ({1})"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "Powiększenie"
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
-msgstr "Grafika OpenRaster (*.ora)"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
+msgstr ""
+"Kliknij lewym przyciskiem myszy, aby powiększyć. Kliknij prawym przyciskiem "
+"myszy, aby pomniejszyć. Kliknij i przeciągnij, aby powiększyć zaznaczony "
+"obszar."
 
-#: Pinta.Core/Actions/FileActions.cs:392
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before closing?"
-msgstr "Czy chcesz zapisać zmiany w obrazie \"{0}\" przed jego zamknięciem?"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
+msgstr "Zaokrąglony prostokąt"
 
-#: Pinta.Core/Actions/FileActions.cs:402
-msgid "Close without saving"
-msgstr "Zamknij bez zapisywania"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
+msgstr ""
+"Kliknij i przeciągnij, aby narysować zaokrąglony prostokąt (kliknij prawym "
+"przyciskiem myszy w celu użycia koloru dodatkowego). Przytrzymaj klawisza "
+"Shift, aby narysować zaokrąglony kwadrat."
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
-msgstr "Przytnij do zaznaczenia"
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
+msgstr "Promień"
 
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
-msgstr "Zmień rozmiar..."
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
+msgstr "Zmniejsz promień zaokrąglenia prostokąta"
 
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
-msgstr "Zmień rozmiar na warstwie..."
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
+msgstr "Zwiększ promień zaokrąglenia prostokąta"
 
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
-msgstr "Obróć o 90° w prawo"
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "Wybór koloru"
 
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
-msgstr "Obróć o 90° w lewo"
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
+msgstr ""
+"Kliknij lewym przyciskiem myszy, aby ustawić kolor podstawowy. Kliknij "
+"prawym przyciskiem, aby ustawić kolor dodatkowy."
 
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
-msgstr "Obróć o 180°"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr "Po wybraniu"
 
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
-msgstr "Spłaszcz"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
+msgstr "NIe zmieniaj narzędzia"
 
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr "Cofnij"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr "Zmień na poprzednie narzędzie"
 
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
-msgstr "Ponów"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
+msgstr "Zmień na Ołówek"
 
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
-msgstr "Wytnij"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "Ołówek"
 
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
-msgstr "Kopiuj"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
+msgstr "Gumka"
 
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
-msgstr "Wklej"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
+msgstr "Kliknij i przeciągnij, aby wymazać część obrazka."
 
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
-msgstr "Wklej do nowej warstwy"
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
+msgstr ""
+"Kliknij lewym przyciskiem, aby rysować swobodnie kolorem podstawowym linie o "
+"szerokości 1 piksela. Kliknij prawym przyciskiem, aby rysować kolorem "
+"dodatkowym."
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
-msgstr "Wklej do nowego obrazu"
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
+msgstr "Przenieś zaznaczone piksele"
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
-msgstr "Wyczyść zaznaczenie"
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
+msgstr "Przeciągnij zaznaczenie, aby przenieść jego zawartość."
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
-msgstr "Wypełnij zaznaczenie"
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "Ukryj"
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
-msgstr "Odwróć zaznaczenie"
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "Zadokuj"
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
-msgstr "Zaznacz wszystko"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "Automatyczne ukrywanie"
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
-msgstr "Usuń zaznaczenie"
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "Dokowalne"
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
-msgstr "Powiększ"
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "Ruchoma"
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
-msgstr "Pomniejsz"
+#: Pinta/Options.cs:486
+msgid "OptionName"
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
-msgstr "Dopasuj do okna"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "Procentowo:"
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
-msgstr "Powiększ do zaznaczenia"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
+msgstr "Rozmiar bezwzględny"
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
-msgstr "Faktyczny rozmiar"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "Szerokość:"
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
-msgstr "Siatka pikseli"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "pikseli"
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
-msgstr "Linijki"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "Wysokość:"
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
-msgstr "Piksele"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "Zachowanie proporcji obrazu"
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
-msgstr "Cale"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "Kotwica:"
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
-msgstr "Centymetry"
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "Nowy rozmiar obrazu          "
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
-msgstr "Pełen ekran"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Właściwości warstwy"
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
-msgstr "Okno"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "Nazwa:"
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
-msgstr "Strona internetowa Pinty"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "Widoczna"
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
-msgstr "Zgłoś błąd"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "Krycie:"
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
-msgstr "Przetłumacz tą aplikację"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr "..."
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
-msgstr "Ogólne"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "_Plik"
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "_Edycja"
+
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "_Widok"
+
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "_Obraz"
+
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "Wa_rstwy"
+
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "Do_stosowanie kolorów"
+
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "E_fekty"
+
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "_Okno"
+
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
+msgstr "Okna narzędziowe"
+
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "_Pomoc"
+
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
 msgstr "Narzędzia"
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
-msgstr "Klawisz skrótu"
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Dokumenty"
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
-msgstr "Wygładzanie krawędzi"
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "Warstwy"
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
-msgstr ""
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "Historia"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
-msgstr "Odbij obraz w pionie"
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
+msgstr "Zrzut ekranu"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
-msgstr "Odbij obraz w poziomie"
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
+msgstr "Opóźnienie wykonania zrzutu ekranu (w sekundach):"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
-msgstr "Odbij warstwę w pionie"
+#: Pinta/DialogHandlers.cs:139
+#, csharp-format
+msgid "Save the changes to image \"{0}\" before closing?"
+msgstr "Czy chcesz zapisać zmiany w obrazie \"{0}\" przed jego zamknięciem?"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
-msgstr "Odbij warstwę w poziomie"
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "Jeśli nie zapiszesz, wszystkie zmiany zostaną utracone"
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
+#: Pinta/DialogHandlers.cs:147
+msgid "Close without saving"
+msgstr "Zamknij bez zapisywania"
+
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
+msgstr "Zmień rozmiar palety"
+
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
+msgstr "Nowy rozmiar palety:"
+
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "Nieprzezroczystość warstwy"
+
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "Zmień nazwę warstwy"
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "Ukryj warstwę"
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "Pokaż warstwę"
+
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
+msgstr "Pliki graficzne"
+
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
+msgstr "Wklejanie anulowane"
+
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
+msgstr "Schowek nie zawiera obrazu"
+
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
+msgstr "Zapisz Obraz"
+
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
+msgstr "Pinta nie obsługuje zapisu w tym formacie."
+
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
+msgstr "Plik \"{0}\" już istnieje. Czy chcesz go zastąpić?"
+
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
 msgstr ""
+"Już istnieje taki plik w \"{1}\". Zastąpienie go spowoduje nadpisanie jego "
+"zawartości przez nowy plik."
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr "ilość wątków używanych podczas renderingu"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Wersja"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Licencja"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "Wydane na licencji MIT X11"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "Prawa autorskie"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "przez współtwórców Pinta"
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "Tytuł"
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "Ścieżka"
+
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
+msgstr "Jakość JPEG"
+
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
+msgstr "Jakość: "
+
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "Zaangażowani w to wydanie"
+
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "Wcześniej zaangażowani"
+
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
 msgstr ""
+"Launchpad Contributions:\n"
+"  Bartosz Kaszubowski https://launchpad.net/~simek\n"
+"  Dweight https://launchpad.net/~devilsenator\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst\n"
+"  Maciej Leśniewski https://launchpad.net/~leshniak\n"
+"  Michał Richter https://launchpad.net/~matmatyk\n"
+"  Miłosz Kosobucki https://launchpad.net/~mikom\n"
+"  Patryk Wychowaniec https://launchpad.net/~p98\n"
+"  Sebastian Mazur https://launchpad.net/~sebastianmaz\n"
+"  Spox5 https://launchpad.net/~spox5\n"
+"  eeree https://launchpad.net/~eeree\n"
+"  pp/bs https://launchpad.net/~pawprok"
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
-msgstr "kopiuj"
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Tłumaczenie:"
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
-msgstr "Warstwa"
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "Bazuje na projekcie Paint.NET:"
+
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "Wykorzystane ikony:"
+
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "O Pinta"
+
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "Informacje o wersji"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1327,7 +1485,7 @@ msgstr "Wyśrodkowany"
 
 #: PencilSketchEffect dialog
 msgid "Coarseness"
-msgstr ""
+msgstr "Ziarnistość"
 
 #: AddNoiseEffect dialog
 msgid "Color Range"
@@ -1393,11 +1551,11 @@ msgstr "Rozmiar końcówki pędzla"
 
 #: CloudsEffect dialog
 msgid "Percentile"
-msgstr ""
+msgstr "Percentyl"
 
 #: RadialBlurEffect dialog
 msgid "Power"
-msgstr ""
+msgstr "Siła:"
 
 #: PolarInversionEffect dialog
 #: JuliaFractalEffect dialog
@@ -1448,10 +1606,15 @@ msgid ""
 "Use low quality for previews, small images, and small angles.  Use high "
 "quality for final quality, large images, and large angles."
 msgstr ""
+"Używaj niskiej jakości do podglądu, małych obrazów i małych kątów. Używaj "
+"wysokiej jakości do obrazów w wersji ostatecznej, do dużych obrazów i dużych "
+"kątów."
 
 #: RedEyeRemoveEffect dialog
 msgid "Hint: For best results, first use selection tools to select each eye."
 msgstr ""
+"Wskazówka: Dla uzyskania lepszego efektu, zaznacz oko korzystając z narzędzi "
+"zaznaczania."
 
 #~ msgid "Show Pad"
 #~ msgstr "Pokaż panel"
@@ -1459,8 +1622,28 @@ msgstr ""
 #~ msgid "%"
 #~ msgstr "%"
 
+#~ msgid "Continue without saving"
+#~ msgstr "Kontynuuj bez zapisywania"
+
 #~ msgid "X :"
 #~ msgstr "X :"
 
 #~ msgid "Y :"
 #~ msgstr "Y :"
+
+#~ msgid "Fill mode"
+#~ msgstr "Tryb wypełnienia"
+
+#~ msgid "Antialiasing"
+#~ msgstr "Wygładzanie krawędzi"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr "Czy chcesz zapisać zmiany w \"{0}\" przed utworzeniem nowego obrazu?"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before opening a new image?"
+#~ msgstr "Czy chcesz zapisać zmiany w \"{0}\" przed utworzeniem nowego obrazu?"
+
+#~ msgid "OpenRaster image (*.ora)"
+#~ msgstr "Grafika OpenRaster (*.ora)"
diff --git a/po/messages-pt.po b/po/messages-pt.po
index ef37547..91420c8 100644
--- a/po/messages-pt.po
+++ b/po/messages-pt.po
@@ -7,557 +7,747 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-10-26 08:54+0000\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2011-01-07 15:23+0000\n"
 "Last-Translator: Sérgio Marques <Unknown>\n"
 "Language-Team: European Portuguese <pt_BR at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "Sobre"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "Janela"
 
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "Pincel"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "Camada"
 
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "_Ficheiro"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "copiar"
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "_Editar"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "Reajustar tela"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "_Ver"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr "Ferramenta"
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "_Imagem"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr "Tecla de atalho"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "_Camadas"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr "Mistura Normal"
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "_Ajustes"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr "Sobrepor"
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "Efeito_s"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr "Ligar suavização de fontes"
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "_Janela"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr "Desligar suavização de fontes"
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "A_juda"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "Reajustar imagem"
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
-msgstr "Janelas de ferramentas"
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr "Finalizar pixeis"
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "Ferramentas"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr "Rodar 180°"
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "Paleta"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr "Inverter imagem na horizontal"
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Documentos"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr "Inverter imagem na vertical"
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "Camadas"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr "Rodar 90° no sentido horário"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "Histórico"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr "Rodar 90° no sentido anti-horário"
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "Ocultar"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr "Inverter camada na horizontal"
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "Acoplável"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr "Inverter camada na vertical"
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "Flutuante"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
+msgstr "Geral"
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "Ocultar automaticamente"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr "{0} imagem ({1})"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "Acoplar"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr "Recortar selecção"
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "Contribuidores para esta versão"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr "Reajustar..."
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "Contribuidores anteriores"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr "Tamanho da tela..."
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
-msgstr ""
-"Launchpad Contributions:\n"
-"  Afer https://launchpad.net/~agosfernandes\n"
-"  Ricardo Conde https://launchpad.net/~turotulco\n"
-"  Sérgio Marques https://launchpad.net/~sergio+marques\n"
-"  Sérgio Marques https://launchpad.net/~smarquespt"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr "Inverter horizontalmente"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Traduzido por:"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr "Inverter verticalmente"
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "Inspirado no Paint.NET:"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr "Achatar"
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "Utiliza alguns ícones de:"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr "Ampliar"
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "Sobre o Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr "Reduzir"
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "Informações sobre a versão"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr "Ajustar à janela"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "Título"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr "Ajustar à selecção"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Versão"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr "Tamanho real"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "Caminho"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
+msgstr "Barra de Ferramentas"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Licença"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr "Grelha de pixeis"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "Publicado sob a licença MIT X11."
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr "Réguas"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "Direitos de autor"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr "Pixeis"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "pelos contribuidores Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr "Polegadas"
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
-msgstr "número de itens a utilizar na renderização"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr "Centímetros"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "Reajustar imagem"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr "Ecrã completo"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "Por percentagem:"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr "Unidades da régua"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
-msgstr "Por tamanho absoluto:"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr "Adicionar nova camada"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "Largura:"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr "Apagar camada"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "pixeis"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr "Duplicar camada"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "Altura:"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr "Unir a camada inferior"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "Manter a proporção"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr "Importar do ficheiro..."
+
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr "Rodar / Ampliar"
+
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr "Mover camada para cima"
+
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr "Mover camada para baixo"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
 #: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "Propriedades da camada"
+msgid "Layer Properties..."
+msgstr "Propriedades da camada..."
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "Nome:"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
+msgstr "Abrir imagem"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "Visível"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr "Importar do ficheiro"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "Transparência:"
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr "Gravar todos"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "Reajustar tela"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr "Fechar todos"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "Âncora:"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr "Página web do Pinta"
+
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
+msgstr "Reportar um erro"
+
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
+msgstr "Traduzir esta aplicação"
+
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "Sobre"
+
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr "Novo..."
+
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
+msgstr "Nova captura de ecrã..."
+
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
+msgstr "Abrir..."
+
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr "Abrir recente"
+
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
+msgstr "Fechar"
+
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
+msgstr "Gravar"
+
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
+msgstr "Gravar como..."
+
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
+msgstr "Imprimir"
+
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
+msgstr "Sair"
+
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr "Novo"
+
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
+msgstr "Abrir"
+
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
+msgstr "Desfazer"
+
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
+msgstr "Refazer"
+
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
+msgstr "Cortar"
+
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
+msgstr "Copiar"
+
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
+msgstr "Colar"
+
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
+msgstr "Colar numa nova camada"
+
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
+msgstr "Colar numa nova imagem"
+
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
+msgstr "Apagar selecção"
+
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
+msgstr "Preencher selecção"
+
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
+msgstr "Inverter selecção"
+
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
+msgstr "Seleccionar tudo"
+
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
+msgstr "Deseleccionar"
+
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
+msgstr "Repor as omissões"
+
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
+msgstr "Definir o número de cores"
+
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "Paleta"
+
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
+msgstr "Abrir ficheiro de paleta"
 
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
+msgstr "Ficheiros paleta (*.txt,*.gpl)"
+
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr "Todos os ficheiros"
+
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
+msgid ""
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
+msgstr ""
+"Não é possível abrir o ficheiro: {0}.\n"
+"Por favor, verifique que está a tentar abrir um ficheiro de paleta do GIMP "
+"ou Paint.NET."
+
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
+msgstr "Erro"
+
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
+msgstr "Gravar ficheiro de paleta"
+
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
+msgstr "Paleta Paint.NET (*.txt)"
+
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
+msgstr "Paleta GIMP (*.gpl)"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr "Imagem não gravada {0}"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
+msgstr "Plano de fundo"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
 msgid "New Image"
 msgstr "Nova imagem"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "Tamanho da nova imagem          "
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
+msgstr "Abrir imagem"
 
-#: Pinta/DialogHandlers.cs:57
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
 #, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
-msgstr "Guardar as alterações em \"{0}\" antes de criar uma nova?"
+msgid "Could not open file: {0}"
+msgstr "Não foi possível abrir o ficheiro: {0}"
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr "Se não gravar o trabalho, todas as alterações serão perdidas."
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
+msgstr "Efeito de renderização"
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "Continuar sem gravar"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
+msgstr "Aplicar gradação às diversas regiões"
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "Transparência da camada"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
+msgstr "Inverter cores"
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "Renomear camada"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
+msgstr "Níveis"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "Ocultar camada"
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
+msgstr "Preto e branco"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "Mostrar camada"
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
+msgstr "Níveis automáticos"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
-msgstr "rótulo1"
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
+msgstr "Matiz / Saturação"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "rótulo"
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
+msgstr "Brilho / Contraste"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
-msgstr "Ruído aleatório"
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
+msgstr "Sépia"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
-msgstr "Semear novamente"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
+msgstr "Curvas"
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
-msgstr "Selector de cores"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
+msgstr "Mapa de transferência"
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
-msgstr ""
-"Botão esquerdo do rato para definir a cor principal. Botão direito para "
-"definir a cor secundária."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
+msgstr "RGB"
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
-msgstr "Após seleccionar"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
+msgstr "Luminosidade"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
-msgstr "Não trocar ferramenta"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
+msgstr "(256, 256)"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
-msgstr "Trocar para a ferramenta anterior"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
+msgstr "Vermelho  "
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
-msgstr "Trocar para ferramenta Lápis"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
+msgstr "Verde"
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
-msgstr "Lápis"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
+msgstr "Azul "
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
-msgstr "Selecção Laço"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
+msgstr "Repor"
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
-msgstr "Clique e arraste para desenhar o contorno da área seleccionada."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
+msgstr "Dica: Botão direito do rato para remover pontos de controle."
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
-msgstr "Ampliação"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
+msgstr "Ajuste de níveis"
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
-msgstr ""
-"Botão esquerdo para ampliar. Botão direito para reduzir. Para ampliar a "
-"selecção, clique e arraste."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
+msgstr "Histograma do original"
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
-msgstr "Largura do pincel"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
+msgstr "Original"
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
-msgstr "Diminuir tamanho do pincel"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
+msgstr "Destino"
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
-msgstr "Aumentar tamanho do pincel"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
+msgstr "Histograma do destino"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
-msgstr "Formato do contorno"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
+msgstr "Automático"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
-msgstr "Formato do preenchimento"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
+msgstr "Vermelho"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
-msgstr "Formato do contorno e preenchimento"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
+msgstr "Azul"
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
-msgstr "Mover pixeis seleccionados"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
+msgstr "Ligado"
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
-msgstr "Arraste a selecção para mover o conteúdo."
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
+msgstr "Desenho a lápis"
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
-msgstr "\"Pan\""
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
+msgstr "Artístico"
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
-msgstr "Clique e arraste para navegar na imagem."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
+msgstr "Desfocar"
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
-msgstr ""
-"Botão esquerdo do rato para desenho livre, linhas de um pixel de largura com "
-"cor primária, botão direito do rato para usar a cor secundária."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
+msgstr "Manchas"
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
-msgstr "Selecção elíptica"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
+msgstr "Convexa"
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
-msgstr ""
-"Clique e arraste para a elipse. Pressione a tecla shitf para restringir a um "
-"círculo."
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
+msgstr "Distorcer"
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
-msgstr "Gradiente"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
+msgstr "Fractal Mandelbrot"
 
-#: Pinta.Tools/GradientTool.cs:60
-msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
-msgstr ""
-"Clique e arraste para aplicar o gradiente principal para o secundário. Botão "
-"direito inverter."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
+msgstr "Renderizar"
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
-msgstr "Gradiente linear"
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
+msgstr "Mediana"
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
-msgstr "Gradiente linear reflectido"
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
+msgstr "Ruído"
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
-msgstr "Gradiente linear diamante"
+#: Pinta.Effects/Effects/PixelateEffect.cs:26
+msgid "Pixelate"
+msgstr "\"Pixelate\""
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
-msgstr "Gradiente radial"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
+msgstr "Precisão"
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
-msgstr "Gradiente cônico"
+#: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
+msgid "Photo"
+msgstr "Foto"
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
-msgstr "Modo de cor"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
+msgstr "Pintura a óleo"
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
-msgstr "Modo de transparência"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
+msgstr "Mancha Gaussiana"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
-msgstr "Rectângulo arredondado"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
+msgstr "Brilho"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
-msgstr ""
-"Clique e arraste para desenhar um rectângulo arredondado (botão direito do "
-"rato para cor secundária). Pressione a tecla Shift para restringir."
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
+msgstr "Retrato suavizado"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
-msgstr "Raio"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
+msgstr "Reflexo ladrilhado"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
-msgstr "Diminuir o raio do canto do rectângulo"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr "Remoção de olhos vermelhos"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
-msgstr "Aumentar o raio do canto do rectângulo"
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
+msgstr "Vidro fosco"
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
-msgstr ""
-"Botão esquerdo para desenhar com a cor principal, botão direito para "
-"desenhar com a cor secundária."
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
+msgid "Edge Detect"
+msgstr "Detecção de contornos"
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
-msgstr "Selecção rectangular"
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
+#: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
+msgid "Stylize"
+msgstr "Estilizar"
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
-msgstr ""
-"Clique e arraste para desenhar uma selecção rectangular. Pressione a tecla "
-"Shift para restringir a um quadrado."
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
+msgstr "Fractal Julia"
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
-msgstr "Balde de Tinta"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr "Mancha de movimento"
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
-msgstr ""
-"Botão esquerdo do rato para preencher com a cor principal, botão direito "
-"para preencher com a cor secundária."
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr "Gravar em relevo"
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
-msgstr "Carimbo"
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
+msgstr "Rascunho a tinta"
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
-msgstr "Mover selecção"
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
+msgid "Zoom Blur"
+msgstr "Ampliar mancha"
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
-msgstr "Arraste a selecção para mover os seus contornos."
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
+msgid "Polar Inversion"
+msgstr "Inversão polar"
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
-msgstr "Forma livre"
+#: Pinta.Effects/Effects/CloudsEffect.cs:30
+msgid "Clouds"
+msgstr "Nuvens"
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
-msgstr "Preenchimento"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
+msgstr "Fragmento"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
-msgstr "Adjacente"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr "Reduzir ruído"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
-msgstr "Global"
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr "Mancha radial"
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
-msgstr "Tolerância"
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
+msgstr "Torção"
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
-msgstr "Elipse"
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
+msgid "Add Noise"
+msgstr "Adicionar ruído"
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
-msgstr ""
-"Clique e arraste para desenhar uma elipse (botão direito para cor "
-"secundária). Pressione a tecla Shift para restringir a um círculo."
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
+msgstr "Relevo"
+
+#: Pinta.Effects/Effects/OutlineEffect.cs:29
+msgid "Outline"
+msgstr "Contorno"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
+msgstr "Ruído aleatório"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
+msgstr "Semear novamente"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "rótulo1"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "rótulo"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
+msgstr "Escolha a cor primária"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
+msgstr "Escolha a cor secundária"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr "Escolha a cor da paleta"
+
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
+msgstr "\"Pan\""
+
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
+msgstr "Clique e arraste para navegar na imagem."
 
 #: Pinta.Tools/TextTool.cs:37
 msgid "Text"
@@ -571,42 +761,34 @@ msgstr ""
 "Botão esquerdo do rato para posicionar o cursor e escrever o texto desejado. "
 "A cor utilizada será a principal."
 
-#: Pinta.Tools/TextTool.cs:131
+#: Pinta.Tools/TextTool.cs:144
 msgid "Font"
 msgstr "Tipo de letra"
 
-#: Pinta.Tools/TextTool.cs:186
+#: Pinta.Tools/TextTool.cs:205
 msgid "Bold"
 msgstr "Negrito"
 
-#: Pinta.Tools/TextTool.cs:193
+#: Pinta.Tools/TextTool.cs:212
 msgid "Italic"
 msgstr "Itálico"
 
-#: Pinta.Tools/TextTool.cs:201
+#: Pinta.Tools/TextTool.cs:220
 msgid "Underline"
 msgstr "Sublinhado"
 
-#: Pinta.Tools/TextTool.cs:210
+#: Pinta.Tools/TextTool.cs:229
 msgid "Left Align"
 msgstr "Alinhar à esquerda"
 
-#: Pinta.Tools/TextTool.cs:219
+#: Pinta.Tools/TextTool.cs:238
 msgid "Center Align"
 msgstr "Alinhar ao centro"
 
-#: Pinta.Tools/TextTool.cs:227
+#: Pinta.Tools/TextTool.cs:246
 msgid "Right Align"
 msgstr "Alinhar à direita"
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
-msgstr "Selecção batuta mágica"
-
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
-msgstr "Clique para seleccionar uma região de cor similar."
-
 #: Pinta.Tools/RectangleTool.cs:38
 msgid "Rectangle"
 msgstr "Rectângulo"
@@ -619,655 +801,627 @@ msgstr ""
 "Clique e arraste para desenhar um rectângulo (botão direito do rato para cor "
 "secundária). Pressione a tecla Shift para restringir a um quadrado."
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
-msgstr "Linha"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
+msgstr "Forma livre"
 
-#: Pinta.Tools/LineCurveTool.cs:44
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
 msgid ""
-"Left click to draw with primary color, right click for secondary color."
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
 msgstr ""
-"Botão esquerdo do rato para desenhar com a cor principal, botão direito para "
-"cor secundária."
+"Botão esquerdo para desenhar com a cor principal, botão direito para "
+"desenhar com a cor secundária."
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
-msgstr "Colorir novamente"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
+msgstr "Estilo de preenchimento"
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
-msgstr "Botão esquerdo para substituir a cor secundária pela principal."
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
+msgstr "Formato do contorno"
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
-msgstr "Borracha"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
+msgstr "Formato do preenchimento"
 
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
-msgstr "Clique e arraste para apagar uma parte da imagem."
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
+msgstr "Formato do contorno e preenchimento"
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:26
-msgid "Pixelate"
-msgstr "\"Pixelate\""
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
+msgstr "Modo de inundação"
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr "Distorcer"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
+msgstr "Adjacente"
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
-msgstr "Remoção de olhos vermelhos"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
+msgstr "Global"
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
-#: Pinta.Effects/Effects/SharpenEffect.cs:34
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
-msgid "Photo"
-msgstr "Foto"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
+msgstr "Tolerância"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
-msgstr "Mancha de movimento"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
+msgstr "Linha"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
-msgstr "Manchas"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
+msgstr ""
+"Botão esquerdo do rato para desenhar com a cor principal, botão direito para "
+"cor secundária."
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
-msgstr "Rascunho a tinta"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
+msgstr "Mover selecção"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
-msgstr "Artístico"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
+msgstr "Arraste a selecção para mover os seus contornos."
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
-msgstr "Mancha radial"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
+msgstr "Selecção rectangular"
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
-msgstr "Desfocar"
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
+msgstr ""
+"Clique e arraste para desenhar uma selecção rectangular. Pressione a tecla "
+"Shift para restringir a um quadrado."
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
-msgid "Edge Detect"
-msgstr "Detecção de limite"
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
+msgstr "Selecção batuta mágica"
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
-#: Pinta.Effects/Effects/EmbossEffect.cs:34
-msgid "Stylize"
-msgstr "Estilizar"
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
+msgstr "Clique para seleccionar uma região de cor similar."
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
-msgstr "Vidro fosco"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
+msgstr "Selecção elíptica"
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
-msgstr "Pintura a óleo"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
+msgstr ""
+"Clique e arraste para a elipse. Pressione a tecla shitf para restringir a um "
+"círculo."
 
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
-msgid "Zoom Blur"
-msgstr "Ampliar mancha"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
+msgstr "Selecção Laço"
 
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
-msgid "Polar Inversion"
-msgstr "Inversão polar"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
+msgstr "Clique e arraste para desenhar o contorno da área seleccionada."
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:30
-msgid "Clouds"
-msgstr "Nuvens"
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
+msgstr "Balde de Tinta"
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr "Renderizar"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
+msgstr ""
+"Botão esquerdo do rato para preencher com a cor principal, botão direito "
+"para preencher com a cor secundária."
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
-msgstr "Brilho"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
+msgstr "Gradiente"
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
-msgid "Add Noise"
-msgstr "Adicionar ruído"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
+msgstr ""
+"Clique e arraste para aplicar o gradiente principal para o secundário. Botão "
+"direito inverter."
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
-msgstr "Ruído"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
+msgstr "Gradiente linear"
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
-msgstr "Fragmento"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
+msgstr "Gradiente linear reflectido"
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
-msgstr "Precisão"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
+msgstr "Gradiente linear diamante"
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
-msgstr "Desenho a lápis"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
+msgstr "Gradiente radial"
 
-#: Pinta.Effects/Effects/OutlineEffect.cs:29
-msgid "Outline"
-msgstr "Contorno"
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
+msgstr "Gradiente cónico"
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
-msgstr "Mancha Gaussiana"
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
+msgstr "Modo"
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
-msgstr "Reflexo ladrilhado"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
+msgstr "Modo de cor"
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
-msgstr "Relevo"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
+msgstr "Modo de transparência"
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
-msgstr "Gravar em relevo"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
+msgstr "Largura do pincel"
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
-msgstr "Fractal Mandelbrot"
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
+msgstr "Diminuir tamanho do pincel"
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
-msgstr "Convexa"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
+msgstr "Aumentar tamanho do pincel"
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
-msgstr "Torção"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "Pincel"
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
-msgstr "Retrato suavizado"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
+msgstr "Tipo"
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
-msgstr "Reduzir ruído"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
+msgstr "Colorir novamente"
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
-msgstr "Fractal Julia"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
+msgstr "Botão esquerdo para substituir a cor secundária pela principal."
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
-msgstr "Mediano"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
+msgstr "Normal"
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
-msgstr "Curvas"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
+msgstr "Círculos"
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
-msgstr "Níveis"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
+msgstr "Quadrados"
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
-msgstr "Níveis automáticos"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
+msgstr "Salpico"
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
-msgstr "Inverter cores"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
+msgstr "Grelha"
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
-msgstr "Criar poster"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
+msgstr "Elipse"
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
-msgstr "Preto e branco"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
+msgstr ""
+"Clique e arraste para desenhar uma elipse (botão direito para cor "
+"secundária). Pressione a tecla Shift para restringir a um círculo."
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
-msgstr "Matiz / Saturação"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
+msgstr "Clone Stamp"
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
-msgstr "Sépia"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
+msgstr ""
+"Ctrl+botão esquerdo do rato para definir origem, clique esquerdo para pintar."
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
-msgstr "Brilho / Contraste"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "Ampliação"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
-msgstr "Ajuste de níveis"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
+msgstr ""
+"Botão esquerdo para ampliar. Botão direito para reduzir. Para ampliar a "
+"selecção, clique e arraste."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
-msgstr "Histograma do original"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
+msgstr "Rectângulo arredondado"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
-msgstr "Original"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
+msgstr ""
+"Clique e arraste para desenhar um rectângulo arredondado (botão direito do "
+"rato para cor secundária). Pressione a tecla Shift para restringir."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
-msgstr "Destino"
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
+msgstr "Raio"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
-msgstr "Histograma do destino"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
+msgstr "Diminuir o raio do canto do rectângulo"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
-msgstr "Automático"
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
+msgstr "Aumentar o raio do canto do rectângulo"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
-msgstr "Repor"
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "Selector de cores"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
-msgstr "Vermelho"
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
+msgstr ""
+"Botão esquerdo do rato para definir a cor principal. Botão direito para "
+"definir a cor secundária."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
-msgstr "Verde"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr "Após seleccionar"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
-msgstr "Azul"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
+msgstr "Não trocar ferramenta"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
-msgstr "Ligado"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr "Trocar para a ferramenta anterior"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
-msgstr "Mapa de transferência"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
+msgstr "Trocar para ferramenta Lápis"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
-msgstr "RGB"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "Lápis"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
-msgstr "Luminosidade"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
+msgstr "Borracha"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
-msgstr "(256, 256)"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
+msgstr "Clique e arraste para apagar uma parte da imagem."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
-msgstr "Vermelho  "
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
+msgstr ""
+"Botão esquerdo do rato para desenho livre, linhas de um pixel de largura com "
+"cor primária, botão direito do rato para usar a cor secundária."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
-msgstr "Azul "
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
+msgstr "Mover pixeis seleccionados"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
-msgstr "Dica: Botão direito do rato para remover pontos de controle."
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
+msgstr "Arraste a selecção para mover o conteúdo."
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
-msgstr "Adicionar nova camada"
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "Ocultar"
 
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
-msgstr "Apagar camada"
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "Acoplar"
 
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
-msgstr "Duplicar camada"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "Ocultar automaticamente"
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
-msgstr "Unir a camada inferior"
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "Acoplável"
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
-msgstr "Importar do ficheiro..."
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "Flutuante"
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
-msgstr "Virar horizontalmente"
+#: Pinta/Options.cs:486
+msgid "OptionName"
+msgstr "NomeDaOpção"
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
-msgstr "Virar verticalmente"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "Por percentagem:"
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
-msgstr "Rodar / Ampliar"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
+msgstr "Por tamanho absoluto:"
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
-msgstr "Mover camada para cima"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "Largura:"
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
-msgstr "Mover camada para baixo"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "pixeis"
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
-msgstr "Abrir imagem"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "Altura:"
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
-msgstr "Importar do ficheiro"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "Manter a proporção"
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
-msgstr "Novo..."
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "Âncora:"
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
-msgstr "Abrir..."
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "Tamanho da nova imagem          "
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
-msgstr "Abrir recente"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Propriedades da camada"
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
-msgstr "Fechar"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "Nome:"
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
-msgstr "Gravar"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "Visível"
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
-msgstr "Gravar como..."
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "Opacidade:"
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
-msgstr "Imprimir"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr "..."
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr "Sair"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "_Ficheiro"
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
-msgstr "Novo"
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "_Editar"
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
-msgstr "Abrir"
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "_Ver"
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
-msgstr "Plano de fundo"
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "_Imagem"
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
-msgstr "Abrir imagem"
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "_Camadas"
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
-msgstr "Não foi possível abrir o ficheiro: {0}"
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "_Ajustes"
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
-msgstr "Erro"
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "Efeito_s"
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
-msgstr "Gravar as alterações feitas em \"{0}\" antes de abrir outra imagem?"
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "_Janela"
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
-msgstr "Imagens"
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
+msgstr "Janelas de ferramentas"
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
-msgstr "Todos os ficheiros"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "A_juda"
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
-msgstr "Gravar imagem"
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "Ferramentas"
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
-msgstr "{0} imagem ({1})"
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Documentos"
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
-msgstr "Imagem OpenRaster (*.ora)"
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "Camadas"
 
-#: Pinta.Core/Actions/FileActions.cs:392
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "Histórico"
+
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
+msgstr "Capturar uma imagem do ecrã"
+
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
+msgstr "Atraso antes da captura do ecrã (segundos):"
+
+#: Pinta/DialogHandlers.cs:139
 #, csharp-format
 msgid "Save the changes to image \"{0}\" before closing?"
 msgstr "Gravar alterações feitas em \"{0}\" antes de fechar?"
 
-#: Pinta.Core/Actions/FileActions.cs:402
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "Se não gravar o trabalho, todas as alterações serão perdidas."
+
+#: Pinta/DialogHandlers.cs:147
 msgid "Close without saving"
 msgstr "Fechar sem gravar"
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
-msgstr "Recortar selecção"
-
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
-msgstr "Reajustar..."
-
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
-msgstr "Tamanho da tela..."
-
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
-msgstr "Rodar 90° no sentido horário"
-
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
-msgstr "Rodar 90° sentido anti-horário"
-
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
-msgstr "Rodar 180°"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
+msgstr "Redimensionar paleta"
 
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
-msgstr "Achatar"
-
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr "Desfazer"
-
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
-msgstr "Refazer"
-
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
-msgstr "Cortar"
-
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
-msgstr "Copiar"
-
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
-msgstr "Colar"
-
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
-msgstr "Colar numa nova camada"
-
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
-msgstr "Colar numa nova imagem"
-
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
-msgstr "Apagar selecção"
-
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
-msgstr "Preencher selecção"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
+msgstr "Novo tamanho da paleta:"
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
-msgstr "Inverter selecção"
-
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
-msgstr "Seleccionar tudo"
-
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
-msgstr "Deseleccionar"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "Opacidade da camada"
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
-msgstr "Ampliar"
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "Renomear camada"
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
-msgstr "Reduzir"
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "Ocultar camada"
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
-msgstr "Akustar à janela"
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "Mostrar camada"
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
-msgstr "Ajustar à selecção"
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
+msgstr "Imagens"
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
-msgstr "Tamanho real"
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
+msgstr "A colagem foi cancelada"
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
-msgstr "Grelha de pixeis"
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
+msgstr "A área de transferência não contém uma imagem"
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
-msgstr "Réguas"
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
+msgstr "Gravar imagem"
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
-msgstr "Pixeis"
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
+msgstr "O Pinta não suporta gravação de imagens neste formato de ficheiro."
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
-msgstr "Polegadas"
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
+msgstr "Já existe um ficheiro com o nome \"{0}\". Deseja substituí-lo?"
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
-msgstr "Centímetros"
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
+msgstr ""
+"O ficheiro já existe em \"{1}\". A sua substituição irá sobrepor o seu "
+"conteúdo."
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
-msgstr "Ecrã completo"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr "número de processos a utilizar na renderização"
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
-msgstr "Janela"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Versão"
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
-msgstr "Página web Pinta"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Licença"
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
-msgstr "Reportar um erro"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "Disponibilizado nos termos da licença MIT X11."
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
-msgstr "Traduzir esta aplicação"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "Direitos de autor"
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
-msgstr "Geral"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "pelos contribuidores Pinta"
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
-msgstr "Ferramenta"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "Título"
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
-msgstr "Tecla de atalho"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "Caminho"
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
-msgstr "Suavização"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
+msgstr "Qualidade JPEG"
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
-msgstr "Mistura normal / sobrepor mistura"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
+msgstr "Qualidade: "
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
-msgstr "Inverter imagem na horizontal"
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "Contribuidores para esta versão"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
-msgstr "Inverter imagem na vertical"
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "Contribuidores anteriores"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
-msgstr "Inverter camada na horizontal"
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Afer https://launchpad.net/~agosfernandes\n"
+"  Duarte Cunha Leão https://launchpad.net/~duarte-leao\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst\n"
+"  Ricardo Conde https://launchpad.net/~turotulco\n"
+"  Ricardo Perry https://launchpad.net/~pirolocito\n"
+"  Sérgio Marques https://launchpad.net/~sergio+marques\n"
+"  Sérgio Marques https://launchpad.net/~smarquespt"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
-msgstr "Inverter camada na vertical"
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Traduzido por:"
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
-msgstr "Finalizar pixeis"
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "Inspirado no Paint.NET:"
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
-msgstr "Efeito de renderização"
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "Utiliza alguns ícones de:"
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
-msgstr "copiar"
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "Sobre o Pinta"
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
-msgstr "Camada"
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "Informações sobre a versão"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1384,7 +1538,7 @@ msgstr "Tamanho da ponta do lápis"
 
 #: CloudsEffect dialog
 msgid "Percentile"
-msgstr "Percentagem"
+msgstr "Percentil"
 
 #: RadialBlurEffect dialog
 msgid "Power"
@@ -1447,3 +1601,47 @@ msgid "Hint: For best results, first use selection tools to select each eye."
 msgstr ""
 "Dica: Para melhores resultados, utilize as ferramentas de selecção para "
 "escolher cada olho."
+
+#~ msgid "%"
+#~ msgstr "%"
+
+#~ msgid "X :"
+#~ msgstr "X:"
+
+#~ msgid "Y :"
+#~ msgstr "Y:"
+
+#~ msgid "Tip : Right-click to remove control points."
+#~ msgstr "Dica: Botão direito do rato para remover pontos de controle"
+
+#~ msgid "OpenRaster image (*.ora)"
+#~ msgstr "Imagem OpenRaster (*.ora)"
+
+#~ msgid "Antialiasing"
+#~ msgstr "Suavização"
+
+#~ msgid "Normal blending / Overwrite blending"
+#~ msgstr "Mistura normal / sobrepor mistura"
+
+#~ msgid "Show Pad"
+#~ msgstr "Mostrar painel"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr "Guardar as alterações em \"{0}\" antes de criar uma nova?"
+
+#~ msgid "Continue without saving"
+#~ msgstr "Continuar sem gravar"
+
+#~ msgid "Fill mode"
+#~ msgstr "Preenchimento"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before opening a new image?"
+#~ msgstr "Gravar as alterações feitas em \"{0}\" antes de abrir outra imagem?"
+
+#~ msgid "X:"
+#~ msgstr "X:"
+
+#~ msgid "Y:"
+#~ msgstr "Y:"
diff --git a/po/messages-pt_BR.po b/po/messages-pt_BR.po
index 2b90b31..b8b1bf7 100644
--- a/po/messages-pt_BR.po
+++ b/po/messages-pt_BR.po
@@ -7,564 +7,747 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-10-20 00:36+0000\n"
-"Last-Translator: Luiz Fernando Palacios <Unknown>\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2011-01-10 04:42+0000\n"
+"Last-Translator: Fitoschido <Unknown>\n"
 "Language-Team: Brazilian Portuguese <pt_BR at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "Sobre"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "Janela"
 
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "Pincel"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "Camada"
 
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "_Arquivo"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "copiar"
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "_Editar"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "Redimensionar Tela"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "_Exibir"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr "Ferramenta"
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "_Imagem"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr "Tecla de atalho"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "_Camadas"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr "Misturando Norma"
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "_Ajustes"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr "Sobrescrever"
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "Efeito_s"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr "Suavização ligada"
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "_Janela"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr "Suavização desligada"
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "_Ajuda"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "Mudar tamanho da  imagem"
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
-msgstr ""
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr "Finalizar Pontos"
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "Ferramentas"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr "Girar 180°"
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "Paleta"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr "Virar Imagem Horizontalmente"
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Documentos"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr "Virar Imagem Verticalmente"
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "Camadas"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr "Girar 90° Sentido Horário"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "Histórico"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr "Girar 90° Sentido Anti-horário"
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "Ocultar"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr "Virar Camada Horizontalmente"
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "Encaixável"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr "Virar Camada Verticalmente"
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "Flutuante"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
+msgstr "Geral"
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "Ocultar automaticamente"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr "{0} imagem ({1})"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "Acoplar"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr "Recortar para Seleção"
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "Contribuidores para esta versão"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr "Redimensionar"
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "Outros Contribuidores"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr "Tamanho do quadro..."
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
-msgstr ""
-"Launchpad Contributions:\n"
-"  Christian Marques https://launchpad.net/~csmchristian\n"
-"  Eliton Miranda da Silva https://launchpad.net/~tudoembrulhado\n"
-"  Gervásio da Silva Antônio https://launchpad.net/~gervasioantonio\n"
-"  Igor Belchior https://launchpad.net/~igorbelchior86\n"
-"  Jonathan Pobst https://launchpad.net/~jpobst\n"
-"  José Humberto Melo https://launchpad.net/~josehumberto-melo\n"
-"  Kristian Gomes https://launchpad.net/~kristiang\n"
-"  Luiz Fernando Palacios https://launchpad.net/~sapo-mano\n"
-"  Paulo N. Júnior https://launchpad.net/~naves-junior\n"
-"  Vitor da Silva Gonçalves https://launchpad.net/~vitorsgoncalves"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr "Inverter na Horizontal"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Traduzido por:"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr "Inverter na Vertical"
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "Inspirado no trabalho do Paint.NET"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr "Achatar"
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "Usando alguns ícones de:"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr "Aproximar"
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "Sobre o Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr "Afastar"
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "Informações da versão"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr "Ampliar para Janela"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "Título"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr "Ampliar para Seleção"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Versão"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr "Tamanho real"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "Caminho"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
+msgstr "Barra de ferramentas"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Licença"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr "Grade de Pontos"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "Publicado sob a licença MIT X11"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr "Réguas"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "Direitos autorais"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr "Pontos"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "por contribuidores Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr "Polegadas"
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
-msgstr "Número de processos usados para renderizar"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr "Centímetros"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "Mudar tamanho da  imagem"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr "Tela cheia"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "Por percentagem"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr "Unidades de medida"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
-msgstr "Por tamanho absoluto"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr "Adicionar Nova Camada"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "Largura:"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr "Remover Camada"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "pixels"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr "Duplicar Camada"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "Altura:"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr "Unir a camada inferior"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "Manter a taxa de proporção"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr "Importar do arquivo..."
+
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr "Girar / Ampliar"
+
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr "Mover camada para cima"
+
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr "Mover camada para baixo"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
 #: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "Propriedades da Camada"
+msgid "Layer Properties..."
+msgstr "Propiedades da Camada..."
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "Nome:"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
+msgstr "Abrir Arquivo de Imagem"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "Visível"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "Opacidade:"
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr "Salvar tudo"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "Redimensionar Tela"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr "Fechar tudo"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "Âncora:"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr "Pinta Website"
+
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
+msgstr "Reportar um Bug"
+
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
+msgstr "Traduzir este Aplicativo"
+
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "Sobre"
+
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr "Novo..."
+
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
+msgstr "Nova captura de tela"
+
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
+msgstr "Abrir..."
+
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr "Abrir Recente"
+
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
+msgstr "Fechar"
+
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
+msgstr "Salvar"
+
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
+msgstr "Salvar Como..."
 
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
+msgstr "Imprimir"
+
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
+msgstr "Fechar"
+
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr "Novo"
+
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
+msgstr "Abrir"
+
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
+msgstr "Desfazer"
+
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
+msgstr "Repetir"
+
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
+msgstr "Recortar"
+
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
+msgstr "Copiar"
+
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
+msgstr "Colar"
+
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
+msgstr "Colar em Nova Camada"
+
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
+msgstr "Colar em Nova Imagem"
+
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
+msgstr "Apagar Seleção"
+
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
+msgstr "Preencher Seleção"
+
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
+msgstr "Inverter Seleção"
+
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
+msgstr "Selecionar tudo"
+
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
+msgstr "Desmarcar"
+
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
+msgstr "Retornar ao padrão"
+
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
+msgstr "Definir número de cores"
+
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "Paleta"
+
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
+msgstr "Abrir arquivo de paleta"
+
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
+msgstr "Arquivo de paleta (*.txt, *.gpl)"
+
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr "Todos os arquivos"
+
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
+msgid ""
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
+msgstr ""
+"Não foi possível abrir arquivo de paleta: {0}.\n"
+"Por favor, verifique se você está tentando abrir um GIMP válido ou paleta "
+"Paint.NET."
+
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
+msgstr "Erro"
+
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
+msgstr "Salvar arquivo de paleta"
+
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
+msgstr "Paleta Paint.NET (*.txt)"
+
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
+msgstr "Paleta GIMP (*.gpl)"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr "Imagem não salva {0}"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
+msgstr "Plano de fundo"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
 msgid "New Image"
 msgstr "Nova Imagem"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "Tamanho da nova imagem          "
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
+msgstr "Abrir Imagem"
 
-#: Pinta/DialogHandlers.cs:57
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
 #, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
-msgstr "Salvar mudanças na imagem \"{0}\" antes de criar uma nova?"
+msgid "Could not open file: {0}"
+msgstr "Não foi possível abrir o arquivo: {0}"
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr ""
-"Se você não salvar, todas as alterações serão perdidas permanentemente."
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
+msgstr "Efeito de Renderização"
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "Continuar sem salvar"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
+msgstr "Posterizar"
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "Opacidade da Camada"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
+msgstr "Inverter cores"
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "Renomear Camada"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
+msgstr "Níveis"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "Ocultar Camada"
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
+msgstr "Preto e Branco"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "Exibir Camada"
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
+msgstr "Níveis Automáticos"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
-msgstr "etiqueta1"
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
+msgstr "Matiz / Saturação"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "etiqueta"
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
+msgstr "Brilho / Contraste"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
-msgstr "Ruído Aleatório"
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
+msgstr "Sépia"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
-msgstr "Replantar"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
+msgstr "Curvas"
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
-msgstr "Seletor de Cores"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
+msgstr "Mapa de transferência"
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
-msgstr ""
-"Botão esquerdo para definir cor primária. Botão direito para definir cor "
-"secundária."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
+msgstr "RGB"
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
-msgstr "Pós-seleção"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
+msgstr "Luminosidade"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
-msgstr "Não trocar de ferramenta"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
+msgstr "(256, 256)"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
-msgstr "Trocar para ferramenta anterior"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
+msgstr "Vermelho  "
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
-msgstr "Trocar para ferramenta Lápis"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
+msgstr "Verde"
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
-msgstr "Lápis"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
+msgstr "Azul "
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
-msgstr "Seletor Laço"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
+msgstr "Restaurar"
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
-msgstr "Clique e arraste para desenhar a linha da área a ser selecionada"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
+msgstr "Dica: Dê um clique direito para remover os pontos de controle."
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
-msgstr "Ampliar"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
+msgstr "Ajuste de Níveis"
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
-msgstr ""
-"Botão esquerdo para aproximar. Botão direito para afastar. Clique e arraste "
-"para aproximar a seleção"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
+msgstr "Histograma de Entrada"
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
-msgstr "Largura do pincel"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
+msgstr "Entrada"
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
-msgstr "Diminuir tamanho do pincel"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
+msgstr "Saída"
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
-msgstr "Aumentar tamanho do pincel"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
+msgstr "Histograma de Saída"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
-msgstr "Formato do contorno"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
+msgstr "Automático"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
-msgstr "Formato do preenchimento"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
+msgstr "Vermelho"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
-msgstr "Formato do contorno e preenchimento"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
+msgstr "Azul"
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
-msgstr "Mover pontos selecionados"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
+msgstr "Conectado"
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
-msgstr "Arraste a seleção para mover o conteúdo"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
+msgstr "Desenho a Lápis"
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
-msgstr "Posicionar"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
+msgstr "Artístico"
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
-msgstr "Clique e arraste para navegar na imagem"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
+msgstr "Desfocar"
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
-msgstr ""
-"Clique esquerdo para desenho livre, um ponto de largura com linhas de cores "
-"primárias, clique direito para usar a cor secundária."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
+msgstr "Borrar"
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
-msgstr "Seleção Elíptica"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
+msgstr "Inchar"
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
-msgstr ""
-"Clique e arraste para desenhar a seleção elíptica. Pressione shift para "
-"restringir o círculo."
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
+msgstr "Distorcer"
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
-msgstr "Gradiente"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
+msgstr "Fractal Mandelbrot"
 
-#: Pinta.Tools/GradientTool.cs:60
-msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
-msgstr ""
-"Clique e arraste para desenhar o gradiente da cor primária para a "
-"secundária. Clique com botão direito para reverter."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
+msgstr "Renderizar"
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
-msgstr "Gradiente Linear"
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
+msgstr "Mediano"
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
-msgstr "Gradiente Linear Refletido"
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
+msgstr "Ruído"
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
-msgstr "Gradiente Linear Diamante"
+#: Pinta.Effects/Effects/PixelateEffect.cs:26
+msgid "Pixelate"
+msgstr "Pincelada"
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
-msgstr "Gradiente Radial"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
+msgstr "Nitidez"
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
-msgstr "Gradiente Cônico"
+#: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
+msgid "Photo"
+msgstr "Foto"
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
-msgstr "Modo de Cor"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
+msgstr "Pintura a Óleo"
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
-msgstr "Modo de Transparência"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
+msgstr "Borrão gaussiano"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
-msgstr "Retângulo Arredondado"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
+msgstr "Brilho"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
-msgstr ""
-"Clique e arraste para desenhar um retângulo arredondado (botão direito para "
-"cor secundária). Pressione o shift para restringir"
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
+msgstr "Retrato Suavizado"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
-msgstr "Raio"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
+msgstr "Reflexo de azulejo"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
-msgstr "Diminuir o raio do canto do retângulo"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr "Remoção de Olhos Vermelhos"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
-msgstr "Aumentar o raio do canto do retângulo"
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
+msgstr "Vidro Fosco"
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
-msgstr ""
-"Clique com o botão esquerdo para desenhar com a cor primária, clique com o "
-"botão direito para desenhar com a cor secundária."
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
+msgid "Edge Detect"
+msgstr "Detecção de borda"
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
-msgstr "Seleção Retangular"
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
+#: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
+msgid "Stylize"
+msgstr "Estilizar"
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
-msgstr ""
-"Clique e arraste para desenhar uma seleção retangular. Pressione shift para "
-"restringir a um quadrado."
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
+msgstr "Fractal Julia"
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
-msgstr "Balde de Tinta"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr "Borrar por Movimento"
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
-msgstr ""
-"Clique com o botão esquerdo para preencher uma região com a cor primária, "
-"clique com o botão direito para preencher com a cor secundária."
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr "Realçar"
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
-msgstr "Ferramenta Carimbo"
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
+msgstr "Desenho a tinta"
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
-msgstr "Mover Seleção"
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
+msgid "Zoom Blur"
+msgstr "Borrão por ampliação"
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
-msgstr "Arraste a seleção para mover suas bordas."
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
+msgid "Polar Inversion"
+msgstr "Inversão Polar"
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
-msgstr "Forma livre"
+#: Pinta.Effects/Effects/CloudsEffect.cs:30
+msgid "Clouds"
+msgstr "Nuvens"
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
-msgstr "Modo preenchimento"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
+msgstr "Fragmento"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
-msgstr "Contíguo"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr "Reduzir ruído"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
-msgstr "Global"
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr "Borrão radial"
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
-msgstr "Tolerância"
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
+msgstr "Torcer"
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
-msgstr "Elipse"
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
+msgid "Add Noise"
+msgstr "Adicionar Ruído"
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
-msgstr ""
-"Clique e arraste para desenhar uma elipse (clique com botão direito para cor "
-"secundária). Pressione shift para restringir a um círculo."
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
+msgstr "Relevo"
+
+#: Pinta.Effects/Effects/OutlineEffect.cs:29
+msgid "Outline"
+msgstr "Contorno"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
+msgstr "Ruído Aleatório"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
+msgstr "Replantar"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "etiqueta1"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "etiqueta"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
+msgstr "Escolha a cor primária"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
+msgstr "Escolha a cor secundária"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr "Escolha o padrão de cores"
+
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
+msgstr "Posicionar"
+
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
+msgstr "Clique e arraste para navegar na imagem"
 
 #: Pinta.Tools/TextTool.cs:37
 msgid "Text"
@@ -578,42 +761,34 @@ msgstr ""
 "Clique com o botão esquerdo para posicionar o cursor, então digite o texto "
 "desejado. A cor do texto é a cor primária."
 
-#: Pinta.Tools/TextTool.cs:131
+#: Pinta.Tools/TextTool.cs:144
 msgid "Font"
 msgstr "Fonte"
 
-#: Pinta.Tools/TextTool.cs:186
+#: Pinta.Tools/TextTool.cs:205
 msgid "Bold"
 msgstr "Negrito"
 
-#: Pinta.Tools/TextTool.cs:193
+#: Pinta.Tools/TextTool.cs:212
 msgid "Italic"
 msgstr "Itálico"
 
-#: Pinta.Tools/TextTool.cs:201
+#: Pinta.Tools/TextTool.cs:220
 msgid "Underline"
 msgstr "Sublinhado"
 
-#: Pinta.Tools/TextTool.cs:210
+#: Pinta.Tools/TextTool.cs:229
 msgid "Left Align"
 msgstr "Alinhar à esquerda"
 
-#: Pinta.Tools/TextTool.cs:219
+#: Pinta.Tools/TextTool.cs:238
 msgid "Center Align"
 msgstr "Alinhar Centralizado"
 
-#: Pinta.Tools/TextTool.cs:227
+#: Pinta.Tools/TextTool.cs:246
 msgid "Right Align"
 msgstr "Alinhar à direita"
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
-msgstr "Varinha Mágica de Seleção"
-
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
-msgstr "Clique para selecionar a região de cor similar."
-
 #: Pinta.Tools/RectangleTool.cs:38
 msgid "Rectangle"
 msgstr "Retângulo"
@@ -626,657 +801,637 @@ msgstr ""
 "Clique e arraste para desenhar um retângulo (clique com o botão direito para "
 "cor secundária). Pressione shift para restringir a um quadrado."
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
-msgstr "Linha"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
+msgstr "Forma livre"
 
-#: Pinta.Tools/LineCurveTool.cs:44
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
 msgid ""
-"Left click to draw with primary color, right click for secondary color."
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
 msgstr ""
 "Clique com o botão esquerdo para desenhar com a cor primária, clique com o "
-"botão direito para cor secundária."
+"botão direito para desenhar com a cor secundária."
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
-msgstr "Recolorir"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
+msgstr "Preencha o Estilo"
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
-msgstr ""
-"Clique com o botão esquerdo para substituir a cor secundária pela cor "
-"primária."
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
+msgstr "Formato do contorno"
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
-msgstr "Borracha"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
+msgstr "Formato do preenchimento"
 
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
-msgstr "Clique e arraste para apagar uma parte da imagem."
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
+msgstr "Formato do contorno e preenchimento"
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:26
-msgid "Pixelate"
-msgstr "Pincelada"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
+msgstr "Mode transbordo"
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr "Distorcer"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
+msgstr "Contíguo"
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
-msgstr "Remoção de Olhos Vermelhos"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
+msgstr "Global"
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
-#: Pinta.Effects/Effects/SharpenEffect.cs:34
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
-msgid "Photo"
-msgstr "Foto"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
+msgstr "Tolerância"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
-msgstr "Borrar por Movimento"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
+msgstr "Linha"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
-msgstr "Borrar"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
+msgstr ""
+"Clique com o botão esquerdo para desenhar com a cor primária, clique com o "
+"botão direito para cor secundária."
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
-msgstr "Desenho a tinta"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
+msgstr "Mover Seleção"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
-msgstr "Artístico"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
+msgstr "Arraste a seleção para mover suas bordas."
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
-msgstr "Borrão radial"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
+msgstr "Seleção Retangular"
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
-msgstr "Desfocar"
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
+msgstr ""
+"Clique e arraste para desenhar uma seleção retangular. Pressione shift para "
+"restringir a um quadrado."
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
-msgid "Edge Detect"
-msgstr "Detecção de Borda"
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
+msgstr "Varinha Mágica de Seleção"
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
-#: Pinta.Effects/Effects/EmbossEffect.cs:34
-msgid "Stylize"
-msgstr "Estilizar"
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
+msgstr "Clique para selecionar a região de cor similar."
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
-msgstr "Vidro Fosco"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
+msgstr "Seleção Elíptica"
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
-msgstr "Pintura a Óleo"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
+msgstr ""
+"Clique e arraste para desenhar a seleção elíptica. Pressione shift para "
+"restringir o círculo."
 
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
-msgid "Zoom Blur"
-msgstr "Borrão por ampliação"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
+msgstr "Seletor Laço"
 
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
-msgid "Polar Inversion"
-msgstr "Inversão Polar"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
+msgstr "Clique e arraste para desenhar a linha da área a ser selecionada"
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:30
-msgid "Clouds"
-msgstr "Nuvens"
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
+msgstr "Balde de Tinta"
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr "Renderizar"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
+msgstr ""
+"Clique com o botão esquerdo para preencher uma região com a cor primária, "
+"clique com o botão direito para preencher com a cor secundária."
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
-msgstr "Brilho"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
+msgstr "Gradiente"
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
-msgid "Add Noise"
-msgstr "Adicionar Ruído"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
+msgstr ""
+"Clique e arraste para desenhar o gradiente da cor primária para a "
+"secundária. Clique com botão direito para reverter."
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
-msgstr "Ruído"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
+msgstr "Gradiente Linear"
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
-msgstr "Fragmento"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
+msgstr "Gradiente Linear Refletido"
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
-msgstr "Nitidez"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
+msgstr "Gradiente Linear Diamante"
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
-msgstr "Desenho a Lápis"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
+msgstr "Gradiente Radial"
 
-#: Pinta.Effects/Effects/OutlineEffect.cs:29
-msgid "Outline"
-msgstr "Contorno"
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
+msgstr "Gradiente Cônico"
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
-msgstr "Borrão gaussiano"
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
+msgstr "Modo"
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
-msgstr "Reflexo de azulejo"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
+msgstr "Modo de Cor"
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
-msgstr "Relevo"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
+msgstr "Modo de Transparência"
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
-msgstr "Realçar"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
+msgstr "Largura do pincel"
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
-msgstr "Fractal Mandelbrot"
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
+msgstr "Diminuir tamanho do pincel"
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
-msgstr "Inchar"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
+msgstr "Aumentar tamanho do pincel"
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
-msgstr "Torcer"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "Pincel"
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
-msgstr "Retrato Suavizado"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
+msgstr "Tipo"
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
-msgstr "Reduzir ruído"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
+msgstr "Recolorir"
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
-msgstr "Fractal Julia"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
+msgstr ""
+"Clique com o botão esquerdo para substituir a cor secundária pela cor "
+"primária."
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
-msgstr "Mediano"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
+msgstr "Normal"
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
-msgstr "Curvas"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
+msgstr "Círculos"
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
-msgstr "Níveis"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
+msgstr "Quadrados"
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
-msgstr "Níveis Automáticos"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
+msgstr "Espátula"
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
-msgstr "Inverter cores"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
+msgstr "Grade"
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
-msgstr "Posterizar"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
+msgstr "Elipse"
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
-msgstr "Preto e Branco"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
+msgstr ""
+"Clique e arraste para desenhar uma elipse (clique com botão direito para cor "
+"secundária). Pressione shift para restringir a um círculo."
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
-msgstr "Matiz / Saturação"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
+msgstr "Ferramenta Carimbo"
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
-msgstr "Sépia"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
+msgstr ""
+"Ctrl+Botão Direito do mouse para ajustar a origem, botão direito para pintar."
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
-msgstr "Brilho / Contraste"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "Ampliar"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
-msgstr "Ajuste de Níveis"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
+msgstr ""
+"Botão esquerdo para aproximar. Botão direito para afastar. Clique e arraste "
+"para aproximar a seleção"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
-msgstr "Histograma de Entrada"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
+msgstr "Retângulo Arredondado"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
-msgstr "Entrada"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
+msgstr ""
+"Clique e arraste para desenhar um retângulo arredondado (botão direito para "
+"cor secundária). Pressione o shift para restringir"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
-msgstr "Saída"
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
+msgstr "Raio"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
-msgstr "Histograma de Saída"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
+msgstr "Diminuir o raio do canto do retângulo"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
-msgstr "Automático"
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
+msgstr "Aumentar o raio do canto do retângulo"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
-msgstr "Restaurar"
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "Seletor de Cores"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
-msgstr "Vermelho"
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
+msgstr ""
+"Botão esquerdo para definir cor primária. Botão direito para definir cor "
+"secundária."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
-msgstr "Verde"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr "Pós-seleção"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
-msgstr "Azul"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
+msgstr "Não trocar de ferramenta"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
-msgstr "Conectado"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr "Trocar para ferramenta anterior"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
-msgstr "Mapa de transferência"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
+msgstr "Trocar para ferramenta Lápis"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
-msgstr "RGB"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "Lápis"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
-msgstr "Luminosidade"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
+msgstr "Borracha"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
-msgstr "(256, 256)"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
+msgstr "Clique e arraste para apagar uma parte da imagem."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
-msgstr "Vermelho  "
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
+msgstr ""
+"Clique esquerdo para desenho livre, um ponto de largura com linhas de cores "
+"primárias, clique direito para usar a cor secundária."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
-msgstr "Azul "
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
+msgstr "Mover pontos selecionados"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
-msgstr "Dica: Dê um clique direito para remover os pontos de controle."
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
+msgstr "Arraste a seleção para mover o conteúdo"
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
-msgstr "Adicionar Nova Camada"
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "Ocultar"
 
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
-msgstr "Remover Camada"
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "Acoplar"
 
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
-msgstr "Duplicar Camada"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "Ocultar automaticamente"
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
-msgstr "Unir a camada inferior"
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "Encaixável"
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
-msgstr "Importar do arquivo..."
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "Flutuante"
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
-msgstr "Inverter na Horizontal"
+#: Pinta/Options.cs:486
+msgid "OptionName"
+msgstr "Nome da Opção"
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
-msgstr "Inverter na Vertical"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "Por percentagem"
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
-msgstr "Girar / Ampliar"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
+msgstr "Por tamanho absoluto"
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
-msgstr "Mover camada para cima"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "Largura:"
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
-msgstr "Mover camada para baixo"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "pixels"
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
-msgstr "Abrir Arquivo de Imagem"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "Altura:"
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
-msgstr "Importar do arquivo"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "Manter a taxa de proporção"
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
-msgstr "Novo..."
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "Âncora:"
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
-msgstr "Abrir..."
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "Tamanho da nova imagem          "
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
-msgstr "Abrir Recente"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Propriedades da Camada"
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
-msgstr "Fechar"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "Nome:"
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
-msgstr "Salvar"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "Visível"
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
-msgstr "Salvar Como..."
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "Opacidade:"
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
-msgstr "Imprimir"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr "..."
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr "Fechar"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "_Arquivo"
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
-msgstr "Novo"
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "_Editar"
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
-msgstr "Abrir"
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "_Exibir"
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
-msgstr "Plano de fundo"
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "_Imagem"
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
-msgstr "Abrir Imagem"
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "_Camadas"
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
-msgstr "Não foi possível abrir o arquivo: {0}"
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "_Ajustes"
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
-msgstr "Erro"
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "Efeito_s"
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
-msgstr "Salvar alterações na imagem \"{0}\" antes de abrir uma nova imagem?"
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "_Janela"
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
-msgstr "Arquivos de Imagem"
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
+msgstr "Janela de Ferramentas"
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
-msgstr "Todos os arquivos"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "_Ajuda"
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
-msgstr "Salvar Arquivo de Imagem"
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "Ferramentas"
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
-msgstr "{0} imagem ({1})"
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Documentos"
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
-msgstr "Imagem OpenRaster (*.ora)"
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "Camadas"
 
-#: Pinta.Core/Actions/FileActions.cs:392
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "Histórico"
+
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
+msgstr "Capturar imagem da tela"
+
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
+msgstr "Atraso antes de capturar a imagem da tela (segundos):"
+
+#: Pinta/DialogHandlers.cs:139
 #, csharp-format
 msgid "Save the changes to image \"{0}\" before closing?"
 msgstr "Salvar mudanças na imagem \"{0}\" antes de fechar?"
 
-#: Pinta.Core/Actions/FileActions.cs:402
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr ""
+"Se você não salvar, todas as alterações serão perdidas permanentemente."
+
+#: Pinta/DialogHandlers.cs:147
 msgid "Close without saving"
 msgstr "Fechar sem salvar"
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
-msgstr "Recortar para Seleção"
-
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
-msgstr "Redimensionar"
-
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
-msgstr "Tamanho do quadro..."
-
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
-msgstr "Girar 90° Sentido Horário"
-
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
-msgstr "Girar 90° Sentido Anti-horário"
-
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
-msgstr "Girar 180°"
-
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
-msgstr "Achatar"
-
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr "Desfazer"
-
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
-msgstr "Repetir"
-
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
-msgstr "Recortar"
-
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
-msgstr "Copiar"
-
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
-msgstr "Colar"
-
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
-msgstr "Colar em Nova Camada"
-
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
-msgstr "Colar em Nova Imagem"
-
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
-msgstr "Apagar Seleção"
-
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
-msgstr "Preencher Seleção"
-
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
-msgstr "Inverter Seleção"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
+msgstr "Ajustar tamanho do pálete"
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
-msgstr "Selecionar tudo"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
+msgstr "Novo tamanho do pálete"
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
-msgstr "Desmarcar"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "Opacidade da Camada"
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
-msgstr "Aproximar"
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "Renomear Camada"
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
-msgstr "Afastar"
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "Ocultar Camada"
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
-msgstr "Ampliar para Janela"
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "Exibir Camada"
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
-msgstr "Ampliar para Seleção"
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
+msgstr "Arquivos de Imagem"
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
-msgstr "Tamanho real"
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
+msgstr "Colar cancelado"
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
-msgstr "Grade de Pontos"
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
+msgstr "A área de transferência não possui uma imagem"
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
-msgstr "Réguas"
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
+msgstr "Salvar Arquivo de Imagem"
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
-msgstr "Pontos"
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
+msgstr "Pinta não tem suporte para salvar a imagem neste formato."
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
-msgstr "Polegadas"
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
+msgstr "Um arquivo chamado \"{0}\" já existe. Você deseja substitui-lo?"
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
-msgstr "Centímetros"
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
+msgstr ""
+"O arquivo já existe em \"{1}\". Subsituindo-o sobrescreverá seu conteúdo."
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
-msgstr "Tela cheia"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr "Número de processos usados para renderizar"
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
-msgstr "Janela"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Versão"
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
-msgstr "Pinta Website"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Licença"
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
-msgstr "Reportar um Bug"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "Publicado sob a licença MIT X11"
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
-msgstr "Traduzir este Aplicativo"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "Direitos autorais"
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
-msgstr "Geral"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "por contribuidores Pinta"
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
-msgstr "Ferramenta"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "Título"
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
-msgstr "Tecla de atalho"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "Caminho"
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
-msgstr "Suavização"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
+msgstr "Qualidade do JPEG"
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
-msgstr "Combinação automática / Substituir combinação"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
+msgstr "Qualidade: "
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
-msgstr "Virar Imagem Horizontalmente"
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "Contribuidores para esta versão"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
-msgstr "Virar Imagem Verticalmente"
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "Outros Contribuidores"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
-msgstr "Virar Camada Horizontalmente"
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Celso H. L. S. Junior https://launchpad.net/~celsojunior\n"
+"  Christian Marques https://launchpad.net/~csmchristian\n"
+"  Eliton Miranda da Silva https://launchpad.net/~tudoembrulhado\n"
+"  Felipe Amaral https://launchpad.net/~felpi-flick\n"
+"  Fitoschido https://launchpad.net/~fitoschido\n"
+"  Gervásio da Silva Antônio https://launchpad.net/~gervasioantonio\n"
+"  Igor Belchior https://launchpad.net/~igorbelchior86\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst\n"
+"  José Humberto Melo https://launchpad.net/~josehumberto-melo\n"
+"  Julius Miranda https://launchpad.net/~juliusmiranda\n"
+"  Kristian Gomes https://launchpad.net/~kristiang\n"
+"  Luiz Fernando Palacios https://launchpad.net/~sapo-mano\n"
+"  Luiz da Costa Batista Silva https://launchpad.net/~luiz-rsk\n"
+"  Paulo N. Júnior https://launchpad.net/~naves-junior\n"
+"  Vitor da Silva Gonçalves https://launchpad.net/~vitorsgoncalves"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
-msgstr "Virar Camada Verticalmente"
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Traduzido por:"
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
-msgstr "Finalizar Pontos"
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "Inspirado no trabalho do Paint.NET"
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
-msgstr "Efeito de Renderização"
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "Usando alguns ícones de:"
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
-msgstr "copiar"
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "Sobre o Pinta"
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
-msgstr "Camada"
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "Informações da versão"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1461,14 +1616,43 @@ msgstr ""
 #~ msgid "%"
 #~ msgstr "%"
 
+#~ msgid "Continue without saving"
+#~ msgstr "Continuar sem salvar"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr "Salvar mudanças na imagem \"{0}\" antes de criar uma nova?"
+
 #~ msgid "X :"
 #~ msgstr "X:"
 
 #~ msgid "Y :"
 #~ msgstr "Y:"
 
+#~ msgid "Fill mode"
+#~ msgstr "Modo preenchimento"
+
+#~ msgid "OpenRaster image (*.ora)"
+#~ msgstr "Imagem OpenRaster (*.ora)"
+
+#~ msgid "Antialiasing"
+#~ msgstr "Suavização"
+
+#~ msgid "Normal blending / Overwrite blending"
+#~ msgstr "Combinação automática / Substituir combinação"
+
 #~ msgid "Show Pad"
 #~ msgstr "Exibir bloco"
 
 #~ msgid "Tip : Right-click to remove control points."
 #~ msgstr "Dica: Clique com o botão direito para remover pontos de controle."
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before opening a new image?"
+#~ msgstr "Salvar alterações na imagem \"{0}\" antes de abrir uma nova imagem?"
+
+#~ msgid "X:"
+#~ msgstr "X:"
+
+#~ msgid "Y:"
+#~ msgstr "Y:"
diff --git a/po/messages-ro.po b/po/messages-ro.po
index 3fa35c4..d6fe738 100644
--- a/po/messages-ro.po
+++ b/po/messages-ro.po
@@ -7,670 +7,638 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-09-07 11:13+0000\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2010-10-27 01:57+0000\n"
 "Last-Translator: Jonathan Pobst <Unknown>\n"
 "Language-Team: Romanian <ro at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "Despre aplicaţie"
-
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "Pensulă de pictură"
-
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "_Fișier"
-
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "_Editare"
-
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "_Vizualizare"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr ""
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "_Imagine"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr ""
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "_Straturi"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr ""
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "Ajustări"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr ""
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "Efe_cte"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr ""
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "_Fereastră"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr ""
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "_Ajutor"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr ""
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
 msgstr ""
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "Unelte"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr ""
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "Paletă"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr ""
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Documente"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "Redimensionează imaginea"
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "Straturi"
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr ""
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "Istoric"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "Ascunde"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "Docabil"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "Flotant"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "Ascundere automată"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "Andochează"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
 msgstr ""
-"Launchpad Contributions:\n"
-"  Alex Butum https://launchpad.net/~codeninja\n"
-"  Jonathan Pobst https://launchpad.net/~jpobst"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Tradus de:"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "Despre Pinta"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
 msgstr ""
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "Titlu"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr ""
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Versiune"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr ""
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "Cale"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Licenţă"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
 msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "Copyright"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
 msgstr ""
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "Redimensionează imaginea"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "Lățime:"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "pixeli"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "Înălțime:"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "Menține raportul de aspect"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
-#: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "Nume:"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "Vizibil"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
-msgid "New Image"
-msgstr "Imagine nouă"
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
+#: Pinta.Core/Actions/LayerActions.cs:74
+msgid "Layer Properties..."
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:57
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr "Dacă nu salvați, toate modificările vor fi pierdute definitiv."
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "Redenumire strat"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
-msgstr "etichetă1"
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "Despre aplicaţie"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "etichetă"
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
-msgstr "Selector de culori"
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
-msgstr "Creion"
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr ""
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
 msgstr ""
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
 msgstr ""
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
-msgstr "Zoom"
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
+msgstr ""
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
 msgstr ""
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
-msgstr "Pan"
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
+msgstr ""
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
 msgstr ""
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
 msgstr ""
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
-msgstr "Selecție eliptică"
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "Paletă"
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:60
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr ""
+
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
 msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
+msgid "New Image"
+msgstr "Imagine nouă"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
+#, csharp-format
+msgid "Could not open file: {0}"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
 msgstr ""
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
 msgstr ""
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
 msgstr ""
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
 msgstr ""
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
 msgstr ""
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
 msgstr ""
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
 msgstr ""
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
 msgstr ""
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
 msgstr ""
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:37
-msgid "Text"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:44
-msgid ""
-"Left click to place cursor, then type desired text. Text color is primary "
-"color."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:131
-msgid "Font"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:186
-msgid "Bold"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:193
-msgid "Italic"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:201
-msgid "Underline"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:210
-msgid "Left Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:219
-msgid "Center Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:227
-msgid "Right Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
 msgstr ""
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
 msgstr ""
 
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
 msgstr ""
 
-#: Pinta.Tools/RectangleTool.cs:38
-msgid "Rectangle"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
 msgstr ""
 
-#: Pinta.Tools/RectangleTool.cs:44
-msgid ""
-"Click and drag to draw a rectangle (right click for secondary color). Hold "
-"shift to constrain to a square."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
 msgstr ""
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
 msgstr ""
 
-#: Pinta.Tools/LineCurveTool.cs:44
-msgid ""
-"Left click to draw with primary color, right click for secondary color."
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
 msgstr ""
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
 msgstr ""
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
 msgstr ""
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
 msgstr ""
 
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
 msgstr ""
 
 #: Pinta.Effects/Effects/PixelateEffect.cs:26
 msgid "Pixelate"
 msgstr ""
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr ""
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
 msgstr ""
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
 msgid "Photo"
 msgstr ""
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
 msgstr ""
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
 msgstr ""
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
 msgstr ""
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
 msgstr ""
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
 msgstr ""
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr ""
+
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
 msgstr ""
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
@@ -678,18 +646,26 @@ msgid "Edge Detect"
 msgstr ""
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
 #: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
 msgid "Stylize"
 msgstr ""
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
 msgstr ""
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr ""
+
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr ""
+
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
 msgstr ""
 
 #: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
@@ -704,541 +680,710 @@ msgstr ""
 msgid "Clouds"
 msgstr ""
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr ""
-
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
 msgstr ""
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
-msgid "Add Noise"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
 msgstr ""
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
 msgstr ""
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
 msgstr ""
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
+msgid "Add Noise"
 msgstr ""
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
 msgstr ""
 
 #: Pinta.Effects/Effects/OutlineEffect.cs:29
 msgid "Outline"
 msgstr ""
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
 msgstr ""
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
 msgstr ""
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
-msgstr ""
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "etichetă1"
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
-msgstr ""
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "etichetă"
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
+msgstr "Pan"
+
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
 msgstr ""
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
+#: Pinta.Tools/TextTool.cs:37
+msgid "Text"
 msgstr ""
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
+#: Pinta.Tools/TextTool.cs:44
+msgid ""
+"Left click to place cursor, then type desired text. Text color is primary "
+"color."
 msgstr ""
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
+#: Pinta.Tools/TextTool.cs:144
+msgid "Font"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
+#: Pinta.Tools/TextTool.cs:205
+msgid "Bold"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
+#: Pinta.Tools/TextTool.cs:212
+msgid "Italic"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
+#: Pinta.Tools/TextTool.cs:220
+msgid "Underline"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
+#: Pinta.Tools/TextTool.cs:229
+msgid "Left Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
+#: Pinta.Tools/TextTool.cs:238
+msgid "Center Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
+#: Pinta.Tools/TextTool.cs:246
+msgid "Right Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
+#: Pinta.Tools/RectangleTool.cs:38
+msgid "Rectangle"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
+#: Pinta.Tools/RectangleTool.cs:44
+msgid ""
+"Click and drag to draw a rectangle (right click for secondary color). Hold "
+"shift to constrain to a square."
 msgstr ""
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
+msgid ""
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
+msgstr "Selecție eliptică"
+
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "Pensulă de pictură"
+
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "Zoom"
+
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:392
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before closing?"
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:402
-msgid "Close without saving"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "Selector de culori"
+
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "Creion"
+
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "Ascunde"
+
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "Andochează"
+
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "Ascundere automată"
+
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "Docabil"
+
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "Flotant"
+
+#: Pinta/Options.cs:486
+msgid "OptionName"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "Lățime:"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "pixeli"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "Înălțime:"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "Menține raportul de aspect"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "Nume:"
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "Vizibil"
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "_Fișier"
+
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "_Editare"
+
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "_Vizualizare"
+
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "_Imagine"
+
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "_Straturi"
+
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "Ajustări"
+
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "Efe_cte"
+
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "_Fereastră"
+
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "_Ajutor"
+
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "Unelte"
+
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Documente"
+
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "Straturi"
+
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "Istoric"
+
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
+#: Pinta/DialogHandlers.cs:139
+#, csharp-format
+msgid "Save the changes to image \"{0}\" before closing?"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "Dacă nu salvați, toate modificările vor fi pierdute definitiv."
+
+#: Pinta/DialogHandlers.cs:147
+msgid "Close without saving"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "Redenumire strat"
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
 msgstr ""
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Versiune"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Licenţă"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "Copyright"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "Titlu"
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "Cale"
+
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
 msgstr ""
+"Launchpad Contributions:\n"
+"  Alex Butum https://launchpad.net/~monocoder\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst"
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Tradus de:"
+
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
 msgstr ""
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
 msgstr ""
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "Despre Pinta"
+
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
 msgstr ""
 
 #: BulgeEffect dialog
diff --git a/po/messages-ru.po b/po/messages-ru.po
index 1356cf6..8379246 100644
--- a/po/messages-ru.po
+++ b/po/messages-ru.po
@@ -7,557 +7,748 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-07-26 11:51+0000\n"
-"Last-Translator: sasha_shum <Unknown>\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2011-01-10 15:41+0000\n"
+"Last-Translator: Nikita Putko <Unknown>\n"
 "Language-Team: Russian <ru at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "О программе"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "Окно"
 
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "Кисть"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "Слой"
 
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "_Файл"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "- копия"
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "_Правка"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "Изменить размер холста"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "_Вид"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr "Инструмент"
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "_Изображение"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr "Горячая клавиша"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "С_лои"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr "Обычное смешивание"
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "_Цвета"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr "Переписать"
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "_Эффекты"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr "Включить сглаживание"
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "_Окно"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr "Выключить сглаживание"
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "_Справка"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "Масштабировать изображение"
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
-msgstr ""
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr "Завершить пиксели"
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "Инструменты"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr "Повернуть на 180°"
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "Палитра"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr "Отразить изображение по горизонтали"
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Документы"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr "Отразить изображение по вертикали"
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "Слои"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr "Повернуть на 90° по часовой стрелке"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "История"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr "Повернуть на 90° против часовой стрелки"
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "Скрыть"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr "Отразить слой по горизонтали"
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "Прикрепляемое"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr "Отразить слой по вертикали"
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "Плавающее"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
+msgstr "Общие"
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "Автоматически скрывать"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr "Изображение {0} ({1})"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "Прикрепить"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr "Откадрировать в выделение"
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "Работавшие над этой версией"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr "Масштабировать..."
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "Работавшие над предыдущими версиями"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr "Размер холста..."
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
-msgstr ""
-"Launchpad Contributions:\n"
-"  Jonathan Pobst https://launchpad.net/~jpobst\n"
-"  Maia Kozheva https://launchpad.net/~sikon\n"
-"  ma$terok https://launchpad.net/~m-shein"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr "Отразить по горизонтали"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Переведено:"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr "Отразить по вертикали"
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "Основано на Paint.NET:"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr "Объединить слои"
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "Использованы некоторые значки из:"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr "Крупнее"
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "О программе Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr "Мельче"
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "Сведения о версии"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr "По размеру окна"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "Название"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr "По размеру выделения"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Версия"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr "Истинный размер"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "Путь"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
+msgstr "Панель инструментов"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Лицензия"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr "Пиксельная сетка"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "Распространяется под лицензией MIT X11."
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr "Линейки"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "Авторское право"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr "Пиксели"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "разработчики Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr "Дюймы"
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
-msgstr "число потоков для использования при отрисовке"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr "Сантиметры"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "Масштабировать изображение"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr "Полный экран"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "В процентах:"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr "Единицы измерения"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
-msgstr "Абсолютный размер:"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr "Добавить слой"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "Ширина:"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr "Удалить слой"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "пикселей"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr "Дублировать слой"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "Высота:"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr "Объединить с нижележащим"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "Соблюдать соотношение сторон"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr "Импорт из файла..."
+
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr "Поворот/Масштабирование"
+
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr "Переместить слой вверх"
+
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr "Переместить слой вниз"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
 #: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "Свойства слоя"
+msgid "Layer Properties..."
+msgstr "Параметры слоя..."
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "Имя:"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
+msgstr "Открыть файл изображения"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "Видимый"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr "Импорт из файла"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "Непрозрачность:"
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr "Сохранить как"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "Изменить размер холста"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr "Закрыть все"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "Якорь:"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr "Веб-сайт Pinta"
+
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
+msgstr "Сообщить о неполадке"
+
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
+msgstr "Перевести это приложение"
+
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "О программе"
+
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr "Создать..."
+
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
+msgstr "Новый снимок экрана"
+
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
+msgstr "Открыть..."
+
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr "Открыть последние"
+
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
+msgstr "Закрыть"
+
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
+msgstr "Сохранить"
+
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
+msgstr "Сохранить как..."
+
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
+msgstr "Печать"
 
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
+msgstr "Выход"
+
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr "Создать"
+
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
+msgstr "Открыть"
+
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
+msgstr "Отменить"
+
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
+msgstr "Вернуть"
+
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
+msgstr "Вырезать"
+
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
+msgstr "Копировать"
+
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
+msgstr "Вставить"
+
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
+msgstr "Вставить как новый слой"
+
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
+msgstr "Вставить как новое изображение"
+
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
+msgstr "Удалить выделение"
+
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
+msgstr "Заполнить выделение"
+
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
+msgstr "Обратить выделение"
+
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
+msgstr "Выделить всё"
+
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
+msgstr "Сбросить выделение"
+
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
+msgstr "Сбросить установки"
+
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
+msgstr "Установить количество цветов"
+
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "Палитра"
+
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
+msgstr "Открыть файл палитры"
+
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
+msgstr "Файлы палитры (*.txt, *.gpl)"
+
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr "Все файлы"
+
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
+msgid ""
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
+msgstr ""
+"Не открывается файл палитры: {0}.\n"
+"Пожалуйста, проверьте, что вы открываете правильный файл палитры GIMP или "
+"Paint.NET"
+
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
+msgstr "Ошибка"
+
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
+msgstr "Сохранить файл палитры"
+
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
+msgstr "Палитра Paint.NET (*.txt)"
+
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
+msgstr "Палитра GIMP (*.gpl)"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr "Несохранённое изображение {0}"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
+msgstr "Фон"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
 msgid "New Image"
 msgstr "Новое изображение"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "Размер нового изображения          "
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
+msgstr "Открыть изображение"
 
-#: Pinta/DialogHandlers.cs:57
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
 #, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
-msgstr "Сохранить изменения изображения \"{0}\" перед созданием нового?"
+msgid "Could not open file: {0}"
+msgstr "Не удалось открыть файл: {0}"
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr "Если вы не сохраните изменения, они будут потеряны безвозвратно."
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
+msgstr "Эффект отрисовки"
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "Продолжить без сохранения"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
+msgstr "Постеризация"
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "Непрозрачность слоя"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
+msgstr "Обратить цвета"
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "Переименовать слой"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
+msgstr "Уровни"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "Скрыть слой"
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
+msgstr "Чёрно-белое"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "Показать слой"
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
+msgstr "Автокоррекция"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
-msgstr "метка1"
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
+msgstr "Тон/насыщенность"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "метка"
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
+msgstr "Яркость/контраст"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
-msgstr "Случайный шум"
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
+msgstr "Сепия"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
-msgstr "Перемешать"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
+msgstr "Кривые"
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
-msgstr "Получение цвета"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
+msgstr "Канал"
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
-msgstr ""
-"Щёлкните левой кнопкой для задания первичного цвета. Щёлкните правой кнопкой "
-"для задания вторичного цвета."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
+msgstr "RGB"
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
-msgstr "После выбора"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
+msgstr "Освещённость"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
-msgstr "Не переключайте инструмент"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
+msgstr "(256, 256)"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
-msgstr "Переключиться на предыдущий инструмент"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
+msgstr "Красный  "
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
-msgstr "Переключиться на инструмент \"Карандаш\""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
+msgstr "Зелёный"
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
-msgstr "Карандаш"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
+msgstr "Синий "
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
-msgstr "Выделение лассо"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
+msgstr "Сброс"
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
 msgstr ""
-"Нажмите и перетаскивайте мышь, чтобы выделить контур области выделения."
+"Подсказка: Нажмите правую кнопку мыши, чтобы убрать контрольные отметки"
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
-msgstr "Масштабирование"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
+msgstr "Коррекция уровней"
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
-msgstr ""
-"Щёлкните левой кнопкой для приближения. Щёлкните правой кнопкой для "
-"отдаления. Нажмите и перетаскивайте мышь, чтобы масштабировать по выделению."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
+msgstr "Гистограмма входа"
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
-msgstr "Толщина кисти"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
+msgstr "Вход"
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
-msgstr "Уменьшить размер кисти"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
+msgstr "Выход"
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
-msgstr "Увеличить размер кисти"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
+msgstr "Гистограмма выхода"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
-msgstr "Обвести фигуру"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
+msgstr "Автоматически"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
-msgstr "Залить фигуру"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
+msgstr "Красный"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
-msgstr "Залить и обвести фигуру"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
+msgstr "Синий"
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
-msgstr "Переместить выбранные пиксели"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
+msgstr "Связь"
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
-msgstr "Перетащите мышью выделение, чтобы переместить выделенный фрагмент."
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
+msgstr "Карандашный набросок"
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
-msgstr "Панорама"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
+msgstr "Художественные"
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
-msgstr "Щёлкните и перетаскивайте для навигации по изображению."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
+msgstr "Расфокусировка"
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
-msgstr ""
-"Щёлкните левой кнопкой для рисования произвольных линий в один пиксель "
-"толщиной первичным цветом, правой кнопкой для использования вторичного цвета."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
+msgstr "Размытие"
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
-msgstr "Эллиптическое выделение"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
+msgstr "Выпуклость"
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
-msgstr ""
-"Щёлкните и перетаскивайте, чтобы нарисовать эллиптическое выделение. Держите "
-"Shift, чтобы выделить круг."
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
+msgstr "Искажения"
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
-msgstr "Градиент"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
+msgstr "Фрактал Мандельброта"
 
-#: Pinta.Tools/GradientTool.cs:60
-msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
-msgstr ""
-"Щёлкните и перетаскивайте, чтобы нарисовать градиент от первичного цвета к "
-"вторичному. Щёлкните правой кнопкой для инверсии."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
+msgstr "Рисование"
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
-msgstr "Линейный градиент"
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
+msgstr "Медиана"
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
-msgstr "Линейный отражённый градиент"
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
+msgstr "Шум"
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
-msgstr "Линейный ромбовидный градиент"
+#: Pinta.Effects/Effects/PixelateEffect.cs:26
+msgid "Pixelate"
+msgstr "Пикселизация"
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
-msgstr "Радиальный градиент"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
+msgstr "Добавить резкость"
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
-msgstr "Конический градиент"
+#: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
+msgid "Photo"
+msgstr "Снимок"
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
-msgstr "Цветовой режим"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
+msgstr "Масляные краски"
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
-msgstr "Режим прозрачности"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
+msgstr "Размывание Гаусса"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
-msgstr "Скруглённый прямоугольник"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
+msgstr "Сияние"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
-msgstr ""
-"Щёлкните и перетаскивайте мышь, чтобы нарисовать скруглённый прямоугольник "
-"(правая кнопка рисует вторичным цветом). Зажмите Shift, чтобы получить "
-"квадрат."
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
+msgstr "Смягчить портрет"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
-msgstr "Радиус"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
+msgstr "Мозаичное отражение"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
-msgstr "Уменьшить радиус углов прямоугольника"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr "Удаление красных глаз"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
-msgstr "Увеличить радиус углов прямоугольника"
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
+msgstr "Матовое стекло"
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
-msgstr ""
-"Нажмите левую кнопку, чтобы рисовать первичным цветом, правую - вторичным."
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
+msgid "Edge Detect"
+msgstr "Определение краёв"
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
-msgstr "Прямоугольное выделение"
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
+#: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
+msgid "Stylize"
+msgstr "Стилизация"
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
-msgstr ""
-"Нажмите и перетаскивайте, чтобы нарисовать прямоугольное выделение. Нажмите "
-"Shift, чтобы получить квадрат."
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
+msgstr "Фрактал Жюлиа"
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
-msgstr "Плоская заливка"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr "Размытие в движении"
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
-msgstr ""
-"Щёлкните левой кнопкой, чтобы залить регион первичным цветом, правой - "
-"вторичным."
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr "Барельеф"
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
-msgstr "Штамп клонирования"
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
+msgstr "Набросок чернилами"
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
-msgstr "Перемещение выделения"
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
+msgid "Zoom Blur"
+msgstr "Увеличительное размытие"
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
-msgstr "Перетащите выделение мышью, чтобы переместить контур выделения."
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
+msgid "Polar Inversion"
+msgstr "Полярная инверсия"
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
-msgstr "Произвольная фигура"
+#: Pinta.Effects/Effects/CloudsEffect.cs:30
+msgid "Clouds"
+msgstr "Облака"
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
-msgstr "Режим заливки"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
+msgstr "Фрагмент"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
-msgstr "Смежная область"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr "Уменьшить шум"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
-msgstr "Глобальная"
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr "Радиальное размытие"
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
-msgstr "Толерантность"
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
+msgstr "Завихрение"
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
-msgstr "Эллипс"
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
+msgid "Add Noise"
+msgstr "Добавить шум"
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
-msgstr ""
-"Щёлкните и перетаскивайте мышь, чтобы нарисовать эллипс (правая кнопка "
-"рисует вторичным цветом). Нажмите Shift, чтобы получить круг."
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
+msgstr "Рельеф"
+
+#: Pinta.Effects/Effects/OutlineEffect.cs:29
+msgid "Outline"
+msgstr "Контур"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
+msgstr "Случайный шум"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
+msgstr "Перемешать"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "метка1"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "метка"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
+msgstr "Выберите цвет переднего плана"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
+msgstr "Выберите фоновый цвет"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr "Выберите цвет цалитры"
+
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
+msgstr "Перемещение"
+
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
+msgstr "Щёлкните и перетаскивайте для навигации по изображению."
 
 #: Pinta.Tools/TextTool.cs:37
 msgid "Text"
@@ -571,42 +762,34 @@ msgstr ""
 "Щёлкните левой кнопкой, чтобы поместить курсор, затем наберите нужный текст. "
 "Текст рисуется первичным цветом."
 
-#: Pinta.Tools/TextTool.cs:131
+#: Pinta.Tools/TextTool.cs:144
 msgid "Font"
 msgstr "Шрифт"
 
-#: Pinta.Tools/TextTool.cs:186
+#: Pinta.Tools/TextTool.cs:205
 msgid "Bold"
 msgstr "Полужирный"
 
-#: Pinta.Tools/TextTool.cs:193
+#: Pinta.Tools/TextTool.cs:212
 msgid "Italic"
 msgstr "Курсивный"
 
-#: Pinta.Tools/TextTool.cs:201
+#: Pinta.Tools/TextTool.cs:220
 msgid "Underline"
 msgstr "Подчёркнутый"
 
-#: Pinta.Tools/TextTool.cs:210
+#: Pinta.Tools/TextTool.cs:229
 msgid "Left Align"
 msgstr "По левому краю"
 
-#: Pinta.Tools/TextTool.cs:219
+#: Pinta.Tools/TextTool.cs:238
 msgid "Center Align"
 msgstr "По центру"
 
-#: Pinta.Tools/TextTool.cs:227
+#: Pinta.Tools/TextTool.cs:246
 msgid "Right Align"
 msgstr "По правому краю"
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
-msgstr "Выделение \"волшебная палочка\""
-
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
-msgstr "Щёлкните, чтобы выделить регион с похожим цветом."
-
 #: Pinta.Tools/RectangleTool.cs:38
 msgid "Rectangle"
 msgstr "Прямоугольник"
@@ -619,655 +802,626 @@ msgstr ""
 "Щёлкните и перетащите мышь, чтобы нарисовать прямоугольник (правая кнопка "
 "рисует вторичным цветом). Зажмите Shift, чтобы получить квадрат."
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
-msgstr "Линия"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
+msgstr "Произвольная фигура"
 
-#: Pinta.Tools/LineCurveTool.cs:44
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
 msgid ""
-"Left click to draw with primary color, right click for secondary color."
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
 msgstr ""
-"Щёлкните левой кнопкой, чтобы рисовать первичным цветом, правой - вторичным."
-
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
-msgstr "Перекрашивание"
-
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
-msgstr "Щёлкните левой кнопкой, чтобы заменить вторичный цвет первичным."
-
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
-msgstr "Ластик"
-
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
-msgstr "Щёлкните и перетаскивайте мышь, чтобы стереть часть изображения."
-
-#: Pinta.Effects/Effects/PixelateEffect.cs:26
-msgid "Pixelate"
-msgstr "Пикселизация"
-
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr "Искажения"
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
-msgstr "Удаление красных глаз"
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
-#: Pinta.Effects/Effects/SharpenEffect.cs:34
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
-msgid "Photo"
-msgstr "Снимок"
-
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
-msgstr "Размытие в движении"
-
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
-msgstr "Размытие"
+"Нажмите левую кнопку, чтобы рисовать первичным цветом, правую - вторичным."
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
-msgstr "Набросок чернилами"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
+msgstr "Стиль заполнения"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
-msgstr "Художественные"
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
+msgstr "Обвести фигуру"
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
-msgstr "Радиальное размытие"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
+msgstr "Залить фигуру"
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
-msgstr "Расфокусировка"
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
+msgstr "Залить и обвести фигуру"
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
-msgid "Edge Detect"
-msgstr "Определение краёв"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
+msgstr "Избыточный режим"
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
-#: Pinta.Effects/Effects/EmbossEffect.cs:34
-msgid "Stylize"
-msgstr "Стилизация"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
+msgstr "Смежная область"
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
-msgstr "Матовое стекло"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
+msgstr "Глобальная"
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
-msgstr "Масляные краски"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
+msgstr "Чувствительность"
 
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
-msgid "Zoom Blur"
-msgstr "Увеличительное размытие"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
+msgstr "Линия"
 
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
-msgid "Polar Inversion"
-msgstr "Полярная инверсия"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
+msgstr ""
+"Щёлкните левой кнопкой, чтобы рисовать первичным цветом, правой - вторичным."
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:30
-msgid "Clouds"
-msgstr "Облака"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
+msgstr "Перемещение выделения"
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr "Рисование"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
+msgstr "Перетащите выделение мышью, чтобы переместить контур выделения."
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
-msgstr "Сияние"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
+msgstr "Прямоугольное выделение"
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
-msgid "Add Noise"
-msgstr "Добавить шум"
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
+msgstr ""
+"Нажмите и перетаскивайте, чтобы нарисовать прямоугольное выделение. Нажмите "
+"Shift, чтобы получить квадрат."
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
-msgstr "Шум"
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
+msgstr "Волшебная палочка"
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
-msgstr "Фрагмент"
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
+msgstr "Щёлкните, чтобы выделить регион с похожим цветом."
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
-msgstr "Добавить резкость"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
+msgstr "Эллиптическое выделение"
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
-msgstr "Карандашный набросок"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
+msgstr ""
+"Щёлкните и перетаскивайте, чтобы нарисовать эллиптическое выделение. Держите "
+"Shift, чтобы выделить круг."
 
-#: Pinta.Effects/Effects/OutlineEffect.cs:29
-msgid "Outline"
-msgstr "Контур"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
+msgstr "Выделение лассо"
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
-msgstr "Размывание Гаусса"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
+msgstr ""
+"Нажмите и перетаскивайте мышь, чтобы выделить контур области выделения."
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
-msgstr "Мозаичное отражение"
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
+msgstr "Плоская заливка"
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
-msgstr "Рельеф"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
+msgstr ""
+"Щёлкните левой кнопкой, чтобы залить регион первичным цветом, правой - "
+"вторичным."
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
-msgstr "Барельеф"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
+msgstr "Градиент"
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
-msgstr "Фрактал Мандельброта"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
+msgstr ""
+"Щёлкните и перетаскивайте, чтобы нарисовать градиент от первичного цвета к "
+"вторичному. Щёлкните правой кнопкой для инверсии."
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
-msgstr "Выпуклость"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
+msgstr "Линейный градиент"
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
-msgstr "Завихрение"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
+msgstr "Линейный отражённый градиент"
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
-msgstr "Смягчить портрет"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
+msgstr "Линейный ромбовидный градиент"
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
-msgstr "Уменьшить шум"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
+msgstr "Радиальный градиент"
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
-msgstr "Фрактал Жюлиа"
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
+msgstr "Конический градиент"
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
-msgstr "Медиана"
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
+msgstr "Режим"
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
-msgstr "Кривые"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
+msgstr "Цветовой режим"
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
-msgstr "Уровни"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
+msgstr "Режим прозрачности"
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
-msgstr "Автокоррекция"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
+msgstr "Толщина кисти"
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
-msgstr "Обратить цвета"
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
+msgstr "Уменьшить размер кисти"
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
-msgstr "Постеризация"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
+msgstr "Увеличить размер кисти"
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
-msgstr "Чёрно-белое"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "Кисть"
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
-msgstr "Тон/насыщенность"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
+msgstr "Тип"
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
-msgstr "Сепия"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
+msgstr "Перекрашивание"
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
-msgstr "Яркость/контраст"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
+msgstr "Щёлкните левой кнопкой, чтобы заменить вторичный цвет первичным."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
-msgstr "Коррекция уровней"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
+msgstr "Обычный"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
-msgstr "Гистограмма входа"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
+msgstr "Круги"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
-msgstr "Вход"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
+msgstr "Квадраты"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
-msgstr "Выход"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
+msgstr "Брызги"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
-msgstr "Гистограмма выхода"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
+msgstr "Сетка"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
-msgstr "Автоматически"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
+msgstr "Эллипс"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
-msgstr "Сброс"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
+msgstr ""
+"Щёлкните и перетаскивайте мышь, чтобы нарисовать эллипс (правая кнопка "
+"рисует вторичным цветом). Нажмите Shift, чтобы получить круг."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
-msgstr "Красный"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
+msgstr "Штамп клонирования"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
-msgstr "Зелёный"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
+msgstr ""
+"Ctrl+щелчок левой кнопкой мыши для установки основы, левой кнопкой мыши "
+"начать рисовать"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
-msgstr "Синий"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "Масштабирование"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
-msgstr "Связь"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
+msgstr ""
+"Щёлкните левой кнопкой для приближения. Щёлкните правой кнопкой для "
+"отдаления. Нажмите и перетаскивайте мышь, чтобы масштабировать по выделению."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
-msgstr "Канал"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
+msgstr "Скруглённый прямоугольник"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
-msgstr "RGB"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
+msgstr ""
+"Щёлкните и перетаскивайте мышь, чтобы нарисовать скруглённый прямоугольник "
+"(правая кнопка рисует вторичным цветом). Зажмите Shift, чтобы получить "
+"квадрат."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
-msgstr "Освещённость"
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
+msgstr "Радиус"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
-msgstr "(256, 256)"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
+msgstr "Уменьшить радиус углов прямоугольника"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
-msgstr "Красный  "
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
+msgstr "Увеличить радиус углов прямоугольника"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
-msgstr "Синий "
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "Получение цвета"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
 msgstr ""
+"Щёлкните левой кнопкой для задания первичного цвета. Щёлкните правой кнопкой "
+"для задания вторичного цвета."
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
-msgstr "Добавить слой"
-
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
-msgstr "Удалить слой"
-
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
-msgstr "Дублировать слой"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr "После выбора"
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
-msgstr "Объединить с нижележащим"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
+msgstr "Не переключайте инструмент"
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
-msgstr "Импорт из файла..."
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr "Переключиться на предыдущий инструмент"
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
-msgstr "Отразить по горизонтали"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
+msgstr "Переключиться на инструмент \"Карандаш\""
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
-msgstr "Отразить по вертикали"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "Карандаш"
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
-msgstr "Поворот/Масштабирование"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
+msgstr "Ластик"
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
-msgstr "Переместить слой вверх"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
+msgstr "Щёлкните и перетаскивайте мышь, чтобы стереть часть изображения."
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
-msgstr "Переместить слой вниз"
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
+msgstr ""
+"Щёлкните левой кнопкой для рисования произвольных линий в один пиксель "
+"толщиной первичным цветом, правой кнопкой для использования вторичного цвета."
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
-msgstr "Открыть файл изображения"
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
+msgstr "Переместить выбранные пиксели"
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
-msgstr "Импорт из файла"
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
+msgstr "Перетащите мышью выделение, чтобы переместить выделенный фрагмент."
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
-msgstr "Создать..."
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "Скрыть"
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
-msgstr "Открыть..."
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "Прикрепить"
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
-msgstr "Открыть последние"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "Автоматически скрывать"
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
-msgstr "Закрыть"
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "Прикрепляемое"
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
-msgstr "Сохранить"
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "Плавающее"
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
-msgstr "Сохранить как..."
+#: Pinta/Options.cs:486
+msgid "OptionName"
+msgstr "Название опции"
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
-msgstr "Печать"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "В процентах:"
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr "Выход"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
+msgstr "Абсолютный размер:"
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
-msgstr "Создать"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "Ширина:"
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
-msgstr "Открыть"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "пикселей"
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
-msgstr "Фон"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "Высота:"
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
-msgstr "Открыть изображение"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "Соблюдать соотношение сторон"
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
-msgstr "Не удалост открыть файл: {0}"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "Якорь:"
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
-msgstr "Ошибка"
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "Размер нового изображения          "
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
-msgstr ""
-"Сохранить изменения изображения \"{0}\" перед открытием нового изображения?"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Свойства слоя"
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
-msgstr "Файлы изображений"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "Имя:"
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
-msgstr "Все файлы"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "Видимый"
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
-msgstr "Сохранить файл изображения"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "Непрозрачность:"
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
-msgstr "Изображение {0} ({1})"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr "..."
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
-msgstr "Изображение OpenRaster (*.ora)"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "_Файл"
 
-#: Pinta.Core/Actions/FileActions.cs:392
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before closing?"
-msgstr "Сохранить изменения изображения \"{0}\" перед закрытием?"
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "_Правка"
 
-#: Pinta.Core/Actions/FileActions.cs:402
-msgid "Close without saving"
-msgstr "Закрыть без сохранения"
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "_Вид"
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
-msgstr "Откадрировать в выделение"
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "_Изображение"
 
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
-msgstr "Масштабировать..."
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "С_лои"
 
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
-msgstr "Размер холста..."
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "_Цвета"
 
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
-msgstr "Повернуть на 90° по часовой стрелке"
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "_Эффекты"
 
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
-msgstr "Повернуть на 90° против часовой стрелки"
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "_Окно"
 
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
-msgstr "Повернуть на 180°"
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
+msgstr "Инструментальные окна"
 
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
-msgstr "Объединить слои"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "_Справка"
 
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr "Отменить"
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "Инструменты"
 
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
-msgstr "Вернуть"
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Документы"
 
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
-msgstr "Вырезать"
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "Слои"
 
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
-msgstr "Копировать"
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "История"
 
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
-msgstr "Вставить"
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
+msgstr "Сделать снимок экрана"
 
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
-msgstr "Вставить как новый слой"
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
+msgstr "Задержка перед созданием снимка экрана (в секундах)"
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
-msgstr "Вставить как новое изображение"
+#: Pinta/DialogHandlers.cs:139
+#, csharp-format
+msgid "Save the changes to image \"{0}\" before closing?"
+msgstr "Сохранить изменения изображения \"{0}\" перед закрытием?"
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
-msgstr "Удалить выделение"
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "Если вы не сохраните изменения, они будут потеряны безвозвратно."
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
-msgstr "Заполнить выделение"
+#: Pinta/DialogHandlers.cs:147
+msgid "Close without saving"
+msgstr "Закрыть без сохранения"
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
-msgstr "Обратить выделение"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
+msgstr "Изменить размер палитры"
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
-msgstr "Выделить всё"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
+msgstr "Новый размер палитры"
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
-msgstr "Сбросить выделение"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "Непрозрачность слоя"
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
-msgstr "Крупнее"
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "Переименовать слой"
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
-msgstr "Мельче"
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "Скрыть слой"
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
-msgstr "По размеру окна"
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "Показать слой"
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
-msgstr "По размеру выделения"
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
+msgstr "Файлы изображений"
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
-msgstr "Истинный размер"
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
+msgstr "Вставка отменена"
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
-msgstr "Пиксельная сетка"
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
+msgstr "Буфер обмена не содержит изображения"
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
-msgstr "Линейки"
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
+msgstr "Сохранить файл изображения"
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
-msgstr "Пиксели"
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
+msgstr "Pinta не поддерживает сохранение изображений в этом формате."
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
-msgstr "Дюймы"
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
+msgstr "Файл с именем \"{0}\" существует. Хотите ли вы его заменить?"
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
-msgstr "Сантиметры"
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
+msgstr "Файл уже существует в \"{1}\". Его замена перзапишет его содержимое."
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
-msgstr "Полный экран"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr "число потоков для использования при отрисовке"
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
-msgstr "Окно"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Версия"
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
-msgstr "Веб-сайт Pinta"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Лицензия"
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
-msgstr "Сообщить о неполадке"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "Распространяется под лицензией MIT X11."
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
-msgstr "Перевести это приложение"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "Авторское право"
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
-msgstr "Общие"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "разработчики Pinta"
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
-msgstr "Инструмент"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "Название"
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
-msgstr "Горячая клавиша"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "Путь"
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
-msgstr "Сглаживание"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
+msgstr "Качество JPEG"
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
-msgstr "Обычное смешение/Переопределить смешение"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
+msgstr "Качество: "
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
-msgstr "Отразить изображение по горизонтали"
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "Работавшие над этой версией"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
-msgstr "Отразить изображение по вертикали"
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "Работавшие над предыдущими версиями"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
-msgstr "Отразить слой по горизонтали"
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Alexey Ivanov https://launchpad.net/~alexey-ivanov\n"
+"  Anzhel https://launchpad.net/~a9227\n"
+"  Eugene Rozov https://launchpad.net/~eugene-rozov\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst\n"
+"  Maia Kozheva https://launchpad.net/~sikon\n"
+"  Nikita Putko https://launchpad.net/~ktototam98\n"
+"  ma$terok https://launchpad.net/~m-shein"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
-msgstr "Отразить слой по вертикали"
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Переведено:"
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
-msgstr "Завершить пиксели"
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "Основано на Paint.NET:"
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
-msgstr "Эффект отрисовки"
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "Использованы некоторые значки из:"
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
-msgstr "- копия"
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "О программе Pinta"
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
-msgstr "Слой"
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "Сведения о версии"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1449,9 +1603,37 @@ msgstr ""
 "Подсказка: для наилучшего результата сначала выделите каждый глаз "
 "инструментами выделения."
 
+#~ msgid "Help"
+#~ msgstr "Помощь"
+
+#~ msgid "Adjustments"
+#~ msgstr "Коррекция"
+
+#~ msgid "Effects"
+#~ msgstr "Эффекты"
+
+#~ msgid "File"
+#~ msgstr "Файл"
+
+#~ msgid "Edit"
+#~ msgstr "Правка"
+
+#~ msgid "View"
+#~ msgstr "Вид"
+
+#~ msgid "Image"
+#~ msgstr "Изображение"
+
 #~ msgid "%"
 #~ msgstr "%"
 
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr "Сохранить изменения изображения \"{0}\" перед созданием нового?"
+
+#~ msgid "Continue without saving"
+#~ msgstr "Продолжить без сохранения"
+
 #~ msgid "X :"
 #~ msgstr "X :"
 
@@ -1461,5 +1643,22 @@ msgstr ""
 #~ msgid "Tip : Right-click to remove control points."
 #~ msgstr "Подсказка: щёлкните правой кнопкой для удаления контрольных точек."
 
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before opening a new image?"
+#~ msgstr ""
+#~ "Сохранить изменения изображения \"{0}\" перед открытием нового изображения?"
+
+#~ msgid "OpenRaster image (*.ora)"
+#~ msgstr "Изображение OpenRaster (*.ora)"
+
+#~ msgid "Antialiasing"
+#~ msgstr "Сглаживание"
+
+#~ msgid "Normal blending / Overwrite blending"
+#~ msgstr "Обычное смешение/Переопределить смешение"
+
+#~ msgid "Fill mode"
+#~ msgstr "Режим заливки"
+
 #~ msgid "Show Pad"
 #~ msgstr "Показать окно"
diff --git a/po/messages-sk.po b/po/messages-sk.po
index 548953f..31e4d18 100644
--- a/po/messages-sk.po
+++ b/po/messages-sk.po
@@ -7,556 +7,746 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-10-19 16:45+0000\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2010-12-18 14:17+0000\n"
 "Last-Translator: DAG Software <Unknown>\n"
 "Language-Team: Slovak <sk at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "O programe"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "Okno"
 
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "Štetec"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "Vrstva"
 
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "_Súbor"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "kopírovať"
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "_Úpravy"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "Zmeniť veľkosť plátna"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "_Zobraziť"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr "Nástroj"
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "_Obrázok"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr "Klávesová skratka"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "_Vrstvy"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr "Normálne miešanie"
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "_Prispôsobenie"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr "Prepísať"
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "_Efekty"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr "Zapnúť antialiasing"
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "_Okno"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr "Vypnúť antialiasing"
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "_Nápoveda"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "Zmeniť veľkosť obrázka"
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
-msgstr ""
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr "Dokončiť pixle"
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "Nástroje"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr "Otočiť o 180°"
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "Paleta"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr "Preklopiť obrázok vodorovne"
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Dokumenty"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr "Preklopiť obrázok zvislo"
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "Vrstvy"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr "Otočiť o 90° v smere hodinových ručičiek"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "História"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr "Otočiť o 90° proti smeru hodinovích ručičiek"
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "Skryť"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr "Preklopiť vrstvu vodorovne"
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "Dokovateľné"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr "Preklopiť vrstvu zvislo"
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "Plávajúce"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
+msgstr "Všeobecné"
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "Automaticky skrývať"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr "{0} obrázok ({1})"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "Dokovať"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr "Vystrihnúť na výber"
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "Prispeli do tohto vydania"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr "Zmeniť veľkosť..."
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "Predchádzajúci prispievatelia"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr "Veľkosť plátna..."
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
-msgstr ""
-"Launchpad Contributions:\n"
-"  DAG Software https://launchpad.net/~dagsoftware\n"
-"  Jonathan Pobst https://launchpad.net/~jpobst\n"
-"  helix84 https://launchpad.net/~helix84"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr "Prevrátiť vodorovne"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Preložili:"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr "Prevrátiť zvislo"
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "Založené na práci Paint.NET-u:"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr "Sploštiť"
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "Použité niektoré ikony z:"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr "Priblížiť"
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "O programe Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr "Oddialiť"
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "Info o verzii"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr "Priblížiť do okna"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "Názov"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr "Priblížiť na výber"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Verzia"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr "Aktuálna veľkosť"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "Cesta"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
+msgstr "Panel nástrojov"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Licencia"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr "Pixelová mriežka"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "Vydané pod licenciou MIT X11"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr "Pravítka"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "Autorské práva"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr "Pixely"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "od Pinta prispievateľov"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr "Palce"
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
-msgstr "počet vlákien použitých na vykreslenie"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr "Centimetre"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "Zmeniť veľkosť obrázka"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr "Celá obrazovka"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "Percentuálne:"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr "Jednotky pravítka"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
-msgstr "Podľa abs. veľkosti"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr "Pridať novú vrstvu"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "Šírka:"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr "Odstrániť vrstvu"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "pixelov"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr "Duplikovať vrstvu"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "Výška:"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr "Zlúčiť vrstvy"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "Zachovať pomer strán"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr "Vložit zo súboru..."
+
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr "Otočenie / Priblíženie"
+
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr "Posunúť vrstvu vyžšie"
+
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr "Posunúť vrstvu nižšie"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
 #: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "Vlastnosti vrstvy"
+msgid "Layer Properties..."
+msgstr "Vlastnosti vrstvy..."
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "Názov:"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
+msgstr "Otvoriť súbor obrázka"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "Viditeľnosť"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr "Importovať zo súboru"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "Priehľadnosť:"
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr "Uložiť všetko"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "Zmeniť veľkosť plátna"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr "Zatvoriť všetko"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "Kotva:"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr "Pinta Webstránka"
+
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
+msgstr "Nahlásiť chybu"
+
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
+msgstr "Preložiť tento program"
+
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "O programe"
+
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr "Nový..."
+
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
+msgstr "Nový snímok obrazovky"
+
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
+msgstr "Otvoriť..."
+
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr "Otvoriť nedávne"
+
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
+msgstr "Zavrieť"
+
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
+msgstr "Uložiť"
+
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
+msgstr "Uložiť ako..."
+
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
+msgstr "Tlačiť"
 
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
+msgstr "Ukončiť"
+
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr "Nový"
+
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
+msgstr "Otvoriť"
+
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
+msgstr "Späť"
+
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
+msgstr "Znovu"
+
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
+msgstr "Vystrihnúť"
+
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
+msgstr "Kopírovať"
+
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
+msgstr "Vložiť"
+
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
+msgstr "Vložiť do novej vrstvy"
+
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
+msgstr "Vložiť do nového obrázka"
+
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
+msgstr "Vymazať výber"
+
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
+msgstr "Vyplniť výber"
+
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
+msgstr "Invertovať výber"
+
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
+msgstr "Vybrať všetko"
+
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
+msgstr "Zrušiť výber"
+
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
+msgstr "Nastaviť na východzie"
+
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
+msgstr "Nastaviť počet farieb"
+
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "Paleta"
+
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
+msgstr "Otvoriť súbor s paletou"
+
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
+msgstr "Súbory paliet (*.txt, *.gpl)"
+
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr "Všetky súbory"
+
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
+msgid ""
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
+msgstr ""
+"Nedal sa otvoriť súbor palety: {0}.\n"
+"Prosím overte, že sa pokúšate otvoriť platnú paletu GIMP alebo Paint.NET."
+
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
+msgstr "Chyba"
+
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
+msgstr "Uložiť súbor palety"
+
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
+msgstr "Paint.NET paleta (*.txt)"
+
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
+msgstr "GIMP paleta (*.gpl)"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr "Neuložený obrázok {0}"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
+msgstr "Pozadie"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
 msgid "New Image"
 msgstr "Nový obrázok"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "Veľkosť nového obrázka          "
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
+msgstr "Otvoriť obrázok"
 
-#: Pinta/DialogHandlers.cs:57
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
 #, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
-msgstr "Uložiť zmeny do obrázka \"{0}\" pred vytvorením nového?"
+msgid "Could not open file: {0}"
+msgstr "Nedá sa otvoriť súbor: {0}"
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr "Ak neuložíte, všetky zmeny budú navždy stratené."
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
+msgstr "Vykresľovací efekt"
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "Pokračovať bez uloženia"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
+msgstr "Posterizovať"
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "Priehľadnosť vrstvy"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
+msgstr "Invertovať farby"
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "Premenovať vrstvu"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
+msgstr "Úrovne"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "Skryť vrstvu"
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
+msgstr "Čiernobiele"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "Zobraziť vrstvu"
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
+msgstr "Automatické úrovne"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
-msgstr "popis1"
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
+msgstr "Odtieň / sýtosť"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "popis"
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
+msgstr "Jas / kontrast"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
-msgstr "Náhodný šum"
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
+msgstr "Sépia"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
-msgstr "Nový počiatok"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
+msgstr "Krivky"
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
-msgstr "Výber farby"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
+msgstr "Prenosová mapa"
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
-msgstr ""
-"Kliknutím ľavým tlačidlom vyberiete primárnu farbu. Kliknutím pravým "
-"tlačidlom vyberiete sekundárnu farbu."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
+msgstr "RGB"
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
-msgstr "Po vybraní"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
+msgstr "Svietivosť"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
-msgstr "Neprepínať nástroj"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
+msgstr "(256, 256)"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
-msgstr "Prepnúť na predošlý nástroj"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
+msgstr "Červená  "
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
-msgstr "Prepnúť na ceruzku"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
+msgstr "Zelená"
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
-msgstr "Ceruzka"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
+msgstr "Modrá "
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
-msgstr "Laso"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
+msgstr "Zresetovať"
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
-msgstr "Kliknutím a ťahaním obtiahnuť vybratú blasť."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
+msgstr "Tip: Kliknite pravým na odstránenie kontrolných bodov."
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
-msgstr "Priblíženie"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
+msgstr "Doladenie úrovní"
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
-msgstr ""
-"Kliknutím ľavým tlačidlom priblížiť. Kliknutím pravým tlačidlom oddialiť. "
-"Kliknutím a ťahaním priblížiť výber."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
+msgstr "Histogram vstupu"
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
-msgstr "Šírka štetca"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
+msgstr "Vstup"
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
-msgstr "Zmenšiť veľkosť štetca"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
+msgstr "Výstup"
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
-msgstr "Zväčšiť veľkosť štetca"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
+msgstr "Histogram výstupu"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
-msgstr "Obrys útvaru"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
+msgstr "Automaticky"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
-msgstr "Vyplnený útvar"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
+msgstr "Červená"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
-msgstr "Útvar s výplňou a obrysom"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
+msgstr "Modrá"
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
-msgstr "Presunúť vybarné pixle"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
+msgstr "Spojené"
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
-msgstr "Pretiahnutím výberu posuniete vybraný obsah."
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
+msgstr "Skica ceruzkou"
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
-msgstr "Posun"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
+msgstr "Umelecké"
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
-msgstr "Kliknutím a ťahaním sa pohybujete v obrázku"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
+msgstr "Rozostrenie"
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
-msgstr ""
-"Kliknutím ľavým tlačidlom voľné kreslenie čiarou hrubou jeden pixel a "
-"primárnou farby, kliknutím pravým tlačidlom použiť sekundárnu farbu."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
+msgstr "Rozostrenia"
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
-msgstr "Eliptický výber"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
+msgstr "Vyduť"
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
-msgstr ""
-"Kliknutím a ťahaním nakresliť elliptický výber. Držaním shift obmedzenie na "
-"kružnicu."
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
+msgstr "Deformovať"
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
-msgstr "Farebný prechod"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
+msgstr "Fraktál Mandelbrot"
 
-#: Pinta.Tools/GradientTool.cs:60
-msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
-msgstr ""
-"Kliknutím a ťahaním nakresliť prechod od primárnej k sekundárnej farbe. "
-"Kliknutie pravým tlačidlom kreslí obrátene."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
+msgstr "Vykresliť"
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
-msgstr "Lineárny prechod"
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
+msgstr "Medián"
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
-msgstr "Lineárny odrazený prechod"
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
+msgstr "Šum"
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
-msgstr "Lineárny diamantový prechod"
+#: Pinta.Effects/Effects/PixelateEffect.cs:26
+msgid "Pixelate"
+msgstr "Pixelizovať"
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
-msgstr "Radiálny prechod"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
+msgstr "Doostriť"
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
-msgstr "Kónický prechod"
+#: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
+msgid "Photo"
+msgstr "Fotka"
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
-msgstr "Farebný režim"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
+msgstr "Olejomaľba"
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
-msgstr "Režim priesvitnosti"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
+msgstr "Gausovské rozostrenie"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
-msgstr "Zaoblený obdĺžnik"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
+msgstr "Žiara"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
-msgstr ""
-"Kliknutím a ťahaním nakresliť zaoblený obdĺžnik (kliknutím pravým tlačidlom "
-"v sekundárnej farbe). Držaním Shift obmedzíte na štvorec."
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
+msgstr "Zjemniť portrét"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
-msgstr "Polomer"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
+msgstr "Dlaždicový odraz"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
-msgstr "Zmenšiť polomer zaoblenia rohov"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr "Odstránenie červených očí"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
-msgstr "Zväčšiť polomer zaoblenia rohov"
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
+msgstr "Zamrznuté sklo"
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
-msgstr ""
-"Kliknutím ľavým tlačidlom kresliť primárnou farbou, kliknutím pravým "
-"tlačidlom kresliť sekundárnou farbou."
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
+msgid "Edge Detect"
+msgstr "Detekcia hrán"
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
-msgstr "Obdĺžnikový výber"
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
+#: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
+msgid "Stylize"
+msgstr "Štylizovanie"
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
-msgstr ""
-"Kliknutím a ťahaním nakresliť obdĺžnikový výber. Držaním Shift obmedzíte na "
-"štvorec."
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
+msgstr "Fraktál Julia"
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
-msgstr "Vedro s farbou"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr "Rozostriť pohybom"
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
-msgstr ""
-"Kliknutím ľavým tlačidlom vyplniť oblasť primárnou farbou, Kliknutím pravým "
-"tlačidlom vyplniť oblasť sekundárnou farbou."
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr "Reliéf"
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
-msgstr "Klonovacie razítko"
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
+msgstr "Atramentový náčrt"
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
-msgstr "Presunúť výber"
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
+msgid "Zoom Blur"
+msgstr "Rozostrenie priblížením"
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
-msgstr "Potiahnutím výberu posuniete vybranú oblasť."
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
+msgid "Polar Inversion"
+msgstr "Prevrátenie pólov"
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
-msgstr "Voľný tvar"
+#: Pinta.Effects/Effects/CloudsEffect.cs:30
+msgid "Clouds"
+msgstr "Oblaky"
+
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
+msgstr "Fragmentovať"
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
-msgstr "Režim výplne"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr "Redukovať šum"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
-msgstr "Spojité"
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr "Radiálne rozostrenie"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
-msgstr "Všeobecné"
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
+msgstr "Skrútiť"
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
-msgstr "Tolerancia"
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
+msgid "Add Noise"
+msgstr "Pridať šum"
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
-msgstr "Elipsa"
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
+msgstr "Reliéf"
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
-msgstr ""
-"Kliknutím a ťahaním nakresliť elipsu (kliknutím pravým tlačidlom sekundárnou "
-"farbou). Držaním Shift obmedzíte na kružnicu."
+#: Pinta.Effects/Effects/OutlineEffect.cs:29
+msgid "Outline"
+msgstr "Zvýrazniť obrysy"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
+msgstr "Náhodný šum"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
+msgstr "Nový počiatok"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "popis1"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "popis"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
+msgstr "Vybrať primárnu farbu"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
+msgstr "Vybrať sekundárnu farbu"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr "Vybrať farbu palety"
+
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
+msgstr "Posun"
+
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
+msgstr "Kliknutím a ťahaním sa pohybujete v obrázku"
 
 #: Pinta.Tools/TextTool.cs:37
 msgid "Text"
@@ -570,42 +760,34 @@ msgstr ""
 "Kliknutím ľavým tlačidlom umiestnite kurzor, potom napíšte želaný text. "
 "Farba písma je primárna farba."
 
-#: Pinta.Tools/TextTool.cs:131
+#: Pinta.Tools/TextTool.cs:144
 msgid "Font"
 msgstr "Písmo"
 
-#: Pinta.Tools/TextTool.cs:186
+#: Pinta.Tools/TextTool.cs:205
 msgid "Bold"
 msgstr "Hrubé"
 
-#: Pinta.Tools/TextTool.cs:193
+#: Pinta.Tools/TextTool.cs:212
 msgid "Italic"
 msgstr "Kurzíva"
 
-#: Pinta.Tools/TextTool.cs:201
+#: Pinta.Tools/TextTool.cs:220
 msgid "Underline"
 msgstr "Podčiarknuté"
 
-#: Pinta.Tools/TextTool.cs:210
+#: Pinta.Tools/TextTool.cs:229
 msgid "Left Align"
 msgstr "Zarovnať doľava"
 
-#: Pinta.Tools/TextTool.cs:219
+#: Pinta.Tools/TextTool.cs:238
 msgid "Center Align"
 msgstr "Zarovnať na stred"
 
-#: Pinta.Tools/TextTool.cs:227
+#: Pinta.Tools/TextTool.cs:246
 msgid "Right Align"
 msgstr "Zarovnať doprava"
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
-msgstr "Čarovná palička"
-
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
-msgstr "Kliknutím vyberiete oblasť s podobnou farbou."
-
 #: Pinta.Tools/RectangleTool.cs:38
 msgid "Rectangle"
 msgstr "Obdĺžnik"
@@ -618,655 +800,620 @@ msgstr ""
 "Kliknutím a ťahaním nakreslíte obdĺžnik (kliknutím pravým tlačidlom "
 "sekundárnou farbou). Držaním Shift obmedzíte na štvorec."
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
-msgstr "Čiara"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
+msgstr "Voľný tvar"
 
-#: Pinta.Tools/LineCurveTool.cs:44
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
 msgid ""
-"Left click to draw with primary color, right click for secondary color."
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
 msgstr ""
 "Kliknutím ľavým tlačidlom kresliť primárnou farbou, kliknutím pravým "
 "tlačidlom kresliť sekundárnou farbou."
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
-msgstr "Prefarbiť"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
+msgstr "Štýl výpne"
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
-msgstr "Kliknutím ľavým tlačidlom nahradiť sekundárnu farbu primárnou."
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
+msgstr "Obrys útvaru"
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
-msgstr "Guma"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
+msgstr "Vyplnený útvar"
 
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
-msgstr "Kliknutím a ťahaním vymazať časť obrázka."
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
+msgstr "Útvar s výplňou a obrysom"
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:26
-msgid "Pixelate"
-msgstr "Pixelizovať"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
+msgstr "Záplavový režim"
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr "Deformovať"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
+msgstr "Spojité"
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
-msgstr "Odstránenie červených očí"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
+msgstr "Všeobecné"
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
-#: Pinta.Effects/Effects/SharpenEffect.cs:34
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
-msgid "Photo"
-msgstr "Fotka"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
+msgstr "Tolerancia"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
-msgstr "Rozostriť pohybom"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
+msgstr "Čiara"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
-msgstr "Rozostrenia"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
+msgstr ""
+"Kliknutím ľavým tlačidlom kresliť primárnou farbou, kliknutím pravým "
+"tlačidlom kresliť sekundárnou farbou."
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
-msgstr "Atramentový náčrt"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
+msgstr "Presunúť výber"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
-msgstr "Umelecké"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
+msgstr "Potiahnutím výberu posuniete vybranú oblasť."
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
-msgstr "Radiálne rozostrenie"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
+msgstr "Obdĺžnikový výber"
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
-msgstr "Rozostrenie"
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
+msgstr ""
+"Kliknutím a ťahaním nakresliť obdĺžnikový výber. Držaním Shift obmedzíte na "
+"štvorec."
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
-msgid "Edge Detect"
-msgstr "Detekcia hrán"
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
+msgstr "Čarovná palička"
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
-#: Pinta.Effects/Effects/EmbossEffect.cs:34
-msgid "Stylize"
-msgstr "Štylizovanie"
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
+msgstr "Kliknutím vyberiete oblasť s podobnou farbou."
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
-msgstr "Zamrznuté sklo"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
+msgstr "Eliptický výber"
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
-msgstr "Olejomaľba"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
+msgstr ""
+"Kliknutím a ťahaním nakresliť elliptický výber. Držaním shift obmedzenie na "
+"kružnicu."
 
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
-msgid "Zoom Blur"
-msgstr "Rozostrenie priblížením"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
+msgstr "Laso"
 
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
-msgid "Polar Inversion"
-msgstr "Prevrátenie pólov"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
+msgstr "Kliknutím a ťahaním obtiahnuť vybratú blasť."
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:30
-msgid "Clouds"
-msgstr "Oblaky"
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
+msgstr "Vedro s farbou"
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr "Vykresliť"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
+msgstr ""
+"Kliknutím ľavým tlačidlom vyplniť oblasť primárnou farbou, Kliknutím pravým "
+"tlačidlom vyplniť oblasť sekundárnou farbou."
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
-msgstr "Žiara"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
+msgstr "Farebný prechod"
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
-msgid "Add Noise"
-msgstr "Pridať šum"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
+msgstr ""
+"Kliknutím a ťahaním nakresliť prechod od primárnej k sekundárnej farbe. "
+"Kliknutie pravým tlačidlom kreslí obrátene."
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
-msgstr "Šum"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
+msgstr "Lineárny prechod"
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
-msgstr "Fragmentovať"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
+msgstr "Lineárny odrazený prechod"
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
-msgstr "Doostriť"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
+msgstr "Lineárny diamantový prechod"
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
-msgstr "Skica ceruzkou"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
+msgstr "Radiálny prechod"
 
-#: Pinta.Effects/Effects/OutlineEffect.cs:29
-msgid "Outline"
-msgstr "Zvýrazniť obrysy"
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
+msgstr "Kónický prechod"
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
-msgstr "Gausovské rozostrenie"
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
+msgstr "Režim"
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
-msgstr "Dlaždicový odraz"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
+msgstr "Farebný režim"
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
-msgstr "Reliéf"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
+msgstr "Režim priesvitnosti"
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
-msgstr "Reliéf"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
+msgstr "Šírka štetca"
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
-msgstr "Fraktál Mandelbrot"
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
+msgstr "Zmenšiť veľkosť štetca"
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
-msgstr "Vyduť"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
+msgstr "Zväčšiť veľkosť štetca"
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
-msgstr "Skrútiť"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "Štetec"
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
-msgstr "Zjemniť portrét"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
+msgstr "Typ"
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
-msgstr "Redukovať šum"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
+msgstr "Prefarbiť"
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
-msgstr "Fraktál Julia"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
+msgstr "Kliknutím ľavým tlačidlom nahradiť sekundárnu farbu primárnou."
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
-msgstr "Medián"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
+msgstr "Normálny"
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
-msgstr "Krivky"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
+msgstr "Kruhy"
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
-msgstr "Úrovne"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
+msgstr "Štvorce"
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
-msgstr "Automatické úrovne"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
+msgstr "Špliechanec"
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
-msgstr "Invertovať farby"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
+msgstr "Mriežka"
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
-msgstr "Posterizovať"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
+msgstr "Elipsa"
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
-msgstr "Čiernobiele"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
+msgstr ""
+"Kliknutím a ťahaním nakresliť elipsu (kliknutím pravým tlačidlom sekundárnou "
+"farbou). Držaním Shift obmedzíte na kružnicu."
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
-msgstr "Odtieň / sýtosť"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
+msgstr "Klonovacie razítko"
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
-msgstr "Sépia"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
+msgstr "Ctrl+ľavý klik na výber zdroja, ľavý klik na kreslenie."
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
-msgstr "Jas / kontrast"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "Priblíženie"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
-msgstr "Doladenie úrovní"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
+msgstr ""
+"Kliknutím ľavým tlačidlom priblížiť. Kliknutím pravým tlačidlom oddialiť. "
+"Kliknutím a ťahaním priblížiť výber."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
-msgstr "Histogram vstupu"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
+msgstr "Zaoblený obdĺžnik"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
-msgstr "Vstup"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
+msgstr ""
+"Kliknutím a ťahaním nakresliť zaoblený obdĺžnik (kliknutím pravým tlačidlom "
+"v sekundárnej farbe). Držaním Shift obmedzíte na štvorec."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
-msgstr "Výstup"
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
+msgstr "Polomer"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
-msgstr "Histogram výstupu"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
+msgstr "Zmenšiť polomer zaoblenia rohov"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
-msgstr "Automaticky"
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
+msgstr "Zväčšiť polomer zaoblenia rohov"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
-msgstr "Zresetovať"
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "Výber farby"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
-msgstr "Červená"
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
+msgstr ""
+"Kliknutím ľavým tlačidlom vyberiete primárnu farbu. Kliknutím pravým "
+"tlačidlom vyberiete sekundárnu farbu."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
-msgstr "Zelená"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr "Po vybraní"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
-msgstr "Modrá"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
+msgstr "Neprepínať nástroj"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
-msgstr "Spojené"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr "Prepnúť na predošlý nástroj"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
-msgstr "Prenosová mapa"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
+msgstr "Prepnúť na ceruzku"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
-msgstr "RGB"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "Ceruzka"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
-msgstr "Svietivosť"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
+msgstr "Guma"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
-msgstr "(256, 256)"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
+msgstr "Kliknutím a ťahaním vymazať časť obrázka."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
-msgstr "Červená  "
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
+msgstr ""
+"Kliknutím ľavým tlačidlom voľné kreslenie čiarou hrubou jeden pixel a "
+"primárnou farby, kliknutím pravým tlačidlom použiť sekundárnu farbu."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
-msgstr "Modrá "
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
+msgstr "Presunúť vybarné pixle"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
-msgstr "Tip: Kliknite pravým na odstránenie kontrolných bodov."
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
+msgstr "Pretiahnutím výberu posuniete vybraný obsah."
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
-msgstr "Pridať novú vrstvu"
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "Skryť"
 
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
-msgstr "Odstrániť vrstvu"
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "Dokovať"
 
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
-msgstr "Duplikovať vrstvu"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "Automaticky skrývať"
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
-msgstr "Zlúčiť vrstvy"
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "Dokovateľné"
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
-msgstr "Vložit zo súboru..."
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "Plávajúce"
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
-msgstr "Prevrátiť vodorovne"
+#: Pinta/Options.cs:486
+msgid "OptionName"
+msgstr "MenoMožnosti"
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
-msgstr "Prevrátiť zvislo"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "Percentuálne:"
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
-msgstr "Otočenie / Priblíženie"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
+msgstr "Podľa abs. veľkosti"
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
-msgstr "Posunúť vrstvu vyžšie"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "Šírka:"
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
-msgstr "Posunúť vrstvu nižšie"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "pixelov"
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
-msgstr "Otvoriť súbor obrázka"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "Výška:"
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
-msgstr "Importovať zo súboru"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "Zachovať pomer strán"
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
-msgstr "Nový..."
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "Kotva:"
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
-msgstr "Otvoriť..."
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "Veľkosť nového obrázka          "
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
-msgstr "Otvoriť nedávne"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Vlastnosti vrstvy"
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
-msgstr "Zavrieť"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "Názov:"
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
-msgstr "Uložiť"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "Viditeľnosť"
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
-msgstr "Uložiť ako..."
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "Priehľadnosť:"
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
-msgstr "Tlačiť"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr "..."
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr "Ukončiť"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "_Súbor"
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
-msgstr "Nový"
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "_Úpravy"
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
-msgstr "Otvoriť"
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "_Zobraziť"
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
-msgstr "Pozadie"
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "_Obrázok"
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
-msgstr "Otvoriť obrázok"
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "_Vrstvy"
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
-msgstr "Nedá sa otvoriť súbor: {0}"
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "_Prispôsobenie"
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
-msgstr "Chyba"
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "_Efekty"
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
-msgstr "Uložiť zmeny do obrázka „{0}“ pred otvorením nového?"
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "_Okno"
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
-msgstr "Súbory obrázkov"
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
+msgstr "Okná nástrojov"
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
-msgstr "Všetky súbory"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "_Nápoveda"
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
-msgstr "Uložiť súbor obrázka"
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "Nástroje"
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
-msgstr "{0} obrázok ({1})"
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Dokumenty"
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
-msgstr "Obrázok OpenRaster (*.ora)"
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "Vrstvy"
+
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "História"
+
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
+msgstr "Spraviť snímok obrazovky"
 
-#: Pinta.Core/Actions/FileActions.cs:392
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
+msgstr "Omeškanie pred spravením snímku obrazovky (v sekundách):"
+
+#: Pinta/DialogHandlers.cs:139
 #, csharp-format
 msgid "Save the changes to image \"{0}\" before closing?"
 msgstr "Uložiť zmeny do obrázka „{0}“ pred zatvorením?"
 
-#: Pinta.Core/Actions/FileActions.cs:402
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "Ak neuložíte, všetky zmeny budú navždy stratené."
+
+#: Pinta/DialogHandlers.cs:147
 msgid "Close without saving"
 msgstr "Zatvoriť bez uloženia"
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
-msgstr "Vystrihnúť na výber"
-
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
-msgstr "Zmeniť veľkosť..."
-
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
-msgstr "Veľkosť plátna..."
-
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
-msgstr "Otočiť o 90° v smere hodinových ručičiek"
-
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
-msgstr "Otočiť o 90° proti smeru hodinovích ručičiek"
-
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
-msgstr "Otočiť o 180°"
-
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
-msgstr "Sploštiť"
-
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr "Späť"
-
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
-msgstr "Znovu"
-
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
-msgstr "Vystrihnúť"
-
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
-msgstr "Kopírovať"
-
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
-msgstr "Vložiť"
-
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
-msgstr "Vložiť do novej vrstvy"
-
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
-msgstr "Vložiť do nového obrázka"
-
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
-msgstr "Vymazať výber"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
+msgstr "Zmeniť veľkosť palety"
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
-msgstr "Vyplniť výber"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
+msgstr "Nová veľkosť palety:"
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
-msgstr "Invertovať výber"
-
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
-msgstr "Vybrať všetko"
-
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
-msgstr "Zrušiť výber"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "Priehľadnosť vrstvy"
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
-msgstr "Priblížiť"
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "Premenovať vrstvu"
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
-msgstr "Oddialiť"
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "Skryť vrstvu"
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
-msgstr "Priblížiť do okna"
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "Zobraziť vrstvu"
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
-msgstr "Priblížiť na výber"
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
+msgstr "Súbory obrázkov"
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
-msgstr "Aktuálna veľkosť"
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
+msgstr "Vkladanie zrušené"
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
-msgstr "Pixelová mriežka"
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
+msgstr "Schránka neobsahuje obrázok"
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
-msgstr "Pravítka"
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
+msgstr "Uložiť súbor obrázka"
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
-msgstr "Pixely"
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
+msgstr "Pinta nepodporuje ukladanie obrázkov v tomto type súborov."
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
-msgstr "Palce"
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
+msgstr "Súbor \"{0}\" už existuje. Chcete ho nahradiť?"
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
-msgstr "Centimetre"
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
+msgstr "Súbor už existuje v \"{1}\". Nahradenie prepíše jeho obsah."
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
-msgstr "Celá obrazovka"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr "počet vlákien použitých na vykreslenie"
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
-msgstr "Okno"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Verzia"
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
-msgstr "Pinta Webstránka"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Licencia"
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
-msgstr "Nahlásiť chybu"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "Vydané pod licenciou MIT X11"
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
-msgstr "Preložiť tento program"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "Autorské práva"
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
-msgstr "Všeobecné"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "od Pinta prispievateľov"
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
-msgstr "Nástroj"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "Názov"
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
-msgstr "Klávesová skratka"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "Cesta"
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
-msgstr "Vyhladzovanie"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
+msgstr "Kvalita JPEG"
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
-msgstr "Normálne / Prepisovacie zmiešavanie"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
+msgstr "Kvalita: "
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
-msgstr "Preklopiť obrázok vodorovne"
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "Prispeli do tohto vydania"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
-msgstr "Preklopiť obrázok zvislo"
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "Predchádzajúci prispievatelia"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
-msgstr "Preklopiť vrstvu vodorovne"
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  DAG Software https://launchpad.net/~dagsoftware\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst\n"
+"  helix84 https://launchpad.net/~helix84"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
-msgstr "Preklopiť vrstvu zvislo"
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Preložili:"
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
-msgstr "Dokončiť pixle"
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "Založené na práci Paint.NET-u:"
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
-msgstr "Vykresľovací efekt"
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "Použité niektoré ikony z:"
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
-msgstr "kopírovať"
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "O programe Pinta"
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
-msgstr "Vrstva"
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "Info o verzii"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1451,14 +1598,43 @@ msgstr ""
 #~ msgid "%"
 #~ msgstr "%"
 
+#~ msgid "Continue without saving"
+#~ msgstr "Pokračovať bez uloženia"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr "Uložiť zmeny do obrázka \"{0}\" pred vytvorením nového?"
+
 #~ msgid "X :"
 #~ msgstr "X :"
 
 #~ msgid "Y :"
 #~ msgstr "Y :"
 
+#~ msgid "Fill mode"
+#~ msgstr "Režim výplne"
+
 #~ msgid "Tip : Right-click to remove control points."
 #~ msgstr "Tip: Kliknite pravím na odstránenie ovládacích bodov."
 
+#~ msgid "Normal blending / Overwrite blending"
+#~ msgstr "Normálne / Prepisovacie zmiešavanie"
+
+#~ msgid "Antialiasing"
+#~ msgstr "Vyhladzovanie"
+
 #~ msgid "Show Pad"
 #~ msgstr "Zobraziť podložku"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before opening a new image?"
+#~ msgstr "Uložiť zmeny do obrázka „{0}“ pred otvorením nového?"
+
+#~ msgid "OpenRaster image (*.ora)"
+#~ msgstr "Obrázok OpenRaster (*.ora)"
+
+#~ msgid "X:"
+#~ msgstr "X:"
+
+#~ msgid "Y:"
+#~ msgstr "Y:"
diff --git a/po/messages-sl.po b/po/messages-sl.po
index aa0dbe6..cf87227 100644
--- a/po/messages-sl.po
+++ b/po/messages-sl.po
@@ -7,709 +7,668 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-10-18 07:09+0000\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2010-12-11 07:21+0000\n"
 "Last-Translator: grofaty <Unknown>\n"
 "Language-Team: Slovenian <sl at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "Vizitka"
-
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "Slikarski čopič"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "Okno"
 
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "_Datoteka"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "Plast"
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "_Uredi"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "kopija"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "_Pogled"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "Prilagodi platno"
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "_Slika"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr "Orodje"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "_Sloji"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr "Tipka bližnice"
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "_Prilagoditve"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr "Običajno utripanje"
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "Učin_ki"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr "Prepiši"
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "_Okno"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr "Vključi glajenje robov"
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "Pomo_č"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr "Izključi glajenje robov"
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
-msgstr ""
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "Spremeni velikost slike"
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "Orodja"
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr "Končne točke"
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "Paleta"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr "Zavrti 180°"
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Dokumenti"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr "Vodoravno zrcali sliko"
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "Sloji"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr "Vodoravno zrcali sliko"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "Zgodovina"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr "Zavrti 90° v smeri urinega kazalca"
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "Skrij"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr "Zavrti 90° v nasportni smeri urnega kazalca"
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "Sidrno"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr "Vodoravno zrcali plast"
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "Plavajoče"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr "Navpično zrcali plast"
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "Samodejno skrij"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
+msgstr "Splošno"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "Zasidraj"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr "{0} slika ({1})"
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "Prispevali k tej izdaji"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr "Izreži izbor"
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "Prejšnji avtorji prispevkov"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr "Spremeni velikost ..."
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
-msgstr ""
-"Launchpad Contributions:\n"
-"  Jonathan Pobst https://launchpad.net/~jpobst\n"
-"  grofaty https://launchpad.net/~grofaty"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr "Velikost platna ..."
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Prevedel:"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr "Zrcali vodoravno"
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "Osnovano na programu Paint.NET:"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr "Zrcali navpično"
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "Nekatere ikone uporabljene od:"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr "Splošči"
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "O programu Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr "Približaj"
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "Informacije o različici"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr "Oddalji"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "Naslov"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr "Prilagodi velikost oknu"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Različica"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr "Približaj izbrano"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "Pot"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr "Dejanska velikost"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Licenca"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
+msgstr "Orodna vrstica"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "Izdano pod licenco MIT X11 License"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr "Točkovna mreža"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "Avtorske pravice"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr "Ravnila"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "Pinta po avtorjih prispevkov"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr "Točke"
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
-msgstr "število niti za vračanje"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr "Palci"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "Spremeni velikost slike"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr "Centimetri"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "Po odstotku:"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr "Celozaslonsko"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
-msgstr "Za absolutno velikost:"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr "Mere ravnila"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "Širina:"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr "Dodaj novo plast"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "točk"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr "Izbriši plast"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "Višina:"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr "Podvoji plast"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "Obdrži razmerje velikosti"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr "Združi plast navzdol"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
-#: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "Lastnosti sloja"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr "Uvozi iz datoteke ..."
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "Ime:"
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr "Zavrti / Približaj"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "Vidno"
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr "Premakni plast gor"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "Prekrivnost:"
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr "Premakni plast dol"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "Prilagodi delovno površino"
+#: Pinta.Core/Actions/LayerActions.cs:74
+msgid "Layer Properties..."
+msgstr "Lastnosti plasti ..."
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "Sidro:"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
+msgstr "Odpri slikovno datoteko"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
-msgid "New Image"
-msgstr "Nova slika"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr "Uvozi iz datoteke"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "Nova velikost slike          "
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr "Shrani vse"
 
-#: Pinta/DialogHandlers.cs:57
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
-msgstr "Shrani spremembe slike v \"{0}\" pred ustvarjanjem nove slike?"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr "Zapri vse"
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr "V primeru, da datoteke ne shranite, bodo vse spremembe izgubljene."
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr "Spletna stran Pinte"
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "Nadaljuj brez shranjevanja"
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
+msgstr "Prijavi napako v programu"
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "Sloj prekrivnosti"
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
+msgstr "Prevedi ta program"
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "Preimenuj sloj"
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "O programu"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "Skrij sloj"
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr "Novo ..."
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "Prikaži sloj"
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
+msgstr "Nov posnetek ..."
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
-msgstr "oznaka1"
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
+msgstr "Odpri ..."
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "oznaka"
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr "Odpri nedavno"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
-msgstr "Naključni šum"
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
+msgstr "Zapri"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
-msgstr "Osemeni"
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
+msgstr "Shrani"
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
-msgstr "Izbirnik barv"
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
+msgstr "Shrani kot ..."
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
-msgstr ""
-"Levi klik za izbiro prvotne barve. Desni klik za izbiro drugotne barve."
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
+msgstr "Natisni"
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
-msgstr "Po izbiri"
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
+msgstr "Končaj"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
-msgstr "Ne preklopi orodja"
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr "Novo"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
-msgstr "Preklopi na prejšnje orodje"
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
+msgstr "Odpri"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
-msgstr "Preklopi na Svinčnik"
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
+msgstr "Razveljavi"
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
-msgstr "Svinčnik"
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
+msgstr "Uveljavi"
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
-msgstr "Laso izbira"
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
+msgstr "Izreži"
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
-msgstr "Klikni in povleci, da narišeš oris izbora."
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
+msgstr "Kopiraj"
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
-msgstr "Povečava"
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
+msgstr "Prilepi"
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
-msgstr ""
-"Levi klik za povečanje. Desni klik za pomanjšanje. Klikni in povleci za "
-"povečaš v izboru."
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
+msgstr "Prilepi v novo plast"
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
-msgstr "Širina čopiča"
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
+msgstr "Prilepi v novo sliko"
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
-msgstr "Zmanjšaj velikost čopiča"
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
+msgstr "Zradiraj izbor"
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
-msgstr "Povečaj velikost čopoča"
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
+msgstr "Zapolni izbor"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
-msgstr "Oblika orisa"
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
+msgstr "Obrni izbor"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
-msgstr "Polnilo orisa"
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
+msgstr "Izberi vse"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
-msgstr "Polnilo in oris oblike"
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
+msgstr "Odstrani izbiro"
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
-msgstr "Premakni izbrane točke"
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
+msgstr "Ponastavi na privzeto"
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
-msgstr "Povleci izbor, da prestaviš izbrano vsebino."
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
+msgstr "Nastavi število barv"
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
-msgstr "Posoda"
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "Paleta"
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
-msgstr "Klikni in povleci za krmarjenje slike"
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
+msgstr "Odpri datoteko palete"
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
-msgstr ""
-"Levi klik za slikanje proste oblike, eno-točkovna širina črte prvotne barve, "
-"desni klik za uporabo drugotne barve."
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
+msgstr "Datoteke palete (*.txt, *.gpl)"
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
-msgstr "Eliptični izbor"
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr "Vse datoteke"
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
 msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
 msgstr ""
-"Klikni in povleci, da narišeš eliptično obliko. Drži shift da omejiš na krog."
+"Ne morem odpreti datotekeo palete: {0}.\n"
+"Prosim preverei ali želiš odpreti veljavno GIMP ali Paint.NET paleto."
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
-msgstr "Preliv"
-
-#: Pinta.Tools/GradientTool.cs:60
-msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
-msgstr ""
-"Klikni in vleci da slikaš krivino iz prvotne v drugotno barvo. Desni klik za "
-"obratno."
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
+msgstr "Napaka"
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
-msgstr "Premočrten preliv"
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
+msgstr "Shrani datoteko palete"
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
-msgstr "Premočrten odsivni preliv"
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
+msgstr "Paint.NET paleta (*.txt)"
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
-msgstr "Premočrtni kara preliv"
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
+msgstr "GIMP paleta (*.gpl)"
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
-msgstr "Krožni preliv"
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr "Neshranjena slika {0}"
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
-msgstr "Stožčast preliv"
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
+msgstr "Ozadje"
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
-msgstr "Barvni način"
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
+msgid "New Image"
+msgstr "Nova slika"
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
-msgstr "Prozoren način"
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
+msgstr "Odpri sliko"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
-msgstr "Zaobljen pravokotnik"
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
+#, csharp-format
+msgid "Could not open file: {0}"
+msgstr "Ne morem odpreti datoteke: {0}"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
-msgstr ""
-"Klikni in vleci za slikanje zaokroženega pravokotnika (desni klik za "
-"drugotno barvo). Drži shift za omejitev."
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
+msgstr "Izrisovalni učinek"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
-msgstr "Polmer"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
+msgstr "Zmanjšaj število barv"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
-msgstr "Zmanjšaj polmer kota pravokotnika"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
+msgstr "Obrni barve"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
-msgstr "Povečaj polmer kota pravokotnika"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
+msgstr "Ravni"
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
-msgstr ""
-"Levi klik za slikanje osnovne barve, desni klik za slikanje drugotne barve."
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
+msgstr "Črno in belo"
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
-msgstr "Pravokotni izbor"
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
+msgstr "Samodejna raven"
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
-msgstr ""
-"Klikni in vleci za izris izbire pravokotnika. Pritisni shift da omejiš na "
-"kvadrat."
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
+msgstr "Odtenek / Nasičenost"
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
-msgstr "Vedro z barvo"
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
+msgstr "Svetlost / Kontrast"
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
-msgstr ""
-"Levi klik za zapolnitev področja s prvotno barvo, desni klik za zapolnitev z "
-"drugotno barvo."
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
+msgstr "Sepija"
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
-msgstr "Zazmnoževalni žig"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
+msgstr "Krivulje"
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
-msgstr "Premakni izbiro"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
+msgstr "Prenos karte"
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
-msgstr "Vleci izbiro za premik izbire obrisa."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
+msgstr "RGB"
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
-msgstr "Prosto oblikovna oblika"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
+msgstr "Svetlost"
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
-msgstr "Polnilni način"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
+msgstr "(256, 256)"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
-msgstr "Zvezno"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
+msgstr "Rdeč  "
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
-msgstr "Splošno"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
+msgstr "Zelena"
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
-msgstr "Odstopanje"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
+msgstr "Modro "
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
-msgstr "Elipsa"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
+msgstr "Ponastavi"
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
-msgstr ""
-"Klikni in vleci za izris elipse (desni klik za drugotno barvo). Drži shift "
-"da omejiš na krog."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
+msgstr "Namig: Desni klik, da odstraniš nadzorne točke."
 
-#: Pinta.Tools/TextTool.cs:37
-msgid "Text"
-msgstr "Besedilo"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
+msgstr "Prilagoditev ravni"
 
-#: Pinta.Tools/TextTool.cs:44
-msgid ""
-"Left click to place cursor, then type desired text. Text color is primary "
-"color."
-msgstr "Levi klik da postaviš kurzor, nato natipkaj želeno besedilo."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
+msgstr "Vhodni histogram"
 
-#: Pinta.Tools/TextTool.cs:131
-msgid "Font"
-msgstr "Pisava"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
+msgstr "Vhod"
 
-#: Pinta.Tools/TextTool.cs:186
-msgid "Bold"
-msgstr "Krepko"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
+msgstr "Izhod"
 
-#: Pinta.Tools/TextTool.cs:193
-msgid "Italic"
-msgstr "Ležeče"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
+msgstr "Izhodni histogram"
 
-#: Pinta.Tools/TextTool.cs:201
-msgid "Underline"
-msgstr "Podčrtano"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
+msgstr "Samodejno"
 
-#: Pinta.Tools/TextTool.cs:210
-msgid "Left Align"
-msgstr "Poravnaj levo"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
+msgstr "Rdeča"
 
-#: Pinta.Tools/TextTool.cs:219
-msgid "Center Align"
-msgstr "Središčna poravnava"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
+msgstr "Modra"
 
-#: Pinta.Tools/TextTool.cs:227
-msgid "Right Align"
-msgstr "Poravnaj desno"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
+msgstr "Povezan"
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
-msgstr "Izbor čarobne palice"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
+msgstr "Svinčnikova skica"
 
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
-msgstr "Klikni, da izbereš področje sorodne barve."
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
+msgstr "Umetniški"
 
-#: Pinta.Tools/RectangleTool.cs:38
-msgid "Rectangle"
-msgstr "Pravokotnik"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
+msgstr "Odstrani žarišče"
 
-#: Pinta.Tools/RectangleTool.cs:44
-msgid ""
-"Click and drag to draw a rectangle (right click for secondary color). Hold "
-"shift to constrain to a square."
-msgstr ""
-"Klikni in vleci, da narišeš pravokotnik (desni klik za izbiro drugotne "
-"barve). Drži shift da omejiš na kvadrat."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
+msgstr "Zabrisanost"
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
-msgstr "Črta"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
+msgstr "Izboklina"
 
-#: Pinta.Tools/LineCurveTool.cs:44
-msgid ""
-"Left click to draw with primary color, right click for secondary color."
-msgstr "Levi klik, da slikaš s prvotno barvo, desni klik za drugotno barvo."
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
+msgstr "Popači"
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
-msgstr "Ponovno pobarvaj"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
+msgstr "Del Mandelbrot"
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
-msgstr "Levi klik, da zamenjaš drugotno barvo s prvotno barvo."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
+msgstr "Izriši"
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
-msgstr "Radirka"
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
+msgstr "Srednja vrednost"
 
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
-msgstr "Klikni in vleci, da zbrišeš del slike"
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
+msgstr "Šum"
 
 #: Pinta.Effects/Effects/PixelateEffect.cs:26
 msgid "Pixelate"
 msgstr "Točkuj"
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr "Popači"
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
-msgstr "Odstranitev učinka rdečih oči"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
+msgstr "Izostri"
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
 msgid "Photo"
 msgstr "Fotografija"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
-msgstr "Zabriši kot pri gibanju ..."
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
+msgstr "Oljno slikanje"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
-msgstr "Zabrisanost"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
+msgstr "Zabriši po Gaussu"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
-msgstr "Črnilo skice"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
+msgstr "Žarenje"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
-msgstr "Umetniški"
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
+msgstr "Omehčana podoba"
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
-msgstr "Radialno mehčanje"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
+msgstr "Razpostavi odsev"
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
-msgstr "Odosredotočitev"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr "Odstranitev učinka rdečih oči"
+
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
+msgstr "Zamrznjeno steklo"
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
 msgid "Edge Detect"
 msgstr "Zaznaj rob"
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
 #: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
 msgid "Stylize"
 msgstr "Prilagodi slog"
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
-msgstr "Zamrznjeno steklo"
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
+msgstr "Fraktal julije"
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
-msgstr "Oljno slikanje"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr "Zabriši kot pri gibanju"
+
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr "Izboči"
+
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
+msgstr "Črnilo skice"
 
 #: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
 msgid "Zoom Blur"
@@ -723,542 +682,735 @@ msgstr "Popolna obrnitev"
 msgid "Clouds"
 msgstr "Oblaki"
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr "Upodobi"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
+msgstr "Delček"
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
-msgstr "Žarenje"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr "Zmanjšaj šum"
+
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr "Radialno mehčanje"
+
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
+msgstr "Upogib"
 
 #: Pinta.Effects/Effects/AddNoiseEffect.cs:30
 msgid "Add Noise"
 msgstr "Dodaj šum"
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
-msgstr "Šum"
-
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
-msgstr "Delček"
-
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
-msgstr "Izostri"
-
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
-msgstr "Svinčnikova skica"
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
+msgstr "Relief"
 
 #: Pinta.Effects/Effects/OutlineEffect.cs:29
 msgid "Outline"
 msgstr "Obroba"
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
-msgstr "Zabriši po Gaussu"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
+msgstr "Naključni šum"
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
-msgstr "Odsev"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
+msgstr "Osemeni"
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
-msgstr "Relief"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "oznaka1"
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
-msgstr "Izboči"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "oznaka"
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
-msgstr "Del Mandelbrot"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
+msgstr "Izberi osnovno barvo"
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
-msgstr "Izboklina"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
+msgstr "Izberi pomožno barvo"
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
-msgstr "Upogib"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr "Izberi barvo palete"
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
-msgstr "Omehčana podoba"
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
+msgstr "Posoda"
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
-msgstr "Zmanjšaj šum"
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
+msgstr "Kliknite in povlecite za krmarjenje slike"
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
-msgstr "Fraktal julije"
+#: Pinta.Tools/TextTool.cs:37
+msgid "Text"
+msgstr "Besedilo"
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
-msgstr "Srednja vrednost"
+#: Pinta.Tools/TextTool.cs:44
+msgid ""
+"Left click to place cursor, then type desired text. Text color is primary "
+"color."
+msgstr ""
+"Levi klik da postaviš kurzor, nato natipkaj želeno besedilo. Barva besedila "
+"je osnovna barva."
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
-msgstr "Krivulje"
+#: Pinta.Tools/TextTool.cs:144
+msgid "Font"
+msgstr "Pisava"
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
-msgstr "Sloji"
+#: Pinta.Tools/TextTool.cs:205
+msgid "Bold"
+msgstr "Krepko"
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
-msgstr "Samodejni sloj"
+#: Pinta.Tools/TextTool.cs:212
+msgid "Italic"
+msgstr "Ležeče"
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
-msgstr "Obrni barve"
+#: Pinta.Tools/TextTool.cs:220
+msgid "Underline"
+msgstr "Podčrtano"
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
-msgstr "Zmanjšaj število barv"
+#: Pinta.Tools/TextTool.cs:229
+msgid "Left Align"
+msgstr "Poravnaj levo"
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
-msgstr "Črno-belo"
+#: Pinta.Tools/TextTool.cs:238
+msgid "Center Align"
+msgstr "Središčna poravnava"
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
-msgstr "Obarvaj / Nasičenost"
+#: Pinta.Tools/TextTool.cs:246
+msgid "Right Align"
+msgstr "Poravnaj desno"
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
-msgstr "Sepija"
+#: Pinta.Tools/RectangleTool.cs:38
+msgid "Rectangle"
+msgstr "Pravokotnik"
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
-msgstr "Svetlost / Kontrast"
+#: Pinta.Tools/RectangleTool.cs:44
+msgid ""
+"Click and drag to draw a rectangle (right click for secondary color). Hold "
+"shift to constrain to a square."
+msgstr ""
+"Kliknite in vlecite, da narišete pravokotnik (desni klik za izbiro pomožne "
+"barve). Držite Shift, da omejite na kvadrat."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
-msgstr "Prilagoditev slojev"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
+msgstr "Prosto oblikovana oblika"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
-msgstr "Vhodni histogram"
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
+msgid ""
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
+msgstr ""
+"Levi klik za slikanje z osnovno barvo, desni klik za slikanje s pomožno "
+"barvo."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
-msgstr "Vhod"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
+msgstr "Zapolni slog"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
-msgstr "Izhod"
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
+msgstr "Oblika orisa"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
-msgstr "Izhodni histogram"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
+msgstr "Polnilo orisa"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
-msgstr "Samodejno"
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
+msgstr "Polnilo in oris oblike"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
-msgstr "Ponastavi"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
+msgstr "Tekoči način"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
-msgstr "Rdeča"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
+msgstr "Zvezno"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
-msgstr "Zelena"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
+msgstr "Splošno"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
-msgstr "Modra"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
+msgstr "Odstopanje"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
-msgstr "Povezan"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
+msgstr "Črta"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
-msgstr "Prenesi karto"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
+msgstr "Levi klik za slikanje z osnovno barvo, desni klik za pomožno barvo."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
-msgstr "RGB"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
+msgstr "Premakni izbiro"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
-msgstr "Svetlost"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
+msgstr "Vleci izbiro za premik izbire obrisa."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
-msgstr "(256, 256)"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
+msgstr "Pravokotni izbor"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
-msgstr "Rdeč  "
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
+msgstr ""
+"Kliknite in vlecite za izris izbire pravokotnika. Pritisnite Shift, da "
+"omejite na kvadrat."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
-msgstr "Modro "
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
+msgstr "Izbor čarobne palice"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
-msgstr "Namig: Desni klik, da odstraniš nadzorne točke."
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
+msgstr "Kliknite, da izberete področje sorodne barve."
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
-msgstr "Dodaj nov sloj"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
+msgstr "Eliptični izbor"
 
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
-msgstr "Zbriši sloj"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
+msgstr ""
+"Kliknite in povlecite, da narišete eliptično obliko. Držite Shift, da "
+"omejite na krog."
 
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
-msgstr "Podvoji sloj"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
+msgstr "Laso izbira"
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
-msgstr "Združi sloj navzdol"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
+msgstr "Kliknite in povlecite, da narišete oris izbora."
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
-msgstr "Uvozi iz datoteke..."
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
+msgstr "Vedro z barvo"
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
-msgstr "Zrcali vodoravno"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
+msgstr ""
+"Levi klik za zapolnitev področja z osnovno barvo, desni klik za zapolnitev s "
+"pomožno barvo."
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
-msgstr "Zrcali navpično"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
+msgstr "Preliv"
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
-msgstr "Zavrti / Povečaj"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
+msgstr ""
+"Kliknite in vlecite, da naslikate krivino iz osnovne v pomožno barvo. Desni "
+"klik za obratno."
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
-msgstr "Premakni sloj gor"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
+msgstr "Premočrten preliv"
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
-msgstr "Premakni sloj dol"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
+msgstr "Premočrten odsivni preliv"
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
-msgstr "Odpri slikovno datoteko"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
+msgstr "Premočrtni kara preliv"
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
-msgstr "Uvozi iz datoteke"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
+msgstr "Krožni preliv"
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
-msgstr "Novo..."
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
+msgstr "Stožčast preliv"
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
-msgstr "Odpri..."
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
+msgstr "Način"
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
-msgstr "Odpri nedavno"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
+msgstr "Barvni način"
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
-msgstr "Zapri"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
+msgstr "Prozoren način"
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
-msgstr "Shrani"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
+msgstr "Širina čopiča"
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
-msgstr "Shrani kot..."
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
+msgstr "Zmanjšaj velikost čopiča"
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
-msgstr "Natisni"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
+msgstr "Povečaj velikost čopoča"
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr "Izhod"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "Slikarski čopič"
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
-msgstr "Novo"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
+msgstr "Vrsta"
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
-msgstr "Odpri"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
+msgstr "Ponovno pobarvaj"
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
-msgstr "Ozadje"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
+msgstr "Levi klik, da zamenjaš pomožno barvo z osnovno barvo."
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
-msgstr "Odpri sliko"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
+msgstr "Običajno"
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
-msgstr "Ne morem odpreti datoteke: {0}"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
+msgstr "Krogi"
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
-msgstr "Napaka"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
+msgstr "Kvadrati"
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
-msgstr "Shrani spremembe v sliko \"{0}\" pred odpiranjem nove slike?"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
+msgstr "Škropilnik"
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
-msgstr "Datoteke slik"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
+msgstr "Mreža"
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
-msgstr "Vse datoteke"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
+msgstr "Elipsa"
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
-msgstr "Shrani slikovno datoteko"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
+msgstr ""
+"Kliknite in vlecite za izris elipse (desni klik za pomožno barvo). Držite "
+"Shift, da omejite na krog."
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
-msgstr "{0} slika ({1})"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
+msgstr "Razmnoževalni žig"
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
-msgstr "OpenRaster slika (*.ora)"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
+msgstr "Ctrl-levi klik, da določiš področje, levi klik za slikanje."
 
-#: Pinta.Core/Actions/FileActions.cs:392
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before closing?"
-msgstr "Shrani spremebe v sliko \"{0}\" pred zapiranjem?"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "Približanje"
 
-#: Pinta.Core/Actions/FileActions.cs:402
-msgid "Close without saving"
-msgstr "Zapri brez shranjevanja"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
+msgstr ""
+"Levi klik za približanje. Desni klik za oddaljevanje. Kliknite in povlecite, "
+"da približate izbrano."
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
-msgstr "Izreži izbor"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
+msgstr "Zaobljen pravokotnik"
 
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
-msgstr "Nastavi velikost..."
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
+msgstr ""
+"Kliknite in vlecite za slikanje zaokroženega pravokotnika (desni klik za "
+"pomožno barvo). Držite Shift za omejitev."
 
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
-msgstr "Velikost delovne površine..."
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
+msgstr "Polmer"
 
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
-msgstr "Zavrti 90° v smeri urinega kazalca"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
+msgstr "Zmanjšaj polmer kota pravokotnika"
 
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
-msgstr "Zavrti 90° v nasportni smeri urnega kazalca"
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
+msgstr "Povečaj polmer kota pravokotnika"
 
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
-msgstr "Zavrti 180°"
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "Izbirnik barv"
 
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
-msgstr "Splošči"
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
+msgstr ""
+"Levi klik za izbiro osnovne barve. Desni klik za izbiro pomožne barve."
 
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr "Razveljavi"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr "Po izbiri"
 
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
-msgstr "Uveljavi"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
+msgstr "Ne preklopi orodja"
 
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
-msgstr "Izreži"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr "Preklopi na prejšnje orodje"
 
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
-msgstr "Kopiraj"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
+msgstr "Preklopi na svinčnik"
 
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
-msgstr "Prilepi"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "Svinčnik"
 
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
-msgstr "Prilepi v nov sloj"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
+msgstr "Radirka"
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
-msgstr "Prilepi v novo sliko"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
+msgstr "Kliknite in vlecite, da zradirate del slike"
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
-msgstr "Pobriši izbor"
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
+msgstr ""
+"Levi klik za slikanje proste oblike, eno-točkovna širina črte osnovne barve, "
+"desni klik za uporabo pomožne barve."
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
-msgstr "Zapolni izbor"
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
+msgstr "Premakni izbrane točke"
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
-msgstr "Obrni izbor"
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
+msgstr "Povleci izbor, da prestaviš izbrano vsebino."
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
-msgstr "Izberi vse"
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "Skrij"
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
-msgstr "Odizberi"
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "Usidraj"
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
-msgstr "Povečaj"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "Samodejno skrij"
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
-msgstr "Zmanjšaj"
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "Sidrno"
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
-msgstr "Povečaj k oknu"
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "Plavajoče"
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
-msgstr "Povečaj izbrano"
+#: Pinta/Options.cs:486
+msgid "OptionName"
+msgstr "OpcijskoIme"
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
-msgstr "Dejanska velikost"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "Po odstotku:"
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
-msgstr "Točkovna mreža"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
+msgstr "Za absolutno velikost:"
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
-msgstr "Ravnila"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "Širina:"
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
-msgstr "Točke"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "točk"
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
-msgstr "Palcev"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "Višina:"
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
-msgstr "Centimetrov"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "Obdrži velikostno razmerje"
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
-msgstr "Celi zaslon"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "Sidro:"
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
-msgstr "Okno"
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "Nova velikost slike          "
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
-msgstr "Spletna stran Pinte"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Lastnosti plasti"
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
-msgstr "Prijavi napako v programu"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "Ime:"
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
-msgstr "Prevedi to aplikacijo"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "Vidno"
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
-msgstr "Splošno"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "Prekrivnost:"
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
-msgstr "Orodje"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr "..."
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
-msgstr "Tipka bližnice"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "_Datoteka"
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
-msgstr "Glajenje"
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "_Uredi"
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
-msgstr "Običajno utripanje / prekrij utripanje"
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "Po_gled"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
-msgstr "Vodoravno prekucni sliko"
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "Sl_ika"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
-msgstr "Navpično prekucni sliko"
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "P_lasti"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
-msgstr "Vodoravno prekucni sloj"
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "_Prilagoditve"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
-msgstr "Navpično prekucni sloj"
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "Učin_ki"
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
-msgstr "Končne točke"
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "_Okno"
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
-msgstr "Izvedi učinek"
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
+msgstr "Okna orodij"
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
-msgstr "kopiraj"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "Pomo_č"
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
-msgstr "Sloj"
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "Orodja"
+
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Dokumenti"
+
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "Plasti"
+
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "Zgodovina"
+
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
+msgstr "Naredi posnetek"
+
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
+msgstr "Zakasni preden narediš posnetek (sekunde):"
+
+#: Pinta/DialogHandlers.cs:139
+#, csharp-format
+msgid "Save the changes to image \"{0}\" before closing?"
+msgstr "Shrani spremembe v sliko \"{0}\" pred zapiranjem?"
+
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "V primeru, da datoteke ne shranite, bodo vse spremembe izgubljene."
+
+#: Pinta/DialogHandlers.cs:147
+msgid "Close without saving"
+msgstr "Zapri brez shranjevanja"
+
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
+msgstr "Prilagodi paleto"
+
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
+msgstr "Nova velikost palete"
+
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "Plast prekrivnosti"
+
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "Preimenuj plast"
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "Skrij plast"
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "Prikaži plast"
+
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
+msgstr "Datoteke slik"
+
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
+msgstr "Prilepljanje preklicano"
+
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
+msgstr "Odložišče ne vsebuje slike"
+
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
+msgstr "Shrani slikovno datoteko"
+
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
+msgstr "Pinta ne podpira shranjevanje slike v to obliko datoteke."
+
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
+msgstr "Datoteka \"{0}\" že obstaja. Jo želite prepisati?"
+
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
+msgstr ""
+"Datoteka že obstaja v \"{1}\". Zamenjava bo prepisala obstoječo vsebino."
+
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr "število niti za izrisovanje"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Različica"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Dovoljenje"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "Izdano z dovoljenjem MIT X11"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "Avtorske pravice"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "avtorjev prispevkov Pinte"
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "Naslov"
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "Pot"
+
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
+msgstr "JPEG kakovost"
+
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
+msgstr "Kakovost: "
+
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "Prispevali k tej izdaji"
+
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "Prejšnji avtorji prispevkov"
+
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst\n"
+"  grofaty https://launchpad.net/~grofaty"
+
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Prevedel:"
+
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "Osnovano na programu Paint.NET:"
+
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "Nekatere ikone uporabljene od:"
+
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "O programu Pinta"
+
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "Informacije o različici"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1281,7 +1433,7 @@ msgstr "Kot"
 
 #: CloudsEffect dialog
 msgid "Antialias"
-msgstr "Zglajevanje"
+msgstr "Glajenje robov"
 
 #: GlowEffect dialog
 msgid "Blend Mode"
@@ -1301,11 +1453,11 @@ msgstr "Velikost celice"
 
 #: MotionBlurEffect dialog
 msgid "Center Offset"
-msgstr "Osrediščena izravnava"
+msgstr "Osrediščen odmik"
 
 #: OilPaintingEffect dialog
 msgid "Centered"
-msgstr "Osrediščeno"
+msgstr "Središčeno"
 
 #: PencilSketchEffect dialog
 msgid "Coarseness"
@@ -1317,7 +1469,7 @@ msgstr "Razpon barv"
 
 #: InkSketchEffect dialog
 msgid "Color Saturation"
-msgstr "Barvna zasičenost"
+msgstr "Barvna nasičenost"
 
 #: GlowEffect dialog
 msgid "Coloring"
@@ -1347,7 +1499,7 @@ msgstr "Množitelj"
 
 #: InkSketchEffect dialog
 msgid "Fragments"
-msgstr "Delčki"
+msgstr "Kosi"
 
 #: TileEffect dialog
 msgid "Ink Outline"
@@ -1367,7 +1519,7 @@ msgstr "Osvetlitev"
 #: BulgeEffect dialog
 #: PencilSketchEffect dialog
 msgid "Offset"
-msgstr "Zamik"
+msgstr "Odmik"
 
 #: MedianEffect dialog
 msgid "Pencil Tip Size"
@@ -1391,7 +1543,7 @@ msgstr "Kakovost"
 #: TileEffect dialog
 #: RedEyeRemoveData dialog
 msgid "Rotation"
-msgstr "Zasuk"
+msgstr "Vrtenje"
 
 #: CloudsEffect dialog
 msgid "Saturation percentage"
@@ -1419,7 +1571,7 @@ msgstr "Debelina"
 
 #: RedEyeRemoveData dialog
 msgid "Tile Size"
-msgstr "Velikost delca"
+msgstr "Velikost ploščice"
 
 #: JuliaFractalEffect dialog
 msgid "Warmth"
@@ -1435,11 +1587,19 @@ msgstr ""
 
 #: RedEyeRemoveEffect dialog
 msgid "Hint: For best results, first use selection tools to select each eye."
-msgstr "Namig: Za najboljši izid uporabi orodja za izbiro posameznega očesa."
+msgstr ""
+"Namig: Za najboljši izid najprej uporabi orodja za izbiro vsakega očesa."
 
 #~ msgid "%"
 #~ msgstr "%"
 
+#~ msgid "Continue without saving"
+#~ msgstr "Nadaljuj brez shranjevanja"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr "Shrani spremembe slike v \"{0}\" pred ustvarjanjem nove slike?"
+
 #~ msgid "X :"
 #~ msgstr "X :"
 
@@ -1449,5 +1609,27 @@ msgstr "Namig: Za najboljši izid uporabi orodja za izbiro posameznega očesa."
 #~ msgid "Show Pad"
 #~ msgstr "Orodjarna"
 
+#~ msgid "Fill mode"
+#~ msgstr "Polnilni način"
+
+#~ msgid "Antialiasing"
+#~ msgstr "Glajenje"
+
 #~ msgid "Tip : Right-click to remove control points."
 #~ msgstr "Namig: Desni-klik, da odstraniš nadzorne točke."
+
+#~ msgid "OpenRaster image (*.ora)"
+#~ msgstr "OpenRaster slika (*.ora)"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before opening a new image?"
+#~ msgstr "Shrani spremembe v sliko \"{0}\" pred odpiranjem nove slike?"
+
+#~ msgid "Normal blending / Overwrite blending"
+#~ msgstr "Običajno utripanje / prekrij utripanje"
+
+#~ msgid "X:"
+#~ msgstr "X:"
+
+#~ msgid "Y:"
+#~ msgstr "Y:"
diff --git a/po/messages-sr.po b/po/messages-sr.po
index 0b0250f..98ab505 100644
--- a/po/messages-sr.po
+++ b/po/messages-sr.po
@@ -7,552 +7,744 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-09-07 10:59+0000\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2010-10-27 01:45+0000\n"
 "Last-Translator: Jonathan Pobst <Unknown>\n"
 "Language-Team: Serbian <sr at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "O"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "Prozor"
 
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "Četkica"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "Sloj"
 
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "_Fajl"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "kopiraj"
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "_Izmeni"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "Promeni veličinu platna"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "_Prikaz"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr "Alatke"
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "_Slika"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr "Taster prečice"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "_Slojevi"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr ""
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "_Podešavanja"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr ""
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "_Efekti"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr ""
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "_Prozor"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr ""
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "_Pomoć"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "Promeni veličinu slike"
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr "Dovrši piksele"
+
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr "Okreni 180°"
+
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr "Prevrni sliku horizontalno"
+
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr "Prevrni sliku vertikalno"
+
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr "Okreni 90° u smeru kazaljke na časovniku"
+
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr "Okreni 90° suprotno od smera kazaljke na časovniku"
+
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr "Prevrni sloj horizontalno"
+
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr "Prevrni sloj vertikalno"
+
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
+msgstr "Opšte"
+
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr "{0} slika ({1})"
+
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr "Izreži prema odabiru"
+
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr "Promeni veličinu..."
+
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr "Dimenzije platna..."
+
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr "Prevrni vodoravno"
+
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr "Prevrni uspravno"
+
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr "Spljošti"
+
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr "Uveličaj"
+
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr "Umanji"
+
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr "Uveličaj do prozora"
+
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr "Uveličaj odabrano"
+
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr "Stvarna veličina"
+
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
 msgstr ""
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "Alati"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr "Mreža piksela"
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "Paleta"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr "Lenjiri"
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Dokumenti"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr "Pikseli"
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "Slojevi"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr "Inči"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "Istorijat"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr "Centimetri"
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "Sakrij"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr "Ceo ekran"
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "Prikačiv"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "Plutajuće"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr "Dodaj novi sloj"
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "Automatski Sakrij"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr "Obriši sloj"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "Dok"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr "Dupliraj sloj"
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "Saradnici u ovoj verziji"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr "Spoj sloj sa donjim"
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "Prethodni saradnici"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr "Uvezi iz fajla ..."
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr "Rotiraj / Uvećaj"
+
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr "Pomeri sloj gore"
+
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr "Pomeri sloj dole"
+
+#: Pinta.Core/Actions/LayerActions.cs:74
+msgid "Layer Properties..."
 msgstr ""
-"Launchpad Contributions:\n"
-"  Jonathan Pobst https://launchpad.net/~jpobst\n"
-"  boki24 https://launchpad.net/~bojansav"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Preveo:"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
+msgstr "Učitaj sliku"
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "Zasniva se na programu Paint.NET:"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr "Unesi iz fajla"
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "Koristi pojedine ikone iz:"
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "O Pinta programu"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "Informacija o verziji"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr "Pinta internet stranica"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "Naslov"
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
+msgstr "Zabeleži grešku"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Verzija"
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
+msgstr "Prevedi ovaj program"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "Putanja"
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "O"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Licenca"
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr "Nova..."
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "Izdato pod MIT X11 licencom"
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "Autorska prava"
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
+msgstr "Otvori..."
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "od Pinta saradnika"
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr "Otvori skorašnje"
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
-msgstr "broj niti koje će se koristiti za iscrtavanje"
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
+msgstr "Zatvori"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "Promeni veličinu slike"
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
+msgstr "Sačuvaj"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "U procentima:"
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
+msgstr "Sačuvaj kao..."
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
-msgstr "Po apsolutnoj veličini:"
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
+msgstr "Odštampaj"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "Širina:"
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
+msgstr "Izađi"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "piksela"
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr "Novi"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "Visina:"
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
+msgstr "Otvori"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "Zadrži proporcije"
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
+msgstr "Opozovi"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
-#: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "Osobine sloja"
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
+msgstr "Ponovi"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "Naziv:"
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
+msgstr "Iseci"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "Vidljivo"
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
+msgstr "Kopiraj"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "Prozirnost"
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
+msgstr "Prilepi"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "Promeni veličinu platna"
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
+msgstr "Prilepi u novi sloj"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "Sidro:"
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
+msgstr "Prilepi u novu sliku"
+
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
+msgstr "Obriši odabrano"
+
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
+msgstr "Popuni odabrano"
+
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
+msgstr "Obrni odabrano"
+
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
+msgstr "Izaberi sve"
+
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
+msgstr "Poništi izbor"
+
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
+msgstr ""
+
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
+msgstr ""
+
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "Paleta"
+
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
+msgstr ""
+
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
+msgstr ""
+
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr "Svi fajlovi"
+
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
+msgid ""
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
+msgstr ""
+
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
+msgstr "Greška"
+
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
+msgstr ""
+
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
+msgstr ""
+
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
+msgstr ""
 
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr ""
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
+msgstr "Pozadina"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
 msgid "New Image"
 msgstr "Nova slika"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "Nova veličina slike          "
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
+msgstr "Otvori sliku"
 
-#: Pinta/DialogHandlers.cs:57
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
 #, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
-msgstr "Sačuvati izmene slike \"{0}\" pre kreiranja nove?"
+msgid "Could not open file: {0}"
+msgstr "Nisam uspeo otvoriti fajl: {0}"
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr "Ako ne sačuvate, sve izmene će biti trajno izgubljene."
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
+msgstr "Efekat iscrtavanja"
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "Nastavit bez snimanja"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
+msgstr "Posterizovanje"
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "Providnost sloja"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
+msgstr "Izvrni boje"
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "Preimenuj sloj"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
+msgstr "Nivoi"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "Sakrij sloj"
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
+msgstr "Crno i belo"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "Prikaži sloj"
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
+msgstr "Auto nivoi"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
-msgstr "natpis1"
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
+msgstr "Nijansa / Zasićenje"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "natpis"
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
+msgstr "Jačina osvetljenja/kontrast"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
-msgstr "Slučajni šum"
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
+msgstr "Sepia"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
-msgstr "Ponovo zasej"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
+msgstr "Krive"
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
-msgstr "Birač boja"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
+msgstr "Mapa prenosa"
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
+msgstr "RGB"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
+msgstr "Osvetljenost"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
+msgstr "Copy text   \t (256, 256)"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
+msgstr "Crveno  "
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
+msgstr "Zeleno"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
+msgstr "Plavo "
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
+msgstr "Resetuj"
+
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
 msgstr ""
-"Levi klik za postavljanje osnovne boje. Desni klik za postavljanje druge "
-"boje."
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
-msgstr "Nakon odabira"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
+msgstr "Podešavanje nivoa"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
-msgstr "Ne vrši izmenu alata"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
+msgstr "Ulazni histogram"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
-msgstr "Izmeni na prethodni alaz"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
+msgstr "Ulaz"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
-msgstr "Prebaci na alat olovka"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
+msgstr "Izlaz"
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
-msgstr "Olovka"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
+msgstr "Izlazni histogram"
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
-msgstr "Odabir tipa laso"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
+msgstr "Automatski"
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
-msgstr "Klikni i povuci da se isrta okvir odabranog područja."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
+msgstr "Crveno"
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
-msgstr "Uvećanje"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
+msgstr "Plavo"
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
-msgstr ""
-"Levi klik za povećanje. Desni klik za smanjenje. Klik i povlačenje za "
-"povećanje odabranog."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
+msgstr "Povezano"
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
-msgstr "Širina četkice"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
+msgstr "Skica olovkom"
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
-msgstr "Smanji veličinu četkice"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
+msgstr "Umetnička"
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
-msgstr "Povećaj veličinu četkice"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
+msgstr "Van fokusa"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
-msgstr "Uokviri oblik"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
+msgstr "Zamućenja"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
-msgstr "Popuni oblikom"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
+msgstr "Ispupči"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
-msgstr "Popuni i uokviri oblik"
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
+msgstr "Deformiši"
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
-msgstr "Premesti odabrane piksele"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
+msgstr "Mandelbrotov fraktal"
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
-msgstr "Premesti odabir da bi premestio odabrani sadržaj."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
+msgstr "Iscrtavanje"
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
-msgstr "Pan"
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
+msgstr "Srednji"
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
-msgstr "Klikni i prevuci za pozicioniranje slike."
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
+msgstr "Šum"
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
-msgstr ""
-"Levi klik za crtanje slobodnom formom, širine jedan piksel osnovnom bojom, "
-"desni klik za drugu boju."
+#: Pinta.Effects/Effects/PixelateEffect.cs:26
+msgid "Pixelate"
+msgstr "Pikselizuj"
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
-msgstr "Odaberi elipsom"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
+msgstr "Izoštri"
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
-msgstr ""
-"Klikni i prevuci da za eliptični odabir. Pritisni šift za kružni odabir."
+#: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
+msgid "Photo"
+msgstr "Fotografija"
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
-msgstr "Preliv"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
+msgstr "Slikanje uljem"
 
-#: Pinta.Tools/GradientTool.cs:60
-msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
-msgstr ""
-"Klikni i prevuci da se iscrta od osnovne do druge boje. Desni klik za "
-"obrnuto."
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
+msgstr "Gausovo zamućenje"
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
-msgstr "Linearni preliv"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
+msgstr "Сјај"
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
-msgstr "Linearni reflektujući preliv"
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
+msgstr "Umekšani portret"
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
-msgstr "Linearni dijamant preliv"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
+msgstr "Odsjaj pločica"
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
-msgstr "Kružni preliv"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr "Uklanjanje efekta crvenih očiju"
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
-msgstr "Kupast preliv"
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
+msgstr "Zaleđeno staklo"
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
-msgstr "Režim boje"
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
+msgid "Edge Detect"
+msgstr "Pronađi ivice"
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
-msgstr "Režim providnosti"
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
+#: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
+msgid "Stylize"
+msgstr "Silizuj"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
-msgstr "Zaobljeni pravougaonik"
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
+msgstr "Julijin fraktal"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
-msgstr ""
-"Klikni i prevuci da iscrtaš zaobljeni pravougaonik (desni klik za drugu "
-"boju). Pritisni šift za kvadrat."
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr "Zamućenje pokreta"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
-msgstr "Poluprečnik"
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr "Izbočine"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
-msgstr "Smanji poluprečnik zaobljenja uglova"
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
+msgstr "Skica mastilom"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
-msgstr "Povećaj poluprečnik zaobljenja uglova"
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
+msgid "Zoom Blur"
+msgstr "Uvećano zamućenje"
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
-msgstr ""
-"Levi klik za crtanje osnovnom bojom, desni klik za crtanje drugom bojom."
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
+msgid "Polar Inversion"
+msgstr "Polarna inverzija"
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
-msgstr "Odabir kvadratom"
+#: Pinta.Effects/Effects/CloudsEffect.cs:30
+msgid "Clouds"
+msgstr "Oblaci"
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
-msgstr ""
-"Klikni i prevuci da iscrtaš odabir pravougaonikom. Pritisni šift za kvadrat."
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
+msgstr "Deo"
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
-msgstr "Kantica sa bojom"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr "Umanji šum"
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
-msgstr ""
-"Levi klik da bi popunili oblast osnovnom bojom, desni za popunjavanje drugom "
-"bojom."
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr "Kružno zamućenje"
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
-msgstr "Kloniraj kalup"
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
+msgstr "uvrni"
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
-msgstr "Premesti odabrano"
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
+msgid "Add Noise"
+msgstr "Dodaj šum"
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
-msgstr "Prevucite odabrano da premestite odabrani okvir."
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
+msgstr "Reljef"
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
-msgstr "Slobodan oblik"
+#: Pinta.Effects/Effects/OutlineEffect.cs:29
+msgid "Outline"
+msgstr "Kontura"
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
-msgstr "Režim popune"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
+msgstr "Slučajni šum"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
-msgstr "Neprekidno"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
+msgstr "Ponovo zasej"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
-msgstr "Globalno"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "natpis1"
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
-msgstr "Tolerancija"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "natpis"
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
-msgstr "Elipsa"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
+msgstr ""
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
 msgstr ""
-"Klikni i prevuci da iscrtaš elipsu (desni klik za drugu boju). Pritisni šift "
-"za krug."
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr ""
+
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
+msgstr "Pan"
+
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
+msgstr "Klikni i prevuci za pozicioniranje slike."
 
 #: Pinta.Tools/TextTool.cs:37
 msgid "Text"
@@ -566,42 +758,34 @@ msgstr ""
 "Levi klik da postavite kursor, zatim otkucajte željeni tekst. Boja teksta je "
 "osnovna."
 
-#: Pinta.Tools/TextTool.cs:131
+#: Pinta.Tools/TextTool.cs:144
 msgid "Font"
 msgstr "Font"
 
-#: Pinta.Tools/TextTool.cs:186
+#: Pinta.Tools/TextTool.cs:205
 msgid "Bold"
 msgstr "Podebljano"
 
-#: Pinta.Tools/TextTool.cs:193
+#: Pinta.Tools/TextTool.cs:212
 msgid "Italic"
 msgstr "Kurziv"
 
-#: Pinta.Tools/TextTool.cs:201
+#: Pinta.Tools/TextTool.cs:220
 msgid "Underline"
 msgstr "Podvučeno"
 
-#: Pinta.Tools/TextTool.cs:210
+#: Pinta.Tools/TextTool.cs:229
 msgid "Left Align"
 msgstr "Levo poravnanje"
 
-#: Pinta.Tools/TextTool.cs:219
+#: Pinta.Tools/TextTool.cs:238
 msgid "Center Align"
 msgstr "Centralno poravnanje"
 
-#: Pinta.Tools/TextTool.cs:227
+#: Pinta.Tools/TextTool.cs:246
 msgid "Right Align"
 msgstr "Desno poravnanje"
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
-msgstr "Odabir čarobnim štapićem"
-
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
-msgstr "Klikni za odabir regiona sa sličnom bojom."
-
 #: Pinta.Tools/RectangleTool.cs:38
 msgid "Rectangle"
 msgstr "Pravougaonik"
@@ -614,653 +798,614 @@ msgstr ""
 "Klikni i prevuci da iscrtaš pravougaonik (desni klik za drugu boju). "
 "Pritisni šift za kvadratni oblik."
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
-msgstr "Linija"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
+msgstr "Slobodan oblik"
 
-#: Pinta.Tools/LineCurveTool.cs:44
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
 msgid ""
-"Left click to draw with primary color, right click for secondary color."
-msgstr "Levi klik za crtanje osnovnom bojom, desni za drugu boju."
-
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
-msgstr "Ponovo oboji"
-
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
-msgstr "Levi klik da zamenite drugu boju osnovnom bojom."
-
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
-msgstr "Gumica za brisanje"
-
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
-msgstr "Klikni i prevuci za brisanje dela slike."
-
-#: Pinta.Effects/Effects/PixelateEffect.cs:26
-msgid "Pixelate"
-msgstr "Pikselizuj"
-
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr "Deformiši"
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
-msgstr "Uklanjanje efekta crvenih očiju"
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
-#: Pinta.Effects/Effects/SharpenEffect.cs:34
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
-msgid "Photo"
-msgstr "Fotografija"
-
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
-msgstr "Zamućenje pokreta"
-
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
-msgstr "Zamućenja"
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
+msgstr ""
+"Levi klik za crtanje osnovnom bojom, desni klik za crtanje drugom bojom."
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
-msgstr "Skica mastilom"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
+msgstr ""
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
-msgstr "Umetnička"
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
+msgstr "Uokviri oblik"
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
-msgstr "Kružno zamućenje"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
+msgstr "Popuni oblikom"
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
-msgstr "Van fokusa"
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
+msgstr "Popuni i uokviri oblik"
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
-msgid "Edge Detect"
-msgstr "Pronađi ivice"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
+msgstr ""
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
-#: Pinta.Effects/Effects/EmbossEffect.cs:34
-msgid "Stylize"
-msgstr "Silizuj"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
+msgstr "Neprekidno"
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
-msgstr "Zaleđeno staklo"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
+msgstr "Globalno"
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
-msgstr "Slikanje uljem"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
+msgstr "Tolerancija"
 
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
-msgid "Zoom Blur"
-msgstr "Uvećano zamućenje"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
+msgstr "Linija"
 
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
-msgid "Polar Inversion"
-msgstr "Polarna inverzija"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
+msgstr "Levi klik za crtanje osnovnom bojom, desni za drugu boju."
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:30
-msgid "Clouds"
-msgstr "Oblaci"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
+msgstr "Premesti odabrano"
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr "Iscrtavanje"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
+msgstr "Prevucite odabrano da premestite odabrani okvir."
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
-msgstr "Сјај"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
+msgstr "Odabir kvadratom"
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
-msgid "Add Noise"
-msgstr "Dodaj šum"
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
+msgstr ""
+"Klikni i prevuci da iscrtaš odabir pravougaonikom. Pritisni šift za kvadrat."
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
-msgstr "Šum"
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
+msgstr "Odabir čarobnim štapićem"
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
-msgstr "Deo"
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
+msgstr "Klikni za odabir regiona sa sličnom bojom."
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
-msgstr "Izoštri"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
+msgstr "Odaberi elipsom"
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
-msgstr "Skica olovkom"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
+msgstr ""
+"Klikni i prevuci da za eliptični odabir. Pritisni šift za kružni odabir."
 
-#: Pinta.Effects/Effects/OutlineEffect.cs:29
-msgid "Outline"
-msgstr "Kontura"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
+msgstr "Odabir tipa laso"
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
-msgstr "Gausovo zamućenje"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
+msgstr "Klikni i povuci da se isrta okvir odabranog područja."
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
-msgstr "Odsjaj pločica"
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
+msgstr "Kantica sa bojom"
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
-msgstr "Reljef"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
+msgstr ""
+"Levi klik da bi popunili oblast osnovnom bojom, desni za popunjavanje drugom "
+"bojom."
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
-msgstr "Izbočine"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
+msgstr "Preliv"
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
-msgstr "Mandelbrotov fraktal"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
+msgstr ""
+"Klikni i prevuci da se iscrta od osnovne do druge boje. Desni klik za "
+"obrnuto."
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
-msgstr "Ispupči"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
+msgstr "Linearni preliv"
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
-msgstr "uvrni"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
+msgstr "Linearni reflektujući preliv"
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
-msgstr "Umekšani portret"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
+msgstr "Linearni dijamant preliv"
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
-msgstr "Umanji šum"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
+msgstr "Kružni preliv"
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
-msgstr "Julijin fraktal"
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
+msgstr "Kupast preliv"
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
-msgstr "Srednji"
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
-msgstr "Krive"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
+msgstr "Režim boje"
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
-msgstr "Nivoi"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
+msgstr "Režim providnosti"
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
-msgstr "Auto nivoi"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
+msgstr "Širina četkice"
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
-msgstr "Izvrni boje"
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
+msgstr "Smanji veličinu četkice"
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
-msgstr "Posterizovanje"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
+msgstr "Povećaj veličinu četkice"
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
-msgstr "Crno i belo"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "Četkica"
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
-msgstr "Nijansa / Zasićenje"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
-msgstr "Sepia"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
+msgstr "Ponovo oboji"
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
-msgstr "Jačina osvetljenja/kontrast"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
+msgstr "Levi klik da zamenite drugu boju osnovnom bojom."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
-msgstr "Podešavanje nivoa"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
-msgstr "Ulazni histogram"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
-msgstr "Ulaz"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
-msgstr "Izlaz"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
-msgstr "Izlazni histogram"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
-msgstr "Automatski"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
+msgstr "Elipsa"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
-msgstr "Resetuj"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
+msgstr ""
+"Klikni i prevuci da iscrtaš elipsu (desni klik za drugu boju). Pritisni šift "
+"za krug."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
-msgstr "Crveno"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
+msgstr "Kloniraj kalup"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
-msgstr "Zeleno"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
-msgstr "Plavo"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "Uvećanje"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
-msgstr "Povezano"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
+msgstr ""
+"Levi klik za povećanje. Desni klik za smanjenje. Klik i povlačenje za "
+"povećanje odabranog."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
-msgstr "Mapa prenosa"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
+msgstr "Zaobljeni pravougaonik"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
-msgstr "RGB"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
+msgstr ""
+"Klikni i prevuci da iscrtaš zaobljeni pravougaonik (desni klik za drugu "
+"boju). Pritisni šift za kvadrat."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
-msgstr "Osvetljenost"
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
+msgstr "Poluprečnik"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
-msgstr "Copy text   \t (256, 256)"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
+msgstr "Smanji poluprečnik zaobljenja uglova"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
-msgstr "Crveno  "
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
+msgstr "Povećaj poluprečnik zaobljenja uglova"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
-msgstr "Plavo "
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "Birač boja"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
 msgstr ""
+"Levi klik za postavljanje osnovne boje. Desni klik za postavljanje druge "
+"boje."
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
-msgstr "Dodaj novi sloj"
-
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
-msgstr "Obriši sloj"
-
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
-msgstr "Dupliraj sloj"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr "Nakon odabira"
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
-msgstr "Spoj sloj sa donjim"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
+msgstr "Ne vrši izmenu alata"
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
-msgstr "Uvezi iz fajla ..."
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr "Izmeni na prethodni alaz"
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
-msgstr "Prevrni vodoravno"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
+msgstr "Prebaci na alat olovka"
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
-msgstr "Prevrni uspravno"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "Olovka"
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
-msgstr "Rotiraj / Uvećaj"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
+msgstr "Gumica za brisanje"
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
-msgstr "Pomeri sloj gore"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
+msgstr "Klikni i prevuci za brisanje dela slike."
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
-msgstr "Pomeri sloj dole"
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
+msgstr ""
+"Levi klik za crtanje slobodnom formom, širine jedan piksel osnovnom bojom, "
+"desni klik za drugu boju."
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
-msgstr "Učitaj sliku"
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
+msgstr "Premesti odabrane piksele"
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
-msgstr "Unesi iz fajla"
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
+msgstr "Premesti odabir da bi premestio odabrani sadržaj."
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
-msgstr "Nova..."
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "Sakrij"
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
-msgstr "Otvori..."
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "Dok"
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
-msgstr "Otvori skorašnje"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "Automatski Sakrij"
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
-msgstr "Zatvori"
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "Prikačiv"
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
-msgstr "Sačuvaj"
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "Plutajuće"
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
-msgstr "Sačuvaj kao..."
+#: Pinta/Options.cs:486
+msgid "OptionName"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
-msgstr "Odštampaj"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "U procentima:"
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr "Izađi"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
+msgstr "Po apsolutnoj veličini:"
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
-msgstr "Novi"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "Širina:"
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
-msgstr "Otvori"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "piksela"
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
-msgstr "Pozadina"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "Visina:"
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
-msgstr "Otvori sliku"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "Zadrži proporcije"
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
-msgstr "Nisam uspeo otvoriti fajl: {0}"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "Sidro:"
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
-msgstr "Greška"
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "Nova veličina slike          "
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
-msgstr "Sačuvaj izmene slike \"{0}\" pre otvaranja nove slike?"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Osobine sloja"
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
-msgstr "Fajlovi slika"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "Naziv:"
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
-msgstr "Svi fajlovi"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "Vidljivo"
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
-msgstr "Svi fajlovi sa slikama"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "Prozirnost"
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
-msgstr "{0} slika ({1})"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
-msgstr "OpenRaster slika (*.ora)"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "_Fajl"
 
-#: Pinta.Core/Actions/FileActions.cs:392
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before closing?"
-msgstr "Sačuvaj izmene slike \"{0}\" pre zavaranja?"
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "_Izmeni"
 
-#: Pinta.Core/Actions/FileActions.cs:402
-msgid "Close without saving"
-msgstr "Zatvori bez snimanja"
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "_Prikaz"
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
-msgstr "Izreži prema odabiru"
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "_Slika"
 
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
-msgstr "Promeni veličinu..."
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "_Slojevi"
 
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
-msgstr "Dimenzije platna..."
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "_Podešavanja"
 
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
-msgstr "Okreni 90° u smeru kazaljke na časovniku"
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "_Efekti"
 
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
-msgstr "Okreni 90° suprotno od smera kazaljke na časovniku"
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "_Prozor"
 
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
-msgstr "Okreni 180°"
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
+msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
-msgstr "Spljošti"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "_Pomoć"
 
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr "Opozovi"
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "Alati"
 
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
-msgstr "Ponovi"
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Dokumenti"
 
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
-msgstr "Iseci"
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "Slojevi"
 
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
-msgstr "Kopiraj"
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "Istorijat"
 
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
-msgstr "Prilepi"
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
+msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
-msgstr "Prilepi u novi sloj"
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
+msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
-msgstr "Prilepi u novu sliku"
+#: Pinta/DialogHandlers.cs:139
+#, csharp-format
+msgid "Save the changes to image \"{0}\" before closing?"
+msgstr "Sačuvaj izmene slike \"{0}\" pre zavaranja?"
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
-msgstr "Obriši odabrano"
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "Ako ne sačuvate, sve izmene će biti trajno izgubljene."
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
-msgstr "Popuni odabrano"
+#: Pinta/DialogHandlers.cs:147
+msgid "Close without saving"
+msgstr "Zatvori bez snimanja"
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
-msgstr "Obrni odabrano"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
+msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
-msgstr "Izaberi sve"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
+msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
-msgstr "Poništi izbor"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "Providnost sloja"
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
-msgstr "Uveličaj"
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "Preimenuj sloj"
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
-msgstr "Umanji"
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "Sakrij sloj"
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
-msgstr "Uveličaj do prozora"
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "Prikaži sloj"
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
-msgstr "Uveličaj odabrano"
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
+msgstr "Fajlovi slika"
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
-msgstr "Stvarna veličina"
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
-msgstr "Mreža piksela"
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
-msgstr "Lenjiri"
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
+msgstr "Svi fajlovi sa slikama"
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
-msgstr "Pikseli"
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
-msgstr "Inči"
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
-msgstr "Centimetri"
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
-msgstr "Ceo ekran"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr "broj niti koje će se koristiti za iscrtavanje"
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
-msgstr "Prozor"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Verzija"
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
-msgstr "Pinta internet stranica"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Licenca"
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
-msgstr "Zabeleži grešku"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "Izdato pod MIT X11 licencom"
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
-msgstr "Prevedi ovaj program"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "Autorska prava"
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
-msgstr "Opšte"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "od Pinta saradnika"
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
-msgstr "Alatke"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "Naslov"
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
-msgstr "Taster prečice"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "Putanja"
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
-msgstr "Omekšavanje ivica"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
+msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
-msgstr "Temeljno mešanje / Prebrisano mešanje"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
+msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
-msgstr "Prevrni sliku horizontalno"
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "Saradnici u ovoj verziji"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
-msgstr "Prevrni sliku vertikalno"
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "Prethodni saradnici"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
-msgstr "Prevrni sloj horizontalno"
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst\n"
+"  boki24 https://launchpad.net/~bojansav"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
-msgstr "Prevrni sloj vertikalno"
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Preveo:"
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
-msgstr "Dovrši piksele"
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "Zasniva se na programu Paint.NET:"
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
-msgstr "Efekat iscrtavanja"
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "Koristi pojedine ikone iz:"
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
-msgstr "kopiraj"
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "O Pinta programu"
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
-msgstr "Sloj"
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "Informacija o verziji"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1444,14 +1589,37 @@ msgstr ""
 #~ msgid "%"
 #~ msgstr "%"
 
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr "Sačuvati izmene slike \"{0}\" pre kreiranja nove?"
+
+#~ msgid "Continue without saving"
+#~ msgstr "Nastavit bez snimanja"
+
 #~ msgid "X :"
 #~ msgstr "X:"
 
 #~ msgid "Y :"
 #~ msgstr "Y:"
 
+#~ msgid "Fill mode"
+#~ msgstr "Režim popune"
+
 #~ msgid "Tip : Right-click to remove control points."
 #~ msgstr "Savet: Desni klik za uklanjanje kontrolnih tačaka."
 
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before opening a new image?"
+#~ msgstr "Sačuvaj izmene slike \"{0}\" pre otvaranja nove slike?"
+
+#~ msgid "OpenRaster image (*.ora)"
+#~ msgstr "OpenRaster slika (*.ora)"
+
+#~ msgid "Normal blending / Overwrite blending"
+#~ msgstr "Temeljno mešanje / Prebrisano mešanje"
+
+#~ msgid "Antialiasing"
+#~ msgstr "Omekšavanje ivica"
+
 #~ msgid "Show Pad"
 #~ msgstr "Prikaži ped"
diff --git a/po/messages-sv.po b/po/messages-sv.po
index 5335f99..478c3ab 100644
--- a/po/messages-sv.po
+++ b/po/messages-sv.po
@@ -7,554 +7,746 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-10-25 11:00+0000\n"
-"Last-Translator: David Bengtsson <Unknown>\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2010-12-20 18:46+0000\n"
+"Last-Translator: Phoenix <Unknown>\n"
 "Language-Team: Swedish <sv at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "Om"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "Fönster"
 
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "Pensel"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "Lager"
 
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "_Arkiv"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "kopiera"
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "R_edigera"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "Ändra ritytestorlek"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "_Visa"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr "Verktyg"
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "B_ild"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr "Genvägstangent"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "_Lager"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr "Normal blandning"
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "_Justeringar"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr "Skriv över"
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "_Effekter"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr "Kantutjämning på"
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "_Fönster"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr "Kantutjämning av"
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "_Hjälp"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "Ändra bildstorlek"
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
-msgstr ""
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr "Avsluta bildpunkter"
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "Verktyg"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr "Rotera 180°"
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "Palett"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr "Vänd bild horisontellt"
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Dokument"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr "Vänd bild vertikalt"
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "Lager"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr "Rotera 90° medurs"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "Historik"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr "Rotera 90° moturs"
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "Dölj"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr "Vänd lager horisontellt"
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "Dockningsbar"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr "Vänd lager vertikalt"
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "Flytande"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
+msgstr "Allmänt"
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "Autodölj"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr "{0}-bild ({1})"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "Docka"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr "Beskär till markering"
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "Bidragsgivare till denna utgåva"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr "Ändra storlek..."
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "Tidigare bidragsgivare"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr "Ritytestorlek..."
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
-msgstr ""
-"Launchpad Contributions:\n"
-"  David Bengtsson https://launchpad.net/~justfaking"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr "Vänd horisontellt"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Översatt av:"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr "Vänd vertikalt"
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "Baserat på arbetet med Paint.NET"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr "Tillplatta"
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "Använder en del ikoner från:"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr "Zooma in"
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "Om Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr "Zooma ut"
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "Versionsinfo"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr "Zooma till fönster"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "Titel"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr "Zooma till markering"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Version"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr "Verklig storlek"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "Sökväg"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
+msgstr "Verktygsrad"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Licens"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr "Bildpunktsrutnät"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "Släppt under MIT X11 License."
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr "Linjaler"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "Upphovsrätt"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr "Bildpunkter"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "av Pinta-bidragsgivare"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr "Tum"
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
-msgstr "antal trådar att använda för rendering"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr "Centimeter"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "Ändra bildstorlek"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr "Helskärm"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "I procent:"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr "Linjalenheter"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
-msgstr "Med absolut storlek:"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr "Lägg till nytt lager"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "Bredd:"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr "Radera lager"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "bildpunkter"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr "Duplicera lager"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "Höjd:"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr "Sammanfoga lager nedåt"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "Behåll bildförhållande"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr "Importera från fil..."
+
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr "Rotera / zooma"
+
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr "Flytta lager uppåt"
+
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr "Flytta lager nedåt"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
 #: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "Lageregenskaper"
+msgid "Layer Properties..."
+msgstr "Lagerinställningar..."
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "Namn:"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
+msgstr "Öppna bildfil"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "Synlig"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr "Importera från fil"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "Opacitet:"
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr "Spara alla"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "Ändra ritytestorlek"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr "Stäng alla"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "Ankare:"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr "Pintas webbplats"
+
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
+msgstr "Rapportera ett fel"
+
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
+msgstr "Översätt detta program"
+
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "Om"
+
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr "Nytt..."
+
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
+msgstr "Ny skärmbild..."
+
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
+msgstr "Öppna..."
+
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr "Öppna senaste"
+
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
+msgstr "Stäng"
+
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
+msgstr "Spara"
+
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
+msgstr "Spara som..."
+
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
+msgstr "Skriv ut"
+
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
+msgstr "Avsluta"
+
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr "Nytt"
+
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
+msgstr "Öppna"
+
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
+msgstr "Ångra"
+
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
+msgstr "Gör om"
+
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
+msgstr "Klipp ut"
+
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
+msgstr "Kopiera"
+
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
+msgstr "Klistra in"
+
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
+msgstr "Klistra in i nytt lager"
+
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
+msgstr "Klistra in i ny bild"
+
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
+msgstr "Sudda ut markering"
+
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
+msgstr "Fyll markering"
+
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
+msgstr "Invertera markering"
+
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
+msgstr "Markera allt"
+
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
+msgstr "Avmarkera"
+
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
+msgstr "Återställ till standard"
+
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
+msgstr "Ställ in antal färger"
+
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "Palett"
+
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
+msgstr "Öppna palettfil"
+
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
+msgstr "Palettfiler (*.txt, *.gpl)"
+
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr "Alla filer"
+
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
+msgid ""
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
+msgstr ""
+"Kunde inte öppna palettfilen: {0}.\n"
+"Kontrollera att du försöker öppna en giltig GIMP- eller Paint.NET-palett."
+
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
+msgstr "Fel"
 
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
+msgstr "Spara palettfil"
+
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
+msgstr "Paint.NET-palett (*.txt)"
+
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
+msgstr "GIMP-palett (*.gpl)"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr "Osparad bild {0}"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
+msgstr "Bakgrund"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
 msgid "New Image"
 msgstr "Ny bild"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "Ny bildstorlek          "
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
+msgstr "Öppna bild"
 
-#: Pinta/DialogHandlers.cs:57
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
 #, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
-msgstr "Spara ändringarna i bilden \"{0}\" innan en ny skapas?"
+msgid "Could not open file: {0}"
+msgstr "Kunde inte öppna filen: {0}"
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr "Om du inte sparar kommer alla ändringar att gå förlorade."
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
+msgstr "Renderingseffekt"
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "Fortsätt utan att spara"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
+msgstr "Posterisera"
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "Lageropacitet"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
+msgstr "Invertera färger"
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "Döp om lager"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
+msgstr "Nivåer"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "Dölj lager"
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
+msgstr "Svartvitt"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "Visa lager"
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
+msgstr "Autonivå"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
-msgstr "etikett1"
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
+msgstr "Nyans / mättnad"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "etikett"
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
+msgstr "Ljusstyrka / kontrast"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
-msgstr "Slumpmässigt brus"
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
+msgstr "Sepia"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
-msgstr ""
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
+msgstr "Kurvor"
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
-msgstr "Färghämtare"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
+msgstr "Överföringskarta"
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
-msgstr ""
-"Vänsterklicka för att ställa in den primära färgen. Högerklicka för sekundär "
-"färg."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
+msgstr "RGB"
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
-msgstr "Efter val"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
+msgstr "Luminositet"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
-msgstr "Växla inte verktyg"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
+msgstr "(256, 256)"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
-msgstr "Växla till föregående verktyg"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
+msgstr "Röd  "
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
-msgstr "Växla till pennverktyget"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
+msgstr "Grön"
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
-msgstr "Penna"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
+msgstr "Blå "
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
-msgstr "Lassomarkering"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
+msgstr "Återställ"
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
-msgstr "Klicka och dra för att rita konturen för ett markeringsområde."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
+msgstr "Tips: Högerklicka för att ta bort kontrollpunkter."
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
-msgstr "Zooma"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
+msgstr "Nivåjustering"
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
-msgstr ""
-"Vänsterklicka för att zooma in. Högerklicka för att zooma ut. Klicka och dra "
-"för att zooma in markering."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
+msgstr "Inmatningshistogram"
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
-msgstr "Penselbredd"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
+msgstr "Inmatning"
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
-msgstr "Minska penselstorlek"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
+msgstr "Utmatning"
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
-msgstr "Öka penselstorlek"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
+msgstr "Utmatningshistogram"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
-msgstr "Konturera form"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
+msgstr "Auto"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
-msgstr "Fyll form"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
+msgstr "Röd"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
-msgstr "Fyll och konturera form"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
+msgstr "Blå"
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
-msgstr "Flytta markerade bildpunkter"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
+msgstr "Länkad"
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
-msgstr "Dra markeringen för att flytta markerat innehåll."
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
+msgstr "Blyertsskiss"
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
-msgstr "Panorera"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
+msgstr "Konstnärlig"
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
-msgstr "Klicka och dra för att navigera bilden."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
+msgstr "Ofokusera"
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
-msgstr ""
-"Vänsterklicka för att rita friformiga linjer som är en bildpunkt med den "
-"primära färgen. Högerklicka för att använda sekundär färg."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
+msgstr "Oskärpa"
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
-msgstr "Ellipsmarkering"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
+msgstr "Bukta"
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
-msgstr ""
-"Klicka och dra för att rita en ellipsmarkering. Håll ned Shift för att "
-"begränsa till en cirkel."
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
+msgstr "Förvräng"
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
-msgstr "Gradient"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
+msgstr "Mandelbrot-fraktal"
 
-#: Pinta.Tools/GradientTool.cs:60
-msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
-msgstr ""
-"Klicka och dra för att rita gradient från den primära till den sekundära "
-"färgen. Högerklicka för motsatt riktning."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
+msgstr "Rendera"
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
-msgstr "Linjär gradient"
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
+msgstr "Median"
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
-msgstr "Linjär reflekterad gradient"
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
+msgstr "Brus"
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
-msgstr "Linjär diamantgradient"
+#: Pinta.Effects/Effects/PixelateEffect.cs:26
+msgid "Pixelate"
+msgstr "Pixelera"
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
-msgstr "Radiell gradient"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
+msgstr "Gör skarpare"
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
-msgstr "Konisk gradient"
+#: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
+msgid "Photo"
+msgstr "Foto"
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
-msgstr "Färgläge"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
+msgstr "Oljemålning"
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
-msgstr "Genomskinlighetsläge"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
+msgstr "Gaussisk oskärpa"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
-msgstr "Rundad rektangel"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
+msgstr "Glöd"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
-msgstr ""
-"Vänsterklicka och dra för att rita en rundad rektangel. Högerklicka för "
-"sekundär färg. Håll ned Shift för att begränsa."
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
+msgstr "Mjuka upp porträtt"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
-msgstr "Radie"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
+msgstr "Kakelreflektion"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
-msgstr "Minska rektangelns hörnradie"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr "Ta bort röda ögon"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
-msgstr "Öka rektangelns hörnradie"
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
+msgstr "Frostat glas"
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
-msgstr ""
-"Vänsterklicka för att rita med den primära färgen. Högerklicka för att rita "
-"med sekundär färg."
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
+msgid "Edge Detect"
+msgstr "Kantupptäckt"
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
-msgstr "Rektangelmarkering"
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
+#: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
+msgid "Stylize"
+msgstr "Stilisera"
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
-msgstr ""
-"Klicka och dra för att rita en rektangelmarkering. Håll ner Shift för att "
-"begränsa till en kvadrat."
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
+msgstr "Julia-fraktal"
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
-msgstr "Färghink"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr "Rörelseoskärpa"
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
-msgstr ""
-"Vänsterklicka för att fylla ett område med den primära färgen. Högerklicka "
-"för att fylla med sekundär färg."
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr "Ciselera"
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
-msgstr "Klonstämpel"
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
+msgstr "Bläckskiss"
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
-msgstr "Flytta markering"
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
+msgid "Zoom Blur"
+msgstr "Zoomoskärpa"
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
-msgstr "Dra markeringen för att flytta markeringskonturen."
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
+msgid "Polar Inversion"
+msgstr "Polär inversion"
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
-msgstr "Fri form"
+#: Pinta.Effects/Effects/CloudsEffect.cs:30
+msgid "Clouds"
+msgstr "Moln"
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
-msgstr "Fylläge"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
+msgstr "Fragment"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
-msgstr "Sammanhängande"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr "Reducera brus"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
-msgstr "Global"
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr "Radiell oskärpa"
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
-msgstr "Tolerans"
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
+msgstr "Vrid"
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
-msgstr "Ellips"
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
+msgid "Add Noise"
+msgstr "Lägg till brus"
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
+msgstr "Gör relief"
+
+#: Pinta.Effects/Effects/OutlineEffect.cs:29
+msgid "Outline"
+msgstr "Konturera"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
+msgstr "Slumpmässigt brus"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
 msgstr ""
-"Vänsterklicka och dra för att rita en ellips. Högerklicka för sekundär färg. "
-"Håll ned Shift för att begränsa till en cirkel."
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "etikett1"
+
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "etikett"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
+msgstr "Välj primär färg"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
+msgstr "Välj sekundär färg"
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr "Välj palettfärg"
+
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
+msgstr "Panorera"
+
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
+msgstr "Klicka och dra för att navigera bilden."
 
 #: Pinta.Tools/TextTool.cs:37
 msgid "Text"
@@ -568,42 +760,34 @@ msgstr ""
 "Vänsterklicka för att placera markören och skriv sedan önskad text. "
 "Textfärgen är den primära färgen."
 
-#: Pinta.Tools/TextTool.cs:131
+#: Pinta.Tools/TextTool.cs:144
 msgid "Font"
 msgstr "Typsnitt"
 
-#: Pinta.Tools/TextTool.cs:186
+#: Pinta.Tools/TextTool.cs:205
 msgid "Bold"
 msgstr "Fet"
 
-#: Pinta.Tools/TextTool.cs:193
+#: Pinta.Tools/TextTool.cs:212
 msgid "Italic"
 msgstr "Kursiv"
 
-#: Pinta.Tools/TextTool.cs:201
+#: Pinta.Tools/TextTool.cs:220
 msgid "Underline"
 msgstr "Understruken"
 
-#: Pinta.Tools/TextTool.cs:210
+#: Pinta.Tools/TextTool.cs:229
 msgid "Left Align"
 msgstr "Vänsterjustera"
 
-#: Pinta.Tools/TextTool.cs:219
+#: Pinta.Tools/TextTool.cs:238
 msgid "Center Align"
 msgstr "Centrera"
 
-#: Pinta.Tools/TextTool.cs:227
+#: Pinta.Tools/TextTool.cs:246
 msgid "Right Align"
 msgstr "Högerjustera"
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
-msgstr "Trollspömarkering"
-
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
-msgstr "Klicka för att markera ett område med liknande färg."
-
 #: Pinta.Tools/RectangleTool.cs:38
 msgid "Rectangle"
 msgstr "Rektangel"
@@ -616,655 +800,622 @@ msgstr ""
 "Vänsterklicka och dra för att rita en rektangel. Högerklicka för sekundär "
 "färg. Håll ned Shift för att begränsa till en kvadrat."
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
-msgstr "Linje"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
+msgstr "Fri form"
 
-#: Pinta.Tools/LineCurveTool.cs:44
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
 msgid ""
-"Left click to draw with primary color, right click for secondary color."
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
 msgstr ""
-"Vänsterklicka för att rita med den primära färgen. Högerklicka för sekundär "
-"färg."
-
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
-msgstr "Omfärga"
-
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
-msgstr "Vänsterklicka för att ersätta den sekundära färgen med den primära."
-
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
-msgstr "Suddgummi"
-
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
-msgstr "Klicka och dra för att sudda ut en del av bilden."
-
-#: Pinta.Effects/Effects/PixelateEffect.cs:26
-msgid "Pixelate"
-msgstr "Pixelera"
-
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr "Förvräng"
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
-msgstr "Ta bort röda ögon"
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
-#: Pinta.Effects/Effects/SharpenEffect.cs:34
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
-msgid "Photo"
-msgstr "Foto"
-
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
-msgstr "Rörelseoskärpa"
-
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
-msgstr "Oskärpa"
+"Vänsterklicka för att rita med den primära färgen. Högerklicka för att rita "
+"med sekundär färg."
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
-msgstr "Bläckskiss"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
+msgstr "Fyllningsstil"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
-msgstr "Konstnärlig"
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
+msgstr "Konturera form"
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
-msgstr "Radiell oskärpa"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
+msgstr "Fyll form"
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
-msgstr "Ofokusera"
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
+msgstr "Fyll och konturera form"
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
-msgid "Edge Detect"
-msgstr "Kantupptäckt"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
+msgstr "Flödesläge"
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
-#: Pinta.Effects/Effects/EmbossEffect.cs:34
-msgid "Stylize"
-msgstr "Stilisera"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
+msgstr "Sammanhängande"
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
-msgstr "Frostat glas"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
+msgstr "Global"
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
-msgstr "Oljemålning"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
+msgstr "Tolerans"
 
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
-msgid "Zoom Blur"
-msgstr "Zoomoskärpa"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
+msgstr "Linje"
 
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
-msgid "Polar Inversion"
-msgstr "Polär inversion"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
+msgstr ""
+"Vänsterklicka för att rita med den primära färgen. Högerklicka för sekundär "
+"färg."
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:30
-msgid "Clouds"
-msgstr "Moln"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
+msgstr "Flytta markering"
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr "Rendera"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
+msgstr "Dra markeringen för att flytta markeringskonturen."
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
-msgstr "Glöd"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
+msgstr "Rektangelmarkering"
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
-msgid "Add Noise"
-msgstr "Lägg till brus"
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
+msgstr ""
+"Klicka och dra för att rita en rektangelmarkering. Håll ned Shift för att "
+"begränsa till en kvadrat."
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
-msgstr "Brus"
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
+msgstr "Trollspömarkering"
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
-msgstr "Fragment"
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
+msgstr "Klicka för att markera ett område med liknande färg."
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
-msgstr "Gör skarpare"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
+msgstr "Ellipsmarkering"
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
-msgstr "Blyertsskiss"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
+msgstr ""
+"Klicka och dra för att rita en ellipsmarkering. Håll ned Shift för att "
+"begränsa till en cirkel."
 
-#: Pinta.Effects/Effects/OutlineEffect.cs:29
-msgid "Outline"
-msgstr "Konturera"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
+msgstr "Lassomarkering"
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
-msgstr "Gaussisk oskärpa"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
+msgstr "Klicka och dra för att rita konturen för ett markeringsområde."
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
-msgstr "Kakelreflektion"
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
+msgstr "Färghink"
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
-msgstr "Gör relief"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
+msgstr ""
+"Vänsterklicka för att fylla ett område med den primära färgen. Högerklicka "
+"för att fylla med sekundär färg."
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
-msgstr "Ciselera"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
+msgstr "Gradient"
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
-msgstr "Mandelbrot-fraktal"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
+msgstr ""
+"Klicka och dra för att rita gradient från den primära till den sekundära "
+"färgen. Högerklicka för motsatt riktning."
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
-msgstr "Bukta"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
+msgstr "Linjär gradient"
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
-msgstr "Vrid"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
+msgstr "Linjär reflekterad gradient"
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
-msgstr "Mjuka upp porträtt"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
+msgstr "Linjär diamantgradient"
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
-msgstr "Reducera brus"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
+msgstr "Radiell gradient"
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
-msgstr "Julia-fraktal"
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
+msgstr "Konisk gradient"
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
-msgstr "Median"
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
+msgstr "Läge"
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
-msgstr "Kurvor"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
+msgstr "Färgläge"
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
-msgstr "Nivåer"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
+msgstr "Genomskinlighetsläge"
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
-msgstr "Autonivå"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
+msgstr "Penselbredd"
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
-msgstr "Invertera färger"
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
+msgstr "Minska penselstorlek"
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
-msgstr "Posterisera"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
+msgstr "Öka penselstorlek"
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
-msgstr "Svartvitt"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "Pensel"
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
-msgstr "Nyans / mättnad"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
+msgstr "Typ"
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
-msgstr "Sepia"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
+msgstr "Omfärga"
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
-msgstr "Ljusstyrka / kontrast"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
+msgstr "Vänsterklicka för att ersätta den sekundära färgen med den primära."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
-msgstr "Nivåjustering"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
+msgstr "Normal"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
-msgstr "Inmatningshistogram"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
+msgstr "Cirklar"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
-msgstr "Inmatning"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
+msgstr "Rutor"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
-msgstr "Utmatning"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
+msgstr "Splatter"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
-msgstr "Utmatningshistogram"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
+msgstr "Rutnät"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
-msgstr "Auto"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
+msgstr "Ellips"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
-msgstr "Återställ"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
+msgstr ""
+"Vänsterklicka och dra för att rita en ellips. Högerklicka för sekundär färg. "
+"Håll ned Shift för att begränsa till en cirkel."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
-msgstr "Röd"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
+msgstr "Klonstämpel"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
-msgstr "Grön"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
+msgstr ""
+"Ctrl-vänsterklicka för att ställa in ursprunget. Vänsterklicka för att rita."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
-msgstr "Blå"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "Zooma"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
-msgstr "Länkad"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
+msgstr ""
+"Vänsterklicka för att zooma in. Högerklicka för att zooma ut. Klicka och dra "
+"för att zooma in markering."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
-msgstr "Överföringskarta"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
+msgstr "Rundad rektangel"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
-msgstr "RGB"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
+msgstr ""
+"Vänsterklicka och dra för att rita en rundad rektangel. Högerklicka för "
+"sekundär färg. Håll ned Shift för att begränsa."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
-msgstr "Luminositet"
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
+msgstr "Radie"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
-msgstr "(256, 256)"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
+msgstr "Minska rektangelns hörnradie"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
-msgstr "Röd  "
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
+msgstr "Öka rektangelns hörnradie"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
-msgstr "Blå "
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "Färghämtare"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
 msgstr ""
+"Vänsterklicka för att ställa in den primära färgen. Högerklicka för sekundär "
+"färg."
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
-msgstr "Lägg till nytt lager"
-
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
-msgstr "Radera lager"
-
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
-msgstr "Duplicera lager"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr "Efter val"
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
-msgstr "Sammanfoga lager nedåt"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
+msgstr "Växla inte verktyg"
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
-msgstr "Importera från fil..."
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr "Växla till föregående verktyg"
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
-msgstr "Vänd horisontellt"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
+msgstr "Växla till pennverktyget"
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
-msgstr "Vänd vertikalt"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "Penna"
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
-msgstr "Rotera / zooma"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
+msgstr "Suddgummi"
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
-msgstr "Flytta lager uppåt"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
+msgstr "Klicka och dra för att sudda ut en del av bilden."
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
-msgstr "Flytta lager nedåt"
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
+msgstr ""
+"Vänsterklicka för att rita friformiga linjer som är en bildpunkt med den "
+"primära färgen. Högerklicka för att använda sekundär färg."
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
-msgstr "Öppna bildfil"
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
+msgstr "Flytta markerade bildpunkter"
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
-msgstr "Importera från fil"
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
+msgstr "Dra markeringen för att flytta markerat innehåll."
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
-msgstr "Nytt..."
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "Dölj"
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
-msgstr "Öppna..."
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "Docka"
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
-msgstr "Öppna senaste"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "Autodölj"
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
-msgstr "Stäng"
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "Dockningsbar"
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
-msgstr "Spara"
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "Flytande"
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
-msgstr "Spara som..."
+#: Pinta/Options.cs:486
+msgid "OptionName"
+msgstr "Alternativnamn"
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
-msgstr "Skriv ut"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "I procent:"
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr "Avsluta"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
+msgstr "Med absolut storlek:"
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
-msgstr "Nytt"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "Bredd:"
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
-msgstr "Öppna"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "bildpunkter"
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
-msgstr "Bakgrund"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "Höjd:"
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
-msgstr "Öppna bild"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "Behåll bildförhållande"
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
-msgstr "Kunde inte öppna filen: {0}"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "Ankare:"
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
-msgstr "Fel"
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "Ny bildstorlek          "
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
-msgstr "Spara ändringarna i bilden \"{0}\" innan en ny öppnas?"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Lageregenskaper"
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
-msgstr "Bildfiler"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "Namn:"
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
-msgstr "Alla filer"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "Synlig"
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
-msgstr "Spara bildfil"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "Opacitet:"
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
-msgstr "{0}-bild ({1})"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr "..."
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
-msgstr "OpenRaster-bild (*.ora)"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "_Arkiv"
 
-#: Pinta.Core/Actions/FileActions.cs:392
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before closing?"
-msgstr "Spara ändringarna i bilden \"{0}\" innan du avslutar?"
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "R_edigera"
 
-#: Pinta.Core/Actions/FileActions.cs:402
-msgid "Close without saving"
-msgstr "Stäng utan att spara"
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "_Visa"
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
-msgstr "Beskär till markering"
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "B_ild"
 
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
-msgstr "Ändra storlek..."
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "_Lager"
 
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
-msgstr "Ritytestorlek..."
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "_Justeringar"
 
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
-msgstr "Rotera 90° medurs"
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "_Effekter"
 
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
-msgstr "Rotera 90° moturs"
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "_Fönster"
 
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
-msgstr "Rotera 180°"
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
+msgstr "Verktygsfönster"
 
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
-msgstr "Tillplatta"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "_Hjälp"
 
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr "Ångra"
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "Verktyg"
 
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
-msgstr "Gör om"
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Dokument"
 
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
-msgstr "Klipp ut"
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "Lager"
 
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
-msgstr "Kopiera"
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "Historik"
 
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
-msgstr "Klistra in"
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
+msgstr "Ta en skärmbild"
 
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
-msgstr "Klistra in i nytt lager"
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
+msgstr "Fördröjning före en skärmbild tas (sekunder):"
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
-msgstr "Klistra in i ny bild"
+#: Pinta/DialogHandlers.cs:139
+#, csharp-format
+msgid "Save the changes to image \"{0}\" before closing?"
+msgstr "Spara ändringarna i bilden \"{0}\" innan du avslutar?"
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
-msgstr "Sudda ut markering"
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "Om du inte sparar kommer alla ändringar att gå förlorade."
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
-msgstr "Fyll markering"
+#: Pinta/DialogHandlers.cs:147
+msgid "Close without saving"
+msgstr "Stäng utan att spara"
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
-msgstr "Invertera markering"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
+msgstr "Ändra palettstorlek"
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
-msgstr "Markera allt"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
+msgstr "Ny palettstorlek:"
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
-msgstr "Avmarkera"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "Lageropacitet"
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
-msgstr "Zooma in"
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "Döp om lager"
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
-msgstr "Zooma ut"
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "Dölj lager"
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
-msgstr "Zooma till fönster"
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "Visa lager"
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
-msgstr "Zooma till markering"
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
+msgstr "Bildfiler"
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
-msgstr "Verklig storlek"
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
+msgstr "Inklistringen avbröts"
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
-msgstr "Bildpunktsrutnät"
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
+msgstr "Urklippet innehåller inte en bild"
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
-msgstr "Linjaler"
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
+msgstr "Spara bildfil"
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
-msgstr "Bildpunkter"
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
+msgstr "Pinta stöder inte sparande av bilder i detta filformat."
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
-msgstr "Tum"
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
+msgstr "Ett fil med namnet \"{0}\" finns redan. Vill du ersätta den?"
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
-msgstr "Centimeter"
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
+msgstr ""
+"Filen finns redan i \"{1}\". Vid ersättning skrivs dess innehåll över."
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
-msgstr "Helskärm"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr "antal trådar att använda för rendering"
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
-msgstr "Fönster"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Version"
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
-msgstr "Pintas webbplats"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Licens"
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
-msgstr "Rapportera ett fel"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "Släppt under MIT X11 License."
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
-msgstr "Översätt detta program"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "Upphovsrätt"
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
-msgstr "Allmänt"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "av Pinta-bidragsgivare"
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
-msgstr "Verktyg"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "Titel"
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
-msgstr "Genvägstangent"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "Sökväg"
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
-msgstr "Kantutjämning"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
+msgstr "JPEG-kvalitet"
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
-msgstr "Normal blandning / överskriv blandning"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
+msgstr "Kvalitet: "
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
-msgstr "Vänd bild horisontellt"
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "Bidragsgivare till denna utgåva"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
-msgstr "Vänd bild vertikalt"
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "Tidigare bidragsgivare"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
-msgstr "Vänd lager horisontellt"
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  David Bengtsson https://launchpad.net/~justfaking\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst\n"
+"  Phoenix https://launchpad.net/~thephoenix"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
-msgstr "Vänd lager vertikalt"
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Översatt av:"
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
-msgstr "Avsluta bildpunkter"
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "Baserat på arbetet med Paint.NET"
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
-msgstr "Renderingseffekt"
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "Använder en del ikoner från:"
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
-msgstr "kopiera"
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "Om Pinta"
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
-msgstr "Lager"
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "Versionsinfo"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1442,5 +1593,43 @@ msgstr ""
 #: RedEyeRemoveEffect dialog
 msgid "Hint: For best results, first use selection tools to select each eye."
 msgstr ""
-"Tips: för bästa resultat, använd markeringsverktyg först för att markera "
+"Tips: För bästa resultat, använd först markeringsverktyg för att markera "
 "varje öga."
+
+#~ msgid "%"
+#~ msgstr "%"
+
+#~ msgid "Continue without saving"
+#~ msgstr "Fortsätt utan att spara"
+
+#~ msgid "X :"
+#~ msgstr "X:"
+
+#~ msgid "Y :"
+#~ msgstr "Y:"
+
+#~ msgid "Fill mode"
+#~ msgstr "Fylläge"
+
+#~ msgid "Show Pad"
+#~ msgstr "Visa fält"
+
+#~ msgid "Tip : Right-click to remove control points."
+#~ msgstr "Tips: högerklicka för att ta bort kontrollpunkter"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before opening a new image?"
+#~ msgstr "Spara ändringarna i bilden \"{0}\" innan en ny öppnas?"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr "Spara ändringarna i bilden \"{0}\" innan en ny skapas?"
+
+#~ msgid "OpenRaster image (*.ora)"
+#~ msgstr "OpenRaster-bild (*.ora)"
+
+#~ msgid "Antialiasing"
+#~ msgstr "Kantutjämning"
+
+#~ msgid "Normal blending / Overwrite blending"
+#~ msgstr "Normal blandning / överskriv blandning"
diff --git a/po/messages-th.po b/po/messages-th.po
index 0557b4c..4d67f27 100644
--- a/po/messages-th.po
+++ b/po/messages-th.po
@@ -7,673 +7,638 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
 "PO-Revision-Date: 2010-09-07 11:11+0000\n"
 "Last-Translator: Jonathan Pobst <Unknown>\n"
 "Language-Team: Thai <th at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "เกี่ยวกับ"
-
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "พู่กัน"
-
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "แ_ฟ้ม"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr ""
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "แ_ก้ไข"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "ชั้นงาน"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "มุ_มมอง"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "คัดลอก"
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "รูป_ภาพ"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "ปรับขนาดหน้ากระดาษ"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "_ชั้นงาน"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr ""
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "_การปรับเปลี่ยน"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr ""
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "_ลูกเล่น"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr ""
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "ห_น้าต่าง"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr ""
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "_วิธีใช้"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr ""
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
 msgstr ""
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "เครื่องมือ"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "ปรับขนาดภาพ"
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
 msgstr ""
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "เอกสาร"
-
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "ชั้นงาน"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr "หมุน 180°"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
 msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "ซ่อน"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "จัดใส่สำรับงานได้"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr "หมุน 90° ตามเข็มนาฬิกา"
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "ลอย"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr "หมุน 90° ทวนเข็มนาฬิกา"
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "ซ่อนอัตโนมัติ"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr "พลิกชั้นงานในแนวตั้ง"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "สำรับงาน"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr "พลิกชั้นงานในแนวนอน"
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
 msgstr ""
-"Launchpad Contributions:\n"
-"  Jonathan Pobst https://launchpad.net/~jpobst\n"
-"  Saruch Srisawadpong https://launchpad.net/~schemer-of-darkness\n"
-"  SiraNokyoongtong https://launchpad.net/~gumara\n"
-"  Srun Werakool https://launchpad.net/~panx0008"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "แปลโดย:"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr "ปรับขนาด..."
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
 msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "เกี่ยวกับ Pinta"
-
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "เวอร์ชัน"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr ""
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
 msgstr ""
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "เวอร์ชัน"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr "ขยาย"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr ""
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr "ย่อ"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "ลิขสิทธิ์"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr "ขนาดพอดี"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
 msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "สงวนลิขสิทธิ์"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr "ขนาดปกติ"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
 msgstr ""
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "ปรับขนาดภาพ"
-
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "ความกว้าง:"
-
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "พิกเซล"
-
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "ความสูง:"
-
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
-#: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "คุณสมบัติชั้นงาน"
-
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "ชื่อ:"
-
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "ปรากฏ"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "ความทึบแสง:"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr "เต็มจอ"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "ปรับขนาดหน้ากระดาษ"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
 msgstr ""
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
-msgid "New Image"
-msgstr "ภาพใหม่"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr "ลบชั้นงาน"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "ขนาดของภาพใหม่          "
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:57
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
 msgstr ""
-"บันทึนการเปลี่ยนแปลงต่าง ๆ ที่กระทำต่อภาพ \"{0}\" ก่อนที่จะสร้างภาพใหม่"
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr "ถ้าคุณไม่บันทึกงาน การแก้ไขทั้งหมดจะสูญหายอย่างถาวร"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "ทำต่อไปโดยไม่บันทึกงาน"
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "ความทึบแสงของชั้นงาน"
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "เปลี่ยนชื่อชั้นงาน"
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "ซ่อนชั้นงาน"
+#: Pinta.Core/Actions/LayerActions.cs:74
+msgid "Layer Properties..."
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "แสดงชั้นงาน"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
+msgstr "เปิดแฟ้มรูปภาพ"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
-msgstr ""
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "เกี่ยวกับ"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
-msgstr ""
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr "ใหม่..."
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
-msgstr ""
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
+msgstr "เปิด..."
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
-msgstr "ดินสอ"
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr "แฟ้มล่าสุด"
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
-msgstr ""
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
+msgstr "ปิด"
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
-msgstr ""
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
+msgstr "บันทึก"
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
-msgstr "ย่อ/ขยาย"
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
+msgstr "บันทึกเป็น..."
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
-msgstr ""
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
+msgstr "พิมพ์"
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
-msgstr "ขนาดพู่กัน"
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
+msgstr "ออก"
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
-msgstr "ลดขนาดพู่กัน"
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr "ใหม่"
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
-msgstr "เพิ่มขนาดพู่กัน"
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
+msgstr "เปิด"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
+msgstr "เรียกคืน"
+
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
+msgstr "ทำซ้ำ"
+
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
+msgstr "ตัด"
+
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
+msgstr "คัดลอก"
+
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
+msgstr "แปะ"
+
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
+msgstr "แปะในชั้นงานใหม่"
+
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
+msgstr "แปะในรูปภาพใหม่"
+
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
 msgstr ""
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
 msgstr ""
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
 msgstr ""
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
 msgstr ""
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
 msgstr ""
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
-msgstr "ไล่ระดับสี"
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:60
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
 msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
-msgstr ""
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
+msgstr "พื้นหลัง"
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
+msgid "New Image"
+msgstr "ภาพใหม่"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
+msgstr "เปิดรูปภาพ"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
+#, csharp-format
+msgid "Could not open file: {0}"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
-msgstr "รัศมี"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
+msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
 msgstr ""
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
 msgstr ""
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
 msgstr ""
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
 msgstr ""
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
 msgstr ""
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
 msgstr ""
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
 msgstr ""
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
 msgstr ""
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
 msgstr ""
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:37
-msgid "Text"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:44
-msgid ""
-"Left click to place cursor, then type desired text. Text color is primary "
-"color."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:131
-msgid "Font"
-msgstr "แบบอักษร"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
+msgstr ""
 
-#: Pinta.Tools/TextTool.cs:186
-msgid "Bold"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:193
-msgid "Italic"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:201
-msgid "Underline"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:210
-msgid "Left Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:219
-msgid "Center Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:227
-msgid "Right Align"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
 msgstr ""
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
 msgstr ""
 
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
 msgstr ""
 
-#: Pinta.Tools/RectangleTool.cs:38
-msgid "Rectangle"
-msgstr "สี่เหลี่ยมผืนผ้า"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
+msgstr "มัว"
 
-#: Pinta.Tools/RectangleTool.cs:44
-msgid ""
-"Click and drag to draw a rectangle (right click for secondary color). Hold "
-"shift to constrain to a square."
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
 msgstr ""
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
 msgstr ""
 
-#: Pinta.Tools/LineCurveTool.cs:44
-msgid ""
-"Left click to draw with primary color, right click for secondary color."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
 msgstr ""
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
 msgstr ""
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
 msgstr ""
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
-msgstr "ยางลบ"
-
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
 msgstr ""
 
 #: Pinta.Effects/Effects/PixelateEffect.cs:26
 msgid "Pixelate"
 msgstr ""
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr ""
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
 msgstr ""
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
 msgid "Photo"
 msgstr "ภาพถ่าย"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
 msgstr ""
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
-msgstr "มัว"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
+msgstr ""
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
 msgstr ""
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
 msgstr ""
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
 msgstr ""
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr ""
+
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
 msgstr ""
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
@@ -681,18 +646,26 @@ msgid "Edge Detect"
 msgstr ""
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
 #: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
 msgid "Stylize"
 msgstr ""
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
 msgstr ""
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr ""
+
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr ""
+
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
 msgstr ""
 
 #: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
@@ -707,542 +680,713 @@ msgstr ""
 msgid "Clouds"
 msgstr ""
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
 msgstr ""
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr ""
+
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr ""
+
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
 msgstr ""
 
 #: Pinta.Effects/Effects/AddNoiseEffect.cs:30
 msgid "Add Noise"
 msgstr ""
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
 msgstr ""
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
+#: Pinta.Effects/Effects/OutlineEffect.cs:29
+msgid "Outline"
 msgstr ""
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
 msgstr ""
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
 msgstr ""
 
-#: Pinta.Effects/Effects/OutlineEffect.cs:29
-msgid "Outline"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
 msgstr ""
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
 msgstr ""
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
 msgstr ""
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
 msgstr ""
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
+#: Pinta.Tools/TextTool.cs:37
+msgid "Text"
 msgstr ""
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
+#: Pinta.Tools/TextTool.cs:44
+msgid ""
+"Left click to place cursor, then type desired text. Text color is primary "
+"color."
 msgstr ""
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
+#: Pinta.Tools/TextTool.cs:144
+msgid "Font"
+msgstr "แบบอักษร"
+
+#: Pinta.Tools/TextTool.cs:205
+msgid "Bold"
 msgstr ""
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
+#: Pinta.Tools/TextTool.cs:212
+msgid "Italic"
 msgstr ""
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
+#: Pinta.Tools/TextTool.cs:220
+msgid "Underline"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
+#: Pinta.Tools/TextTool.cs:229
+msgid "Left Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
+#: Pinta.Tools/TextTool.cs:238
+msgid "Center Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
+#: Pinta.Tools/TextTool.cs:246
+msgid "Right Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
+#: Pinta.Tools/RectangleTool.cs:38
+msgid "Rectangle"
+msgstr "สี่เหลี่ยมผืนผ้า"
+
+#: Pinta.Tools/RectangleTool.cs:44
+msgid ""
+"Click and drag to draw a rectangle (right click for secondary color). Hold "
+"shift to constrain to a square."
 msgstr ""
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
+msgid ""
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
 msgstr ""
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
-msgstr "ลบชั้นงาน"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
+msgstr "ไล่ระดับสี"
 
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
-msgstr "เปิดแฟ้มรูปภาพ"
-
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
-msgstr "ใหม่..."
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
+msgstr "ขนาดพู่กัน"
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
-msgstr "เปิด..."
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
+msgstr "ลดขนาดพู่กัน"
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
-msgstr "แฟ้มล่าสุด"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
+msgstr "เพิ่มขนาดพู่กัน"
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
-msgstr "ปิด"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "พู่กัน"
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
-msgstr "บันทึก"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
-msgstr "บันทึกเป็น..."
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
-msgstr "พิมพ์"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr "ออก"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
-msgstr "ใหม่"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
-msgstr "เปิด"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
-msgstr "พื้นหลัง"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
-msgstr "เปิดรูปภาพ"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
-msgstr "แฟ้มรูปภาพ"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "ย่อ/ขยาย"
+
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
-msgstr "บันทึกแฟ้มรูปภาพ"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
+msgstr "รัศมี"
+
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:392
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before closing?"
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:402
-msgid "Close without saving"
-msgstr "ปิดโดยไม่บันทึก"
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
-msgstr "ปรับขนาด..."
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
-msgstr "หมุน 90° ตามเข็มนาฬิกา"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
-msgstr "หมุน 90° ทวนเข็มนาฬิกา"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
+msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
-msgstr "หมุน 180°"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "ดินสอ"
 
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
+msgstr "ยางลบ"
+
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr "เรียกคืน"
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
+msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
-msgstr "ทำซ้ำ"
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
+msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
-msgstr "ตัด"
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
+msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
-msgstr "คัดลอก"
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "ซ่อน"
 
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
-msgstr "แปะ"
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "สำรับงาน"
 
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
-msgstr "แปะในชั้นงานใหม่"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "ซ่อนอัตโนมัติ"
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
-msgstr "แปะในรูปภาพใหม่"
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "จัดใส่สำรับงานได้"
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "ลอย"
+
+#: Pinta/Options.cs:486
+msgid "OptionName"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "ความกว้าง:"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "พิกเซล"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "ความสูง:"
+
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
-msgstr "ขยาย"
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "ขนาดของภาพใหม่          "
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
-msgstr "ย่อ"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "คุณสมบัติชั้นงาน"
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
-msgstr "ขนาดพอดี"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "ชื่อ:"
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "ปรากฏ"
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "ความทึบแสง:"
+
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
-msgstr "ขนาดปกติ"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "แ_ฟ้ม"
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "แ_ก้ไข"
+
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "มุ_มมอง"
+
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "รูป_ภาพ"
+
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "_ชั้นงาน"
+
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "_การปรับเปลี่ยน"
+
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "_ลูกเล่น"
+
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "ห_น้าต่าง"
+
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "_วิธีใช้"
+
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "เครื่องมือ"
+
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "เอกสาร"
+
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "ชั้นงาน"
+
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
+#: Pinta/DialogHandlers.cs:139
+#, csharp-format
+msgid "Save the changes to image \"{0}\" before closing?"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
-msgstr "เต็มจอ"
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "ถ้าคุณไม่บันทึกงาน การแก้ไขทั้งหมดจะสูญหายอย่างถาวร"
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
+#: Pinta/DialogHandlers.cs:147
+msgid "Close without saving"
+msgstr "ปิดโดยไม่บันทึก"
+
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "ความทึบแสงของชั้นงาน"
+
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "เปลี่ยนชื่อชั้นงาน"
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "ซ่อนชั้นงาน"
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "แสดงชั้นงาน"
+
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
+msgstr "แฟ้มรูปภาพ"
+
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
 msgstr ""
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
+msgstr "บันทึกแฟ้มรูปภาพ"
+
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "เวอร์ชัน"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "ลิขสิทธิ์"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "สงวนลิขสิทธิ์"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
-msgstr "พลิกชั้นงานในแนวตั้ง"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
-msgstr "พลิกชั้นงานในแนวนอน"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
+msgstr ""
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
 msgstr ""
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
 msgstr ""
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
-msgstr "คัดลอก"
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr ""
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
-msgstr "ชั้นงาน"
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst\n"
+"  Saruch Srisawadpong https://launchpad.net/~schemer-of-darkness\n"
+"  SiraNokyoongtong https://launchpad.net/~gumara\n"
+"  Srun Werakool https://launchpad.net/~panx0008"
+
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "แปลโดย:"
+
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr ""
+
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr ""
+
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "เกี่ยวกับ Pinta"
+
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "เวอร์ชัน"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1422,6 +1566,14 @@ msgstr ""
 #~ msgid "%"
 #~ msgstr "%"
 
+#~ msgid "Continue without saving"
+#~ msgstr "ทำต่อไปโดยไม่บันทึกงาน"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr ""
+#~ "บันทึนการเปลี่ยนแปลงต่าง ๆ ที่กระทำต่อภาพ \"{0}\" ก่อนที่จะสร้างภาพใหม่"
+
 #~ msgid "X :"
 #~ msgstr "X :"
 
diff --git a/po/messages-tr.po b/po/messages-tr.po
index e0fa762..eff6afa 100644
--- a/po/messages-tr.po
+++ b/po/messages-tr.po
@@ -7,540 +7,747 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-09-07 11:09+0000\n"
-"Last-Translator: Jonathan Pobst <Unknown>\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2011-01-09 14:52+0000\n"
+"Last-Translator: Omer GOK <Unknown>\n"
 "Language-Team: Turkish <tr at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "Hakkında"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "Pencere"
 
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "Boya fırçası"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "Katman"
 
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "_Dosya"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "kopyala"
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "_Düzenle"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "Tuvali Yeniden Boyutlandır"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "_Göster"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr "Araç"
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "_Görüntü"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr "Kısayol tuşu"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "_Katmanlar"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr "Normal Harmalama"
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "_Ayarlar"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr "Üzerine yaz"
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "_Efektler"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr "Antialiasing Açık"
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "_Pencere"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr "Kenar Keskinleştirme Kapalı"
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "_Yardım"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "Resmi Yeniden Boyutlandır"
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
-msgstr ""
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr "Pikseller Bitir"
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "Araçlar"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr "180° Döndür"
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "Palet"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr "Resmi Yatay Döndür"
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Belgeler"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr "Resmi Dikey Döndür"
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "Katmanlar"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr "Saat Yönünde 90° Çevir"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "Geçmiş"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr "Saat Yönünün Tersinde 90° Çevir"
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "Gizle"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr "Katmanı Yatay Döndür"
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "Gömülebilir"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr "Katmanı Dikey Döndür"
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "Yüzen"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
+msgstr "Genel"
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "Otomatik Gizle"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr "{0} resim ({1})"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "Rıhtım"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr "Seçime Kırp"
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "Bu Sürüme Katkıda Bulunanlar"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr "Resmi Ölçeklendir..."
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "Önceden Katkıda Bulunmuş Olanlar"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr "Tuval Boyutu..."
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
-msgstr ""
-"Launchpad Contributions:\n"
-"  Jonathan Pobst https://launchpad.net/~jpobst\n"
-"  Yalçın Can https://launchpad.net/~echza"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr "Yatay Çevir"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Çeviren:"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr "Dikey Çevir"
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "Paint.NET üzerine inşa edilmiştir:"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr "Düzleştir"
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "Bazı simgeler şuradan alınmıştır:"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr "Yakınlaştır"
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "Pinta Hakkında"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr "Uzaklaştır"
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "Sürüm Bilgisi"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr "Pencereye Yaklaş"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "Başlık"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr "Seçimi Büyüt"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Sürüm"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr "Özgün Boyut"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "Konum"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
+msgstr "Araç Çubuğu"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Lisans"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr "Piksel Izgara"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "MIT X11 Lisansı altında dağıtılmaktadır"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr "Cetvel"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "Telif Hakkı"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr "Pikseller"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "Pinta katılımcıları tarafından"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr "İnç"
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
-msgstr "oluşturulma için için kullanılan işlem parçacıkları"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr "Santimetre"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "Görüntüyü Yeniden Boyutlandır"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr "Tam Ekran"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr ""
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr "Cetvel Birimi"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
-msgstr ""
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr "Yeni Katman Ekle"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "Genişlik:"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr "Katmanı Sil"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "piksel"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr "Katmanı Çoğalt"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "Yükseklik:"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr "Katmanı Birleştir"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "En-boy oranını koru"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr "Bir dosyayı içeri aktar..."
+
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr "Döndür / Yakınlaştır"
+
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr "Katmanı Yukarı Çıkar"
+
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr "Katmanı Aşağı İndir"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
 #: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "Katman Özellikleri"
+msgid "Layer Properties..."
+msgstr "Katman Özellikleri..."
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "İsim:"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
+msgstr "Bir Görüntü Dosyası Aç"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "Görünür"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr "Bir dosyayı içeri aktar"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "Saydamlık:"
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr "Tümünü Kaydet"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "Tuvali Yeniden Boyutlandır"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr "Tümünü Kapat"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "Çapa:"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr "Pinta Web Sayfası"
+
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
+msgstr "Hata Bildir"
+
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
+msgstr "Bu Programı Tercüme Et"
+
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "Hakkında"
+
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr "Yeni..."
+
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
+msgstr "Yeni Ekran Görüntüsü..."
+
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
+msgstr "Aç..."
+
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr "Son Kullanılanlardan Aç"
+
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
+msgstr "Kapat"
+
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
+msgstr "Kaydet"
+
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
+msgstr "Farklı Kaydet..."
+
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
+msgstr "Yazdır"
+
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
+msgstr "Çık"
+
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr "Yeni"
+
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
+msgstr "Aç"
+
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
+msgstr "Geri Al"
+
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
+msgstr "Yinele"
+
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
+msgstr "Kes"
+
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
+msgstr "Kopyala"
+
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
+msgstr "Yapıştır"
+
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
+msgstr "Yeni Katmana Yapıştır"
+
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
+msgstr "Yeni Görüntü Dosyasına Yapıştır"
+
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
+msgstr "Seçimi Sil"
+
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
+msgstr "Seçimi Doldur"
+
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
+msgstr "Seçimi Tersine Çevir"
+
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
+msgstr "Tümünü Seç"
+
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
+msgstr "Seçimi Kaldır"
+
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
+msgstr "Varsayılana Sıfırla"
+
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
+msgstr "Renk Numaraları"
+
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "Palet"
+
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
+msgstr "Palet Dosyası Aç"
+
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
+msgstr "Palet dosyaları (*.txt, *.gpl)"
+
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr "Tüm dosyalar"
+
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
+msgid ""
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
+msgstr ""
+"Palat dosyası açılamdı: {0}.\n"
+"Lütfen GIMP veya Paint.NET paletlerini seçiniz."
+
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
+msgstr "Hata"
 
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
+msgstr "Palet Dosyasını Kaydet"
+
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
+msgstr "Paint.NET paleti (*.txt)"
+
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
+msgstr "GIMP paleti (*.gpl)"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr "Kaydedilmemiş Resim {0}"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
+msgstr "Arkaplan"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
 #: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
 msgid "New Image"
 msgstr "Yeni Görüntü"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "Yeni Görüntü Boyutu          "
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
+msgstr "Görüntü Aç"
 
-#: Pinta/DialogHandlers.cs:57
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
 #, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
-msgstr ""
-"Yeni bir belge açılmadan önce \"{0}\" görüntüsündeki değişiklikler "
-"kaydedilsin mi?"
+msgid "Could not open file: {0}"
+msgstr "Dosya açılamadı: {0}"
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr "Kaydetmezseniz tüm değişiklikler kalıcı olarak kaybolacak."
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
+msgstr "Render Efekti"
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "Kaydetmeden devam et"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
+msgstr "Posterleştir"
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "Katman Saydamlığı"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
+msgstr "Renkleri Ters Çevir"
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "Katmanı Yeniden Adlandır"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
+msgstr "Seviyeler"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "Katmanı Gizle"
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
+msgstr "Siyah ve Beyaz"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "Katmanı Göster"
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
+msgstr "Otomatik Seviye"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
-msgstr "etiket1"
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
+msgstr "Ton / Dolgunluk"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "etiket"
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
+msgstr "Açıklık / Parlaklık"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
-msgstr "Rastgele Parazit"
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
+msgstr "Sepya"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
-msgstr ""
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
+msgstr "Eğriler"
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
-msgstr "Renk Seçici"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
+msgstr "Transfer Haritası"
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
-msgstr ""
-"Temel rengi belirmek için farenizin sol tuşa basın. İkincil rengi belirlemek "
-"için ise farenizin sağ tuşuna basın."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
+msgstr "RGB"
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
-msgstr "Seçimden sonra"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
+msgstr "Parlaklık"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
-msgstr "Aracı değiştirme"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
+msgstr "(256, 256)"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
-msgstr "Önceki araca geç"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
+msgstr "Kırmızı  "
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
-msgstr "Kalem aracına geçin"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
+msgstr "Yeşil"
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
-msgstr "Kalem"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
+msgstr "Mavi "
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
-msgstr "Kement Seçim"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
+msgstr "Sıfırla"
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
+msgstr "Öneri : Kontrol noktalarını kaldırmak için sağ tıklayın."
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
-msgstr "Büyüt"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
+msgstr "Seviye Ayarları"
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
+msgstr "Giriş Histogram"
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
-msgstr "Fırça boyutu"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
+msgstr "Girdi"
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
-msgstr "Fırça boyutunu azalt"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
+msgstr "Çıktı"
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
-msgstr "Fırça boyutunu arttır"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
+msgstr "Çkış Histogram"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
+msgstr "Otomatik"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
-msgstr "Şekli Doldur"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
+msgstr "Kırmızı"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
+msgstr "Mavi"
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
-msgstr "Seçili Pikselleri Taşı"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
+msgstr "Bağlı"
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
-msgstr ""
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
+msgstr "Kalemle Eskiz"
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
-msgstr "Kaydırma"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
+msgstr "Sanatsal"
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
-msgstr ""
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
+msgstr "Odaklan"
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
-msgstr ""
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
+msgstr "Bulanıklıklar"
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
-msgstr "Elips Seçim"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
+msgstr "Şişirme"
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
+msgstr "Boz"
+
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
-msgstr "Renk Geçişi"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
+msgstr "Oluştur"
 
-#: Pinta.Tools/GradientTool.cs:60
-msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
-msgstr ""
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
+msgstr "Ortalama"
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
-msgstr ""
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
+msgstr "Parazit"
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
+#: Pinta.Effects/Effects/PixelateEffect.cs:26
+msgid "Pixelate"
+msgstr "Pikselleştir"
+
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
+msgstr "Keskinleştir"
+
+#: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
+msgid "Photo"
+msgstr "Fotoğraf"
+
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
+msgstr "Yağlı Boya"
+
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
+msgstr "Gauss Bulanıklığı"
+
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
+msgstr "Parlama"
+
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
-msgstr "Işınsal Renk Geçişi"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr "Kırmızı Göz Kaldırma"
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
-msgstr ""
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
+msgstr "Buzlu Cam"
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
-msgstr "Renk Kipi"
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
+msgid "Edge Detect"
+msgstr "Kenar Saptama"
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
-msgstr "Şeffaflık Kipi"
+#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
+#: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
+msgid "Stylize"
+msgstr "Stilize"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
-msgstr "Dairesel Dikdörtgen"
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
+msgstr "Julia Fraktali"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
-msgstr ""
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr "Hareketli Bulanıklaştır"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
-msgstr "Yarıçap"
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr "Kabartma"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
-msgstr ""
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
+msgid "Zoom Blur"
+msgstr "Yaklaşma Bulanıklaştırması"
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
+msgid "Polar Inversion"
 msgstr ""
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
-msgstr "Dikdörtgen Seçim"
+#: Pinta.Effects/Effects/CloudsEffect.cs:30
+msgid "Clouds"
+msgstr "Bulutlar"
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
-msgstr ""
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
+msgstr "Fragman"
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
-msgstr "Boya Kovası"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr "Paraziti Azalt"
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr "Dairesel Bulanıklaştırma"
+
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
 msgstr ""
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
-msgstr "Stampa"
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
+msgid "Add Noise"
+msgstr "Parazit Ekle"
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
-msgstr "Seçimi Taşı"
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
+msgstr "Kabartma"
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
-msgstr ""
+#: Pinta.Effects/Effects/OutlineEffect.cs:29
+msgid "Outline"
+msgstr "Anahat"
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
-msgstr ""
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
+msgstr "Rastgele Parazit"
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
-msgstr "Doldurma kipi"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
+msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
-msgstr "Sürekli"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "etiket1"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
-msgstr "Genel"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "etiket"
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
-msgstr "Tolerans"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
+msgstr "Birincil Rengi Seç"
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
-msgstr "Elips"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
+msgstr "İkincil Rengi Seç"
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
 msgstr ""
 
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
+msgstr "Kaydırma"
+
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
+msgstr "Resmi hareket ettirmek için tıklayın ve sürükleyin."
+
 #: Pinta.Tools/TextTool.cs:37
 msgid "Text"
 msgstr "Metin"
@@ -550,43 +757,37 @@ msgid ""
 "Left click to place cursor, then type desired text. Text color is primary "
 "color."
 msgstr ""
+"İşaretçiyi yerleştirmek için tıklayın ve istenen metni yazın. Metin rengi "
+"birincil renktir."
 
-#: Pinta.Tools/TextTool.cs:131
+#: Pinta.Tools/TextTool.cs:144
 msgid "Font"
 msgstr "Yazıtipi"
 
-#: Pinta.Tools/TextTool.cs:186
+#: Pinta.Tools/TextTool.cs:205
 msgid "Bold"
 msgstr "Kalın"
 
-#: Pinta.Tools/TextTool.cs:193
+#: Pinta.Tools/TextTool.cs:212
 msgid "Italic"
 msgstr "Eğik"
 
-#: Pinta.Tools/TextTool.cs:201
+#: Pinta.Tools/TextTool.cs:220
 msgid "Underline"
 msgstr "Altı çizili"
 
-#: Pinta.Tools/TextTool.cs:210
+#: Pinta.Tools/TextTool.cs:229
 msgid "Left Align"
 msgstr "Sola Hizalı"
 
-#: Pinta.Tools/TextTool.cs:219
+#: Pinta.Tools/TextTool.cs:238
 msgid "Center Align"
 msgstr "Ortala"
 
-#: Pinta.Tools/TextTool.cs:227
+#: Pinta.Tools/TextTool.cs:246
 msgid "Right Align"
 msgstr "Sağa Hizalı"
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
-msgstr ""
-
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
-msgstr ""
-
 #: Pinta.Tools/RectangleTool.cs:38
 msgid "Rectangle"
 msgstr "Dikdörtgen"
@@ -596,654 +797,616 @@ msgid ""
 "Click and drag to draw a rectangle (right click for secondary color). Hold "
 "shift to constrain to a square."
 msgstr ""
+"Dikdörtgen çizmek için tıklayın ( ikincil renk için sağ tıklayın ) ve "
+"sürükleyin. Kare elde etmek için shift'e basın."
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
-msgstr "Çizgi"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
+msgstr ""
 
-#: Pinta.Tools/LineCurveTool.cs:44
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
 msgid ""
-"Left click to draw with primary color, right click for secondary color."
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
 msgstr ""
+"Birincil renkle çizmek için sol, ikincil renkle çizmek için sağ tıklayın."
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
 msgstr ""
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
 msgstr ""
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
-msgstr "Silgi"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
+msgstr "Şekli Doldur"
 
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
 msgstr ""
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:26
-msgid "Pixelate"
-msgstr "Pikselleştir"
-
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr "Boz"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
+msgstr ""
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
-msgstr "Kırmızı Göz Kaldırma"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
+msgstr "Sürekli"
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
-#: Pinta.Effects/Effects/SharpenEffect.cs:34
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
-msgid "Photo"
-msgstr "Fotoğraf"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
+msgstr "Genel"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
-msgstr "Hareketli Bulanıklaştır"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
+msgstr "Tolerans"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
-msgstr "Bulanıklıklar"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
+msgstr "Çizgi"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
 msgstr ""
+"Birincil renkle çizmek için sol, ikincil renkle çizmek için sağ tıklayın."
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
-msgstr "Sanatsal"
-
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
-msgstr "Dairesel Bulanıklaştırma"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
+msgstr "Seçimi Taşı"
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
 msgstr ""
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
-msgid "Edge Detect"
-msgstr "Kenar Saptama"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
+msgstr "Dikdörtgen Seçim"
 
-#: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
-#: Pinta.Effects/Effects/EmbossEffect.cs:34
-msgid "Stylize"
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
 msgstr ""
+"Dikdörtgen çizmek için tıklayın ve sürükleyin. Kare elde etmek için shift'e "
+"basın."
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
 msgstr ""
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
-msgstr "Yağlı Boya"
-
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
-msgid "Zoom Blur"
-msgstr "Yaklaşma Bulanıklaştırması"
-
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:26
-msgid "Polar Inversion"
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
 msgstr ""
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:30
-msgid "Clouds"
-msgstr "Bulutlar"
-
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr "Oluştur"
-
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
-msgstr "Parlama"
-
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
-msgid "Add Noise"
-msgstr "Parazit Ekle"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
+msgstr "Elips Seçim"
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
-msgstr "Parazit"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
+msgstr ""
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
-msgstr "Fragman"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
+msgstr "Kement Seçim"
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
-msgstr "Keskinleştir"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
+msgstr ""
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
-msgstr "Kalemle Eskiz"
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
+msgstr "Boya Kovası"
 
-#: Pinta.Effects/Effects/OutlineEffect.cs:29
-msgid "Outline"
-msgstr "Anahat"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
+msgstr ""
+"Bölgeyi birincil renkle doldurmak için sol, ikincil renk ile doldurmak için "
+"sağ tıklayın."
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
-msgstr "Gauss Bulanıklığı"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
+msgstr "Renk Geçişi"
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
 msgstr ""
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
-msgstr "Kabartma"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
+msgstr ""
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
-msgstr "Kabartma"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
+msgstr ""
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
 msgstr ""
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
-msgstr "Şişirme"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
+msgstr "Işınsal Renk Geçişi"
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
 msgstr ""
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
-msgstr ""
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
+msgstr "Mod"
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
-msgstr "Paraziti Azalt"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
+msgstr "Renk Kipi"
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
-msgstr "Julia Fraktali"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
+msgstr "Şeffaflık Kipi"
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
-msgstr "Ortalama"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
+msgstr "Fırça boyutu"
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
-msgstr "Eğriler"
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
+msgstr "Fırça boyutunu azalt"
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
-msgstr "Seviyeler"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
+msgstr "Fırça boyutunu arttır"
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
-msgstr "Otomatik Seviye"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "Boya fırçası"
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
-msgstr "Renkleri Ters Çevir"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
+msgstr "Tür"
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
-msgstr "Posterleştir"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
+msgstr ""
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
-msgstr "Siyah-Beyaz"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
+msgstr "İkincil rengi birincil renkle değiştirmek için sol tıkla."
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
-msgstr ""
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
+msgstr "Normal"
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
-msgstr "Renksiz"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
+msgstr "Daireler"
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
-msgstr "Açıklık / Parlaklık"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
+msgstr "Kareler"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
-msgstr "Girdi"
-
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
-msgstr "Çıktı"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
+msgstr "Elips"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
 msgstr ""
+"Elips çizmek için tıklayıp ( ikincil renk için sağ tıklayın) sürükleyin. "
+"Çember elde etmek için Shift'e basın."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
-msgstr "Oto"
-
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
-msgstr "Sıfırla"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
+msgstr "Stampa"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
-msgstr "Kırmızı"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
-msgstr "Yeşil"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "Büyüt"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
-msgstr "Mavi"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
-msgstr "Bağlı"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
+msgstr "Dairesel Dikdörtgen"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
-msgstr "RGB"
-
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
-msgstr "Parlaklık"
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
+msgstr "Yarıçap"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
-msgstr "(256, 256)"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
-msgstr "Kırmızı  "
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
-msgstr "Mavi "
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "Renk Seçici"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
 msgstr ""
+"Temel rengi belirmek için farenizin sol tuşa basın. İkincil rengi belirlemek "
+"için ise farenizin sağ tuşuna basın."
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
-msgstr "Yeni Katman Ekle"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr "Seçimden sonra"
 
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
-msgstr "Katmanı Sil"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
+msgstr "Aracı değiştirme"
 
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
-msgstr "Katmanı Çoğalt"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr "Önceki araca geç"
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
-msgstr "Katmanı Birleştir"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
+msgstr "Kalem aracına geçin"
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
-msgstr "Bir Dosyadan içe aktar"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "Kalem"
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
-msgstr "Yatay Çevir"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
+msgstr "Silgi"
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
-msgstr "Dikey Çevir"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
+msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
-msgstr "Döndür / Yakınlaştır"
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
+msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
-msgstr "Katmanı Yukarı Çıkar"
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
+msgstr "Seçili Pikselleri Taşı"
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
-msgstr "Katmanı Aşağı İndir"
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
+msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
-msgstr "Bir Görüntü Dosyası Aç"
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "Gizle"
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
-msgstr "Bir Dosyadan İçe Aktar"
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "Rıhtım"
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
-msgstr "Yeni..."
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "Otomatik Gizle"
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
-msgstr "Aç..."
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "Gömülebilir"
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
-msgstr "Son Kullanılanlardan Aç"
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "Yüzen"
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
-msgstr "Kapat"
+#: Pinta/Options.cs:486
+msgid "OptionName"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
-msgstr "Kaydet"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "Yüzde :"
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
-msgstr "Farklı Kaydet..."
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
-msgstr "Yazdır"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "Genişlik:"
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr "Çık"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "piksel"
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
-msgstr "Yeni"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "Yükseklik:"
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
-msgstr "Aç"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "En-boy oranını koru"
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
-msgstr "Arkaplan"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "Çapa:"
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
-msgstr "Görüntü Aç"
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "Yeni Görüntü Boyutu          "
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
-msgstr "Dosya açılamadı: {0}"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Katman Özellikleri"
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
-msgstr "Hata"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "İsim:"
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
-msgstr ""
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "Görünür"
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
-msgstr "Görüntü dosyaları"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "Saydamlık:"
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
-msgstr "Tüm dosyalar"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr "..."
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
-msgstr "Resim Dosyasını Kaydet"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "_Dosya"
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
-msgstr ""
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "_Düzenle"
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
-msgstr ""
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "_Göster"
 
-#: Pinta.Core/Actions/FileActions.cs:392
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before closing?"
-msgstr ""
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "_Görüntü"
 
-#: Pinta.Core/Actions/FileActions.cs:402
-msgid "Close without saving"
-msgstr "Kaydetmeden kapat"
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "_Katmanlar"
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
-msgstr ""
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "_Ayarlar"
 
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
-msgstr "Resmi Ölçeklendir..."
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "_Efektler"
 
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
-msgstr "Tuvali Kırp..."
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "_Pencere"
 
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
-msgstr ""
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
+msgstr "Araç Penceresi"
 
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
-msgstr ""
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "_Yardım"
 
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
-msgstr "180° Döndür"
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "Araçlar"
 
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
-msgstr "Düzleştir"
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Belgeler"
 
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr "Geri Al"
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "Katmanlar"
 
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
-msgstr "İleri al"
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "Geçmiş"
 
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
-msgstr "Kes"
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
+msgstr "Ekran Görüntüsü Al"
 
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
-msgstr "Kopyala"
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
+msgstr "Ekran Görüntüsü Almadan Önce Bekleme (saniye):"
 
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
-msgstr "Yapıştır"
+#: Pinta/DialogHandlers.cs:139
+#, csharp-format
+msgid "Save the changes to image \"{0}\" before closing?"
+msgstr ""
+"Kapatmadan önce değişiklikleri \"{0}\" üzerine kaydetmek istiyor musunuz?"
 
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
-msgstr "Yeni Katmana Yapıştır"
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "Kaydetmezseniz tüm değişiklikler kalıcı olarak kaybolacak."
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
-msgstr "Yeni Görüntü Dosyasına Yapıştır"
+#: Pinta/DialogHandlers.cs:147
+msgid "Close without saving"
+msgstr "Kaydetmeden kapat"
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
-msgstr "Seçimi Doldur"
-
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
-msgstr "Seçimi Tersine Çevir"
-
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
-msgstr "Tümünü Seç"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
+msgstr "Yeni palet büyüklüğü"
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
-msgstr "Seçimi Kaldır"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "Katman Saydamlığı"
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
-msgstr "Yakınlaştır"
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "Katmanı Yeniden Adlandır"
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
-msgstr "Uzaklaştır"
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "Katmanı Gizle"
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
-msgstr ""
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "Katmanı Göster"
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
-msgstr "Seçime Büyüt"
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
+msgstr "Görüntü dosyaları"
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
-msgstr "Özgün Boyut"
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
+msgstr "Yapıştırma İptal Edildi"
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
-msgstr ""
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
+msgstr "Pano resim içermiyor."
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
-msgstr ""
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
+msgstr "Resim Dosyasını Kaydet"
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
-msgstr "Piksel"
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
+msgstr "Pinta bu dosya formatıyla kaydetmeyi desteklemiyor."
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
-msgstr "İnç"
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
+msgstr "\"{0}\" isminde dosya mevcut. Değiştirmek ister misiniz?"
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
-msgstr "Santimetre"
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
+msgstr ""
+"Dosya \"{1}\" içinde mevcut. Değiştirmek içeriğinin üzerine yazılmasına "
+"neden olacak."
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
-msgstr "Tam ekran"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr "oluşturulma için için kullanılan işlem parçacıkları"
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
-msgstr "Pencere"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Sürüm"
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
-msgstr "Pinta Web Sayfası"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Lisans"
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
-msgstr ""
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "MIT X11 Lisansı altında dağıtılmaktadır"
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
-msgstr "Bu Programı Tercüme Et"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "Telif Hakkı"
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
-msgstr "Genel"
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "Pinta katılımcıları tarafından"
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
-msgstr "Araç"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "Başlık"
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
-msgstr "Kısayol tuşu"
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "Konum"
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
-msgstr "Yazıtipi yumuşatma"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
+msgstr "JPEG Kalitesi"
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
-msgstr ""
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
+msgstr "Kalite : "
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
-msgstr ""
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "Bu Sürüme Katkıda Bulunanlar"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
-msgstr ""
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "Önceden Katkıda Bulunmuş Olanlar"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
 msgstr ""
+"Launchpad Contributions:\n"
+"  58zarali https://launchpad.net/~yusufulku\n"
+"  Ahmet Vurgun https://launchpad.net/~ahmetvurgun\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst\n"
+"  Omer GOK https://launchpad.net/~mechulkalan\n"
+"  Yalçın Can https://launchpad.net/~yalcin.can"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
-msgstr ""
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Çeviren:"
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
-msgstr ""
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "Paint.NET üzerine inşa edilmiştir:"
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
-msgstr ""
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "Bazı simgeler şuradan alınmıştır:"
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
-msgstr "kopyala"
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "Pinta Hakkında"
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
-msgstr "Katman"
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "Sürüm Bilgisi"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1356,7 +1519,7 @@ msgstr "Yerleşim"
 
 #: MedianEffect dialog
 msgid "Pencil Tip Size"
-msgstr ""
+msgstr "Kalem Ucu Büyüklüğü"
 
 #: CloudsEffect dialog
 msgid "Percentile"
@@ -1392,7 +1555,7 @@ msgstr "Tohum"
 
 #: ReduceNoiseEffect dialog
 msgid "Softness"
-msgstr ""
+msgstr "Yumuşaklık"
 
 #: OutlineEffect dialog
 msgid "Strength"
@@ -1423,8 +1586,23 @@ msgstr ""
 #~ msgid "%"
 #~ msgstr "%"
 
+#~ msgid "Continue without saving"
+#~ msgstr "Kaydetmeden devam et"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr ""
+#~ "Yeni bir belge açılmadan önce \"{0}\" görüntüsündeki değişiklikler "
+#~ "kaydedilsin mi?"
+
 #~ msgid "X :"
 #~ msgstr "X :"
 
 #~ msgid "Y :"
 #~ msgstr "Y :"
+
+#~ msgid "Fill mode"
+#~ msgstr "Doldurma kipi"
+
+#~ msgid "Antialiasing"
+#~ msgstr "Yazıtipi yumuşatma"
diff --git a/po/messages-uk.po b/po/messages-uk.po
index 7508401..d6a3aee 100644
--- a/po/messages-uk.po
+++ b/po/messages-uk.po
@@ -7,714 +7,669 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-06-28 03:12+0000\n"
-"Last-Translator: Jonathan Pobst <Unknown>\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2011-01-10 20:20+0000\n"
+"Last-Translator: ma$terok <Unknown>\n"
 "Language-Team: Ukrainian <uk at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "Про програму"
-
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "Пензлик"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "Вікно"
 
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "_Файл"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "Шар"
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "_Правка"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "копія"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "_Вигляд"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "Зміна розміру полотна"
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "_Малюнок"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr "Інструменти"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "_Шари"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr "Гарячі клавіши"
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "_Кольори"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr "Нормальне змішування"
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "_Ефекти"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr "Перезаписати"
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "_Вікно"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr "Увімкнути згладжування"
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "_Допомога"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr "Вимкнути згладжування"
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
-msgstr ""
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "Змінити розмір зображення"
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "Інструменти"
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr "Завершити пікселі"
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "Палітра"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr "Повернути на 180°"
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Документи"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr "Відобразити зображення горизонтально"
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "Шари"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr "Відобразити зображення вертикально"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "Історія"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr "Повернути на 90° за годинниковою стрілкою"
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "Приховати"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr "Повернути на 90° проти годинникової стрілки"
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "Прилипаючі"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr "Відобразити шар горизонтально"
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "Плаваючі"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr "Відобразити шар вертикально"
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "Автоматично приховувати"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
+msgstr "Основні"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "Прикріпити"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr "Зображення {0}_({1})"
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "Над релізом працювали:"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr "Обрізати по виділеному"
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "Попередні розробники"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr "Змінити розмір..."
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
-msgstr ""
-"Launchpad Contributions:\n"
-"  Jonathan Pobst https://launchpad.net/~jpobst\n"
-"  ma$terok https://launchpad.net/~m-shein"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr "Розмір полотна..."
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Над перекладом працювали:"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr "Перевернути по горизонталі"
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "Працює на базі Paint.NET"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr "Перевернути по вертикалі"
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "Використовує деякі іконки з:"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr "Об'єднати"
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "Про Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr "Збільшити"
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "Інформація про версію"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr "Зменшити"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "Заголовок"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr "Пристосувати до вікна"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Версія"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr "По розміру виділення"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "Шлях"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr "Натуральний розмір"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Ліцензія"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
+msgstr "Панель інструментів"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "Випущено за підтримки МТІ ліцензія X11"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr "Піксельна решітка"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "Авторські права"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr "Лінійки"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "розробники Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr "Пікселів"
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
-msgstr "кількість потоків, що будуть використані при рендерінгу"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr "Дюйми"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "Змінити розмір зображення"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr "Сантиметри"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "У процентному співвідношенні:"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr "На весь екран"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
-msgstr "Абсолютний розмір"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr "Одиниці виміру"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "Ширина:"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr "Додати новий шар"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "пікселів"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr "Видалити шар"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "Висота:"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr "Копіювати шар"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "Зберігати пропорції"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr "Обєднати шар з попереднім"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
-#: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "Властивості шару"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr "Імпортувати з файлу ..."
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "Ім’я:"
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr "Поворот / Масштабування"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "Видимий"
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr "Перемістити шар вище"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "Непрозорість:"
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr "Перемістити шар нижче"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "Зміна розміру полотна"
+#: Pinta.Core/Actions/LayerActions.cs:74
+msgid "Layer Properties..."
+msgstr "Властивості шару..."
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "Прив’язка:"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
+msgstr "Відкрити зображення"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
-msgid "New Image"
-msgstr "Нове зображення"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr "Імпортувати з файлу"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "Розмір нового зображення          "
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr "Зберегти все"
 
-#: Pinta/DialogHandlers.cs:57
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
-msgstr "Зберегти зміни в зображенні \"{0}\" перед створенням нового?"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr "Закрити все"
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr "Якщо ви не збережете, всі зміни будуть безповоротно втрачені."
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr "Відвідати сайт Pinta"
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "Продовжити без збереження"
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
+msgstr "Звітувати про помилку"
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "Непрозорість шару"
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
+msgstr "Перекласти цю програму"
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "Перейменувати шар"
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "Про програму"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "Приховати шар"
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr "Новий..."
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "Показати шар"
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
+msgstr "Новий скріншот..."
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
-msgstr "Мітка1"
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
+msgstr "Відкрити…"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "мітка"
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr "Відкрити недавні"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
-msgstr "Білий шум"
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
+msgstr "Закрити"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
-msgstr "Перемішати"
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
+msgstr "Зберегти"
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
-msgstr "Вибір кольору"
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
+msgstr "Зберегти як…"
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
-msgstr ""
-"Клацніть лівою клавішею миші для вибору основного кольору. Клацніть правою "
-"клавішею миші, щоб вибрати додатковий колір."
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
+msgstr "Друк"
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
-msgstr "Після вибору"
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
+msgstr "Вихід"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
-msgstr "Не переключайте інструмент"
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr "Новий"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
-msgstr "Переключитися до попереднього інструменту"
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
+msgstr "Відкрити"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
-msgstr "Переключитися до наступного інструменту"
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
+msgstr "Відмінити"
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
-msgstr "Олівець"
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
+msgstr "Відновити"
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
-msgstr "Виділення лассом"
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
+msgstr "Вирізати"
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
-msgstr "За допомогою миші виділіть контур для вибору області."
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
+msgstr "Копіювати"
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
-msgstr "Масштабування"
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
+msgstr "Вставити"
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
-msgstr ""
-"Лівий клік мишкою для збільшення. Правий клік мишкою для зменшення. "
-"Натисніть і рухайте мишкою, щоб масштабувати по виділеннню."
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
+msgstr "Вставити як новий шар"
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
-msgstr "Товщина пензля."
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
+msgstr "Вставити як нове зображення"
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
-msgstr "Зменшити розмір пензля"
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
+msgstr "Видалити виділення"
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
-msgstr "Збільшити розмір пензля"
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
+msgstr "Заповнити виділення"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
-msgstr "Обвести фігуру"
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
+msgstr "Інвертувати виділення"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
-msgstr "Залити фігуру"
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
+msgstr "Виділити все"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
-msgstr "Залити і обвести фігуру"
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
+msgstr "Зняти виділення"
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
-msgstr "Перемістити вибрані пікселі"
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
+msgstr "Початкові налаштування"
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
-msgstr "Перемістіть мишкою виділення, щоб перемістити виділену область."
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
+msgstr "Встановіть число кольорів"
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
-msgstr "Панорама"
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "Палітра"
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
-msgstr "Клацніть і перетягуйте для навігації по зображенню"
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
+msgstr "Відкрити палітру"
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
-msgstr ""
-"Клацніть лівою клавішею для малювання довільних ліній товщиною один піксель "
-"основним кольором і правою клавішею для використання додаткового кольору."
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
+msgstr "Файли палітр (*.txt, *.gpl)"
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
-msgstr "Виділення еліпсом"
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr "Всі файли"
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
 msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
 msgstr ""
-"За допомогою миші намалюйте еліптичне виділення. Затисніть shift, щоб "
-"намалювати коло."
+"Не вдалося відкрити файл палітри: {0}.\n"
+"Будь-ласка, переконайтеся, що ви намагаєтеся відкрити дійсну палітру від "
+"GIMP або Paint.NET."
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
-msgstr "Градієнт"
-
-#: Pinta.Tools/GradientTool.cs:60
-msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
-msgstr ""
-"Клацніть і перетягуйте, щоб намалювати градієнт від основного кольору до до "
-"додаткового. Правий клік, щоб зробити навпаки."
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
+msgstr "Помилка"
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
-msgstr "Лінійний градієнт"
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
+msgstr "Зберегти Палітру"
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
-msgstr "Лінійний відображений градієнт."
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
+msgstr "Палітра Paint.NET (*.txt)"
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
-msgstr "Лінійний ромбовидний градієнт"
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
+msgstr "Палітра GIMP (*.gpl)"
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
-msgstr "Радіальний градієнт"
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr "Незбережених зображень {0}"
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
-msgstr "Конічний градієнт"
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
+msgstr "Фон"
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
-msgstr "Кольоровий режим"
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
+msgid "New Image"
+msgstr "Нове зображення"
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
-msgstr "Режим прозорості"
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
+msgstr "Відкрити зображення"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
-msgstr "Округлений прямокутник"
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
+#, csharp-format
+msgid "Could not open file: {0}"
+msgstr "Не можу відкрити файл: {0}"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
-msgstr ""
-"За допомогою миші намалюйте округлений прямокутник (права клавіша малює "
-"додатковим кольором). Затисніть shift, щоб намалювати квадрат."
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
+msgstr "Обробити ефекти"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
-msgstr "Радіус"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
+msgstr "Постеризація"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
-msgstr "Зменшити радіус кутів прямокутника"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
+msgstr "Інвертувати кольори"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
-msgstr "Збільшити радіус кутів прямокутника"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
+msgstr "Рівні"
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
-msgstr ""
-"Натисніть ліву клавішу, щоб малювати основним кольром і праву, щоб "
-"додатковим."
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
+msgstr "Чорно-біле"
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
-msgstr "Прямокутне виділення"
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
+msgstr "Автокорекція"
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
-msgstr ""
-"За допомогою миші намалюйте прямокутне виділення. Затисніть shift, щоб "
-"намалювати квадрат."
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
+msgstr "Відтінок / Насиченість"
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
-msgstr "Заливка"
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
+msgstr "Яскравість / контраст"
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
-msgstr ""
-"Лівий клік, щоб залити основним кольором і правий клік, щоб залити "
-"додатковим кольором."
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
+msgstr "Сепія"
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
-msgstr "Штамп клонування."
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
+msgstr "Криві"
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
-msgstr "Переміщення виділеного"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
+msgstr "Карта нормалей"
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
-msgstr "Перетягніть виділення мишкою, щоб перемістити контур виділення"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
+msgstr "RGB"
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
-msgstr "Довільна форма"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
+msgstr "Освітленість"
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
-msgstr "Режим заливки"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
+msgstr "(256, 256)"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
-msgstr "Суміжні області"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
+msgstr "Червоний  "
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
-msgstr "Глобальна"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
+msgstr "Зелений"
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
-msgstr "Допустиме відхилення"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
+msgstr "Синій "
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
-msgstr "Еліпс"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
+msgstr "Скинути"
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
-msgstr ""
-"За допомогою миші намалюйте еліпс (правою клавішею додатковим кольром). "
-"Затисніть shift, щоб намалювати коло."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
+msgstr "Підказка: Клік правою кнопкою миші видаляє контрольні точки."
 
-#: Pinta.Tools/TextTool.cs:37
-msgid "Text"
-msgstr "Текст"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
+msgstr "Корекція рівнів"
 
-#: Pinta.Tools/TextTool.cs:44
-msgid ""
-"Left click to place cursor, then type desired text. Text color is primary "
-"color."
-msgstr ""
-"Лівою клавішею помістіть курсор в потрібне місце і наберіть текст. Текст "
-"буде основним кольром."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
+msgstr "Вхідна гістограма"
 
-#: Pinta.Tools/TextTool.cs:131
-msgid "Font"
-msgstr "Шрифт"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
+msgstr "Вхід"
 
-#: Pinta.Tools/TextTool.cs:186
-msgid "Bold"
-msgstr "Напівжирний"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
+msgstr "Вихід"
 
-#: Pinta.Tools/TextTool.cs:193
-msgid "Italic"
-msgstr "Курсив"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
+msgstr "Вихідна гістограма"
 
-#: Pinta.Tools/TextTool.cs:201
-msgid "Underline"
-msgstr "Підкреслений"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
+msgstr "Автоматично"
 
-#: Pinta.Tools/TextTool.cs:210
-msgid "Left Align"
-msgstr "Рівняння ліворуч"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
+msgstr "Червоний"
 
-#: Pinta.Tools/TextTool.cs:219
-msgid "Center Align"
-msgstr "Рівняння на середину"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
+msgstr "Синій"
 
-#: Pinta.Tools/TextTool.cs:227
-msgid "Right Align"
-msgstr "Рівняння праворуч"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
+msgstr "Зв'язок"
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
-msgstr "Виділення чарівною паличкою"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
+msgstr "Малюнок олівцем"
 
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
-msgstr "Вибрати регіон з аналогічним кольром."
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
+msgstr "Художній"
 
-#: Pinta.Tools/RectangleTool.cs:38
-msgid "Rectangle"
-msgstr "Прямокутник"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
+msgstr "Розфокусування"
 
-#: Pinta.Tools/RectangleTool.cs:44
-msgid ""
-"Click and drag to draw a rectangle (right click for secondary color). Hold "
-"shift to constrain to a square."
-msgstr ""
-"За допомогою миші намалюте прямокутник (правою клавіша малює додатковим "
-"кольром). Затисніть shift, щоб намалювати квадрат."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
+msgstr "Розмитість"
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
-msgstr "Лінія"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
+msgstr "Опуклість"
 
-#: Pinta.Tools/LineCurveTool.cs:44
-msgid ""
-"Left click to draw with primary color, right click for secondary color."
-msgstr "Лівою клавішею малює основним кольром а правою малює додатковим."
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
+msgstr "Спотворення"
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
-msgstr "Перефарбування"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
+msgstr "Множина Мандельброта"
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
-msgstr "Лівий клік змінює додатковий колір на основний."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
+msgstr "Обробка"
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
-msgstr "Гумка"
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
+msgstr "Медіана"
 
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
-msgstr "Натисніть тягніть щоб стерти частину зображення."
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
+msgstr "Шум"
 
 #: Pinta.Effects/Effects/PixelateEffect.cs:26
 msgid "Pixelate"
 msgstr "Пікселізація"
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr "Спотворення"
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
-msgstr "Прибирання ефекту червоних очей"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
+msgstr "Різкість"
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
 msgid "Photo"
 msgstr "Знімок"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
-msgstr "Розмивання рухом"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
+msgstr "Картина маслом."
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
-msgstr "Розмитість"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
+msgstr "Розмивання по Гаусу"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
-msgstr "Ескіз чорнилами"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
+msgstr "Відблиск"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
-msgstr "Художній"
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
+msgstr "Пом'якшити портрет"
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
-msgstr "Радіальне розмивання"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
+msgstr "Мозаїка"
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
-msgstr "Розфокусування"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr "Прибирання ефекту червоних очей"
+
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
+msgstr "Матове скло"
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
 msgid "Edge Detect"
 msgstr "Виділення краю"
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
 #: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
 msgid "Stylize"
 msgstr "Стилізація"
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
-msgstr "Матове скло"
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
+msgstr "Фрактал Julia"
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
-msgstr "Картина маслом."
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr "Розмивання рухом"
+
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr "Чеканка"
+
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
+msgstr "Ескіз чорнилами"
 
 #: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
 msgid "Zoom Blur"
@@ -728,542 +683,738 @@ msgstr "Полярна інверсія"
 msgid "Clouds"
 msgstr "Хмари"
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr "Обробка"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
+msgstr "Фрагмент"
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
-msgstr "Відблиск"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr "Зменшити шум"
+
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr "Радіальне розмивання"
+
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
+msgstr "Скручування"
 
 #: Pinta.Effects/Effects/AddNoiseEffect.cs:30
 msgid "Add Noise"
 msgstr "Додати шум"
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
-msgstr "Шум"
-
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
-msgstr "Фрагмент"
-
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
-msgstr "Різкість"
-
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
-msgstr "Малюнок олівцем"
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
+msgstr "Рельєф"
 
 #: Pinta.Effects/Effects/OutlineEffect.cs:29
 msgid "Outline"
 msgstr "Контур"
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
-msgstr "Розмивання по Гаусу"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
+msgstr "Білий шум"
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
-msgstr "Мозаїка"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
+msgstr "Перемішати"
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
-msgstr "Рельєф"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "Мітка1"
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
-msgstr "Чеканка"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "мітка"
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
-msgstr "Множина Мандельброта"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
+msgstr "Виберіть основний колір"
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
-msgstr "Опуклість"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
+msgstr "Виберіть вторинний колір"
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
-msgstr "Скручування"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr "Оберіть палітру кольорів"
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
-msgstr "Пом'якшити портрет"
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
+msgstr "Панорама"
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
-msgstr "Зменшити шум"
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
+msgstr "Клацніть і перетягуйте для навігації по зображенню"
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
-msgstr "Фрактал Julia"
+#: Pinta.Tools/TextTool.cs:37
+msgid "Text"
+msgstr "Текст"
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
-msgstr "Медіана"
+#: Pinta.Tools/TextTool.cs:44
+msgid ""
+"Left click to place cursor, then type desired text. Text color is primary "
+"color."
+msgstr ""
+"Лівою клавішею помістіть курсор в потрібне місце і наберіть текст. Текст "
+"буде основним кольром."
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
-msgstr "Криві"
+#: Pinta.Tools/TextTool.cs:144
+msgid "Font"
+msgstr "Шрифт"
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
-msgstr "Рівні"
+#: Pinta.Tools/TextTool.cs:205
+msgid "Bold"
+msgstr "Напівжирний"
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
-msgstr "Автокорекція"
+#: Pinta.Tools/TextTool.cs:212
+msgid "Italic"
+msgstr "Курсив"
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
-msgstr "Інвертувати кольори"
+#: Pinta.Tools/TextTool.cs:220
+msgid "Underline"
+msgstr "Підкреслений"
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
-msgstr "Постеризація"
+#: Pinta.Tools/TextTool.cs:229
+msgid "Left Align"
+msgstr "Рівняння ліворуч"
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
-msgstr "Чорно-біле"
+#: Pinta.Tools/TextTool.cs:238
+msgid "Center Align"
+msgstr "Рівняння на середину"
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
-msgstr "Відтінок / Насиченість"
+#: Pinta.Tools/TextTool.cs:246
+msgid "Right Align"
+msgstr "Рівняння праворуч"
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
-msgstr "Сепія"
+#: Pinta.Tools/RectangleTool.cs:38
+msgid "Rectangle"
+msgstr "Прямокутник"
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
-msgstr "Яскравість / контраст"
+#: Pinta.Tools/RectangleTool.cs:44
+msgid ""
+"Click and drag to draw a rectangle (right click for secondary color). Hold "
+"shift to constrain to a square."
+msgstr ""
+"За допомогою миші намалюте прямокутник (правою клавіша малює додатковим "
+"кольром). Затисніть shift, щоб намалювати квадрат."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
-msgstr "Корекція рівнів"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
+msgstr "Довільна форма"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
-msgstr "Вхідна гістограма"
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
+msgid ""
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
+msgstr ""
+"Натисніть ліву клавішу, щоб малювати основним кольром і праву, щоб "
+"додатковим."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
-msgstr "Вхід"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
+msgstr "Стиль заповнення"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
-msgstr "Вихід"
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
+msgstr "Обвести фігуру"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
-msgstr "Вихідна гістограма"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
+msgstr "Залити фігуру"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
-msgstr "Автоматично"
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
+msgstr "Залити і обвести фігуру"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
-msgstr "Скинути"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
+msgstr "Режим заливки"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
-msgstr "Червоний"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
+msgstr "Суміжні області"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
-msgstr "Зелений"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
+msgstr "Глобальна"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
-msgstr "Синій"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
+msgstr "Допустиме відхилення"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
-msgstr "Зв'язок"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
+msgstr "Лінія"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
-msgstr "Карта нормалей"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
+msgstr "Лівою клавішею малює основним кольром а правою малює додатковим."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
-msgstr "RGB"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
+msgstr "Переміщення виділеного"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
-msgstr "Освітленість"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
+msgstr "Перетягніть виділення мишкою, щоб перемістити контур виділення"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
-msgstr "(256, 256)"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
+msgstr "Прямокутне виділення"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
-msgstr "Червоний  "
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
+msgstr ""
+"За допомогою миші намалюйте прямокутне виділення. Затисніть shift, щоб "
+"намалювати квадрат."
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
-msgstr "Синій "
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
+msgstr "Виділення чарівною паличкою"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
+msgstr "Вибрати регіон з аналогічним кольром."
+
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
+msgstr "Виділення еліпсом"
+
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
 msgstr ""
+"За допомогою миші намалюйте еліптичне виділення. Затисніть shift, щоб "
+"намалювати коло."
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
-msgstr "Додати новий шар"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
+msgstr "Виділення лассом"
 
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
-msgstr "Видалити шар"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
+msgstr "За допомогою миші виділіть контур для вибору області."
 
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
-msgstr "Копіювати шар"
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
+msgstr "Заливка"
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
-msgstr "Обєднати шар з попереднім"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
+msgstr ""
+"Лівий клік, щоб залити основним кольором і правий клік, щоб залити "
+"додатковим кольором."
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
-msgstr "Імпортувати з файлу ..."
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
+msgstr "Градієнт"
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
-msgstr "Перевернути по горизонталі"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
+msgstr ""
+"Клацніть і перетягуйте, щоб намалювати градієнт від основного кольору до до "
+"додаткового. Правий клік, щоб зробити навпаки."
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
-msgstr "Перевернути по вертикалі"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
+msgstr "Лінійний градієнт"
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
-msgstr "Поворот / Масштабування"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
+msgstr "Лінійний відображений градієнт."
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
-msgstr "Перемістити шар вище"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
+msgstr "Лінійний ромбовидний градієнт"
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
-msgstr "Перемістити шар нижче"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
+msgstr "Радіальний градієнт"
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
-msgstr "Відкрити зображення"
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
+msgstr "Конічний градієнт"
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
-msgstr "Імпортувати з файлу"
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
+msgstr "Режим"
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
-msgstr "Новий..."
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
+msgstr "Кольоровий режим"
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
-msgstr "Відкрити…"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
+msgstr "Режим прозорості"
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
-msgstr "Відкрити недавні"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
+msgstr "Товщина пензля."
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
-msgstr "Закрити"
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
+msgstr "Зменшити розмір пензля"
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
-msgstr "Зберегти"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
+msgstr "Збільшити розмір пензля"
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
-msgstr "Зберегти як…"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "Пензлик"
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
-msgstr "Друк"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
+msgstr "Тип"
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr "Вихід"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
+msgstr "Перефарбування"
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
-msgstr "Новий"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
+msgstr "Лівий клік змінює додатковий колір на основний."
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
-msgstr "Відкрити"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
+msgstr "Нормальний"
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
-msgstr "Фон"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
+msgstr "Кола"
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
-msgstr "Відкрити зображення"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
+msgstr "Квадрати"
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
-msgstr "Не можу відкрити файл: {0}"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
+msgstr "Бризки"
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
-msgstr "Помилка"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
+msgstr "Сітка"
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
-msgstr "Зберегти зміни в зображенні \"{0}\", перш ніж відкрити нове?"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
+msgstr "Еліпс"
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
-msgstr "Файли зображень"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
+msgstr ""
+"За допомогою миші намалюйте еліпс (правою клавішею додатковим кольром). "
+"Затисніть shift, щоб намалювати коло."
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
-msgstr "Всі файли"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
+msgstr "Штамп клонування."
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
-msgstr "Зберегти зображення"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
+msgstr ""
+"Ctrl+лівий клік мишкою для встановлення основи, лівий клік для малювання."
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
-msgstr "Зображення {0}_({1})"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "Масштабування"
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
-msgstr "Зображення OpenRaster (*.ora)"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
+msgstr ""
+"Лівий клік мишкою для збільшення. Правий клік мишкою для зменшення. "
+"Натисніть і рухайте мишкою, щоб масштабувати по виділеннню."
 
-#: Pinta.Core/Actions/FileActions.cs:392
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before closing?"
-msgstr "Зберегти зміни в зображенні \"{0}\" перед закриттям?"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
+msgstr "Округлений прямокутник"
 
-#: Pinta.Core/Actions/FileActions.cs:402
-msgid "Close without saving"
-msgstr "Закрити без збереження"
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
+msgstr ""
+"За допомогою миші намалюйте округлений прямокутник (права клавіша малює "
+"додатковим кольором). Затисніть shift, щоб намалювати квадрат."
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
-msgstr "Обрізати по виділеному"
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
+msgstr "Радіус"
 
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
-msgstr "Змінити розмір..."
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
+msgstr "Зменшити радіус кутів прямокутника"
 
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
-msgstr "Розмір полотна..."
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
+msgstr "Збільшити радіус кутів прямокутника"
 
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
-msgstr "Повернути на 90° за годинниковою стрілкою"
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "Вибір кольору"
 
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
-msgstr "Повернути на 90° проти годинникової стрілки"
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
+msgstr ""
+"Клацніть лівою клавішею миші для вибору основного кольору. Клацніть правою "
+"клавішею миші, щоб вибрати додатковий колір."
 
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
-msgstr "Повернути на 180°"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr "Після вибору"
 
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
-msgstr "Об'єднати"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
+msgstr "Не переключайте інструмент"
 
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr "Відмінити"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr "Переключитися до попереднього інструменту"
 
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
-msgstr "Відновити"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
+msgstr "Переключитися до наступного інструменту"
 
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
-msgstr "Вирізати"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "Олівець"
 
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
-msgstr "Копіювати"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
+msgstr "Гумка"
 
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
-msgstr "Вставити"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
+msgstr "Натисніть тягніть щоб стерти частину зображення."
 
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
-msgstr "Вставити як новий шар"
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
+msgstr ""
+"Клацніть лівою клавішею для малювання довільних ліній товщиною один піксель "
+"основним кольором і правою клавішею для використання додаткового кольору."
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
-msgstr "Вставити як нове зображення"
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
+msgstr "Перемістити вибрані пікселі"
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
-msgstr "Видалити виділення"
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
+msgstr "Перемістіть мишкою виділення, щоб перемістити виділену область."
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
-msgstr "Заповнити виділення"
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "Приховати"
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
-msgstr "Інвертувати виділення"
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "Прикріпити"
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
-msgstr "Виділити все"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "Автоматично приховувати"
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
-msgstr "Зняти виділення"
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "Прилипаючі"
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
-msgstr "Збільшити"
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "Плаваючі"
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
-msgstr "Зменшити"
+#: Pinta/Options.cs:486
+msgid "OptionName"
+msgstr "Назва опції"
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
-msgstr "Пристосувати до вікна"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "У процентному співвідношенні:"
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
-msgstr "По розміру виділення"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
+msgstr "Абсолютний розмір"
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
-msgstr "Натуральний розмір"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "Ширина:"
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
-msgstr "Піксельна решітка"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "пікселів"
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
-msgstr "Лінійки"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "Висота:"
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
-msgstr "Пікселів"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "Зберігати пропорції"
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
-msgstr "дюйми"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "Прив’язка:"
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
-msgstr "Сантиметри"
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "Розмір нового зображення          "
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
-msgstr "На весь екран"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Властивості шару"
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
-msgstr "Вікно"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "Ім’я:"
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
-msgstr "Відвідати сайт Pinta"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "Видимий"
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
-msgstr "Звітувати про помилку"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "Непрозорість:"
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
-msgstr "Перекласти цю програму"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr "…"
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
-msgstr "Основні"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "_Файл"
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "_Правка"
+
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "_Вигляд"
+
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "_Малюнок"
+
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "_Шари"
+
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "_Кольори"
+
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "_Ефекти"
+
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "_Вікно"
+
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
+msgstr "Вікна інструментів"
+
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "_Допомога"
+
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
 msgstr "Інструменти"
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
-msgstr "Гарячі клавіши"
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Документи"
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
-msgstr "Згладжування"
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "Шари"
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
-msgstr "Нормальне змішування / Перекриваюче змішування"
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "Історія"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
-msgstr "Відобразити зображення горизонтально"
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
+msgstr "Зробити Скріншот"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
-msgstr "Відобразити зображення вертикально"
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
+msgstr "Зробити скріншот із затримкою (в секундах):"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
-msgstr "Відобразити шар горизонтально"
+#: Pinta/DialogHandlers.cs:139
+#, csharp-format
+msgid "Save the changes to image \"{0}\" before closing?"
+msgstr "Зберегти зміни в зображенні \"{0}\" перед закриттям?"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
-msgstr "Відобразити шар вертикально"
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "Якщо ви не збережете, всі зміни будуть безповоротно втрачені."
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
-msgstr "Завершити пікселі"
+#: Pinta/DialogHandlers.cs:147
+msgid "Close without saving"
+msgstr "Закрити без збереження"
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
-msgstr "Обробити ефекти"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
+msgstr "Змінити розмір палітри"
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
-msgstr "копія"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
+msgstr "Новий розмір палітри"
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
-msgstr "Шар"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "Непрозорість шару"
+
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "Перейменувати шар"
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "Приховати шар"
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "Показати шар"
+
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
+msgstr "Файли зображень"
+
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
+msgstr "Вставку відмінено"
+
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
+msgstr "Буфер обміну не містить зображення"
+
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
+msgstr "Зберегти зображення"
+
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
+msgstr "Pinta не підтримує збереження зображень в цьому форматі."
+
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
+msgstr "Файл з іменем \"{0}\" вже існує. Замінити його?"
+
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
+msgstr "Файл вже існує в \"{1}\". Заміна призведе до перезапису його змісту."
+
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr "кількість потоків, що будуть використані при рендерінгу"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Версія"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Ліцензія"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "Випущено за підтримки МТІ ліцензія X11"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "Авторські права"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "розробники Pinta"
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "Заголовок"
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "Шлях"
+
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
+msgstr "Якість JPEG"
+
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
+msgstr "Якість: "
+
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "Над релізом працювали:"
+
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "Попередні розробники"
+
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Eugene Rozov https://launchpad.net/~eugene-rozov\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst\n"
+"  UaHummer https://launchpad.net/~uahummer\n"
+"  ma$terok https://launchpad.net/~m-shein"
+
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Над перекладом працювали:"
+
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "Працює на базі Paint.NET"
+
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "Використовує деякі іконки з:"
+
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "Про Pinta"
+
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "Інформація про версію"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1445,9 +1596,37 @@ msgstr ""
 "Підказка: Для досягнення кращих результатів, спершу виділіть кожно око "
 "інструментами виділення."
 
+#~ msgid "Help"
+#~ msgstr "Допомога"
+
+#~ msgid "Adjustments"
+#~ msgstr "Корекція"
+
+#~ msgid "Effects"
+#~ msgstr "Ефекти"
+
+#~ msgid "File"
+#~ msgstr "Файл"
+
+#~ msgid "Edit"
+#~ msgstr "Правка"
+
+#~ msgid "View"
+#~ msgstr "Перегляд"
+
+#~ msgid "Image"
+#~ msgstr "Зображення"
+
 #~ msgid "%"
 #~ msgstr "%"
 
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr "Зберегти зміни в зображенні \"{0}\" перед створенням нового?"
+
+#~ msgid "Continue without saving"
+#~ msgstr "Продовжити без збереження"
+
 #~ msgid "X :"
 #~ msgstr "X :"
 
@@ -1457,5 +1636,24 @@ msgstr ""
 #~ msgid "Tip : Right-click to remove control points."
 #~ msgstr "Підказка: Клік правою клавішею миші видаляє контрольну точку"
 
+#~ msgid "RGB\r"
+#~ msgstr "RGB\r"
+
+#~ msgid "Antialiasing"
+#~ msgstr "Згладжування"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before opening a new image?"
+#~ msgstr "Зберегти зміни в зображенні \"{0}\", перш ніж відкрити нове?"
+
+#~ msgid "Normal blending / Overwrite blending"
+#~ msgstr "Нормальне змішування / Перекриваюче змішування"
+
+#~ msgid "Fill mode"
+#~ msgstr "Режим заливки"
+
 #~ msgid "Show Pad"
 #~ msgstr "Показати вікно"
+
+#~ msgid "OpenRaster image (*.ora)"
+#~ msgstr "Зображення OpenRaster (*.ora)"
diff --git a/po/messages-vi.po b/po/messages-vi.po
index 4458f9a..d6d4a61 100644
--- a/po/messages-vi.po
+++ b/po/messages-vi.po
@@ -7,669 +7,638 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-10-14 18:28+0000\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2010-10-28 01:52+0000\n"
 "Last-Translator: Nguyen Quang Chien <Unknown>\n"
 "Language-Team: Vietnamese <vi at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "Giới thiệu"
-
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "Bút vẽ"
-
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "_File"
-
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "_Sửa"
-
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "_Xem"
-
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "Ả_nh"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr ""
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "_Lớp"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr ""
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "_Chỉnh"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr ""
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "_Hiệu ứng"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "Chỉnh cỡ nền vẽ"
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "Cử_a sổ"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr ""
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "_Trợ giúp"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr ""
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
 msgstr ""
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "Công cụ"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr ""
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "Bảng màu"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr ""
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "Tài liệu"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr ""
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "Lớp"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "Chỉnh cỡ hình"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "Quá trình"
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "Ẩn"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "Neo được"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "Trôi"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "Tự động ẩn"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr ""
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "Neo"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "Những người đóng góp vào bản phát hành này"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "Những người đóng góp trước đây"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
 msgstr ""
-"Launchpad Contributions:\n"
-"  Nguyen Quang Chien https://launchpad.net/~nguyenquangchien"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "Dịch bởi:"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "Dựa trên chương trình Paint.NET:"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "Dùng một số hình biểu tượng từ:"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "Giới thiệu Pinta"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr ""
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "Thông tin về phiên bản"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr ""
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "Tựa đề"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr ""
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "Phiên bản"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr ""
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "Đường dẫn"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "Giấy phép"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "Phát hành theo giấy phép MIT X11."
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "Bản quyền"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr ""
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "bởi nhóm đóng góp cho Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr ""
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
-msgstr "số tuyến được dùng để lên hình"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "Chỉnh cỡ hình"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "Theo phần trăm:"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
-msgstr "Theo kích thước tuyệt đối:"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "Bề rộng:"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "điểm ảnh"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "Độ cao:"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "Duy trì tỷ lệ hình thể"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
-#: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "Các thuộc tính lớp"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "Tên:"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "Có thể thấy được"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "Độ đục:"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "Chỉnh cỡ nền vẽ"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "Neo :"
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
-msgid "New Image"
-msgstr "Hình mới"
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "Kích cỡ hình mới          "
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr ""
 
-#: Pinta/DialogHandlers.cs:57
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
+#: Pinta.Core/Actions/LayerActions.cs:74
+msgid "Layer Properties..."
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
 msgstr ""
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "Giới thiệu"
+
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
 msgstr ""
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
 msgstr ""
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
 msgstr ""
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
 msgstr ""
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
 msgstr ""
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
 msgstr ""
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
 msgstr ""
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
 msgstr ""
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
 msgstr ""
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
 msgstr ""
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "Bảng màu"
+
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
 msgstr ""
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
-msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:60
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
 msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
 msgstr ""
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
+msgid "New Image"
+msgstr "Hình mới"
+
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
+#, csharp-format
+msgid "Could not open file: {0}"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
 msgstr ""
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
 msgstr ""
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
 msgstr ""
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
 msgstr ""
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
 msgstr ""
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
 msgstr ""
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
 msgstr ""
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
 msgstr ""
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
 msgstr ""
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
 msgstr ""
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
 msgstr ""
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
 msgstr ""
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:37
-msgid "Text"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:44
-msgid ""
-"Left click to place cursor, then type desired text. Text color is primary "
-"color."
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:131
-msgid "Font"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:186
-msgid "Bold"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:193
-msgid "Italic"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:201
-msgid "Underline"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:210
-msgid "Left Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:219
-msgid "Center Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
 msgstr ""
 
-#: Pinta.Tools/TextTool.cs:227
-msgid "Right Align"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
 msgstr ""
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
 msgstr ""
 
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
 msgstr ""
 
-#: Pinta.Tools/RectangleTool.cs:38
-msgid "Rectangle"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
 msgstr ""
 
-#: Pinta.Tools/RectangleTool.cs:44
-msgid ""
-"Click and drag to draw a rectangle (right click for secondary color). Hold "
-"shift to constrain to a square."
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
 msgstr ""
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
 msgstr ""
 
-#: Pinta.Tools/LineCurveTool.cs:44
-msgid ""
-"Left click to draw with primary color, right click for secondary color."
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
 msgstr ""
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
 msgstr ""
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
 msgstr ""
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
 msgstr ""
 
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
 msgstr ""
 
 #: Pinta.Effects/Effects/PixelateEffect.cs:26
 msgid "Pixelate"
 msgstr ""
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr ""
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
 msgstr ""
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
 msgid "Photo"
 msgstr ""
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
 msgstr ""
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
 msgstr ""
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
 msgstr ""
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
 msgstr ""
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
 msgstr ""
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr ""
+
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
 msgstr ""
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
@@ -677,18 +646,26 @@ msgid "Edge Detect"
 msgstr ""
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
 #: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
 msgid "Stylize"
 msgstr ""
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
 msgstr ""
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr ""
+
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr ""
+
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
 msgstr ""
 
 #: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
@@ -703,542 +680,714 @@ msgstr ""
 msgid "Clouds"
 msgstr ""
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr ""
-
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
 msgstr ""
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
-msgid "Add Noise"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
 msgstr ""
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
 msgstr ""
 
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
 msgstr ""
 
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:30
+msgid "Add Noise"
 msgstr ""
 
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
 msgstr ""
 
 #: Pinta.Effects/Effects/OutlineEffect.cs:29
 msgid "Outline"
 msgstr ""
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
-msgstr ""
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
+msgstr "Độ nhiễu ngẫu nhiên"
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
 msgstr ""
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
-msgstr ""
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "nhãn1"
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
-msgstr ""
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "nhãn"
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
 msgstr ""
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
 msgstr ""
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
 msgstr ""
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
+#: Pinta.Tools/TextTool.cs:37
+msgid "Text"
 msgstr ""
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
+#: Pinta.Tools/TextTool.cs:44
+msgid ""
+"Left click to place cursor, then type desired text. Text color is primary "
+"color."
 msgstr ""
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
+#: Pinta.Tools/TextTool.cs:144
+msgid "Font"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
+#: Pinta.Tools/TextTool.cs:205
+msgid "Bold"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
+#: Pinta.Tools/TextTool.cs:212
+msgid "Italic"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
+#: Pinta.Tools/TextTool.cs:220
+msgid "Underline"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
+#: Pinta.Tools/TextTool.cs:229
+msgid "Left Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
+#: Pinta.Tools/TextTool.cs:238
+msgid "Center Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
+#: Pinta.Tools/TextTool.cs:246
+msgid "Right Align"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
+#: Pinta.Tools/RectangleTool.cs:38
+msgid "Rectangle"
 msgstr ""
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
+#: Pinta.Tools/RectangleTool.cs:44
+msgid ""
+"Click and drag to draw a rectangle (right click for secondary color). Hold "
+"shift to constrain to a square."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
+msgid ""
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
-msgstr ""
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
+msgstr "Vẽ biên ngoài của hình"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
-msgstr ""
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
+msgstr "Tô đầy hình"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
-msgstr ""
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
+msgstr "Tô đầy và vẽ biên ngoài của hình"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
 msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
-msgstr ""
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
+msgstr "Chọn theo chế độ thòng lọng"
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
-msgstr ""
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
+msgstr "Nhấp chuột và kéo để vẽ đường biên ngoài cho vùng được chọn."
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
-msgstr ""
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
+msgstr "Bề rộng nét chổi vẽ"
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
-msgstr ""
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
+msgstr "Giảm cỡ chổi vẽ"
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
-msgstr ""
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
+msgstr "Tăng cỡ chổi vẽ"
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr ""
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "Bút vẽ"
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
 msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:392
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before closing?"
-msgstr ""
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "Thu phóng"
 
-#: Pinta.Core/Actions/FileActions.cs:402
-msgid "Close without saving"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
 msgstr ""
+"Nhấp chuột trái để phóng to, chuột phải để thu nhỏ. Nhấp chuột và kéo để "
+"phóng to phần được chọn."
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
 msgstr ""
 
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
-msgstr ""
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "Chọn màu"
 
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
 msgstr ""
+"Nhấn phím trái chuột để chọn màu cơ sở; phím phải chuột để chọn màu thứ cấp."
 
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr ""
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr "Sau khi lựa chọn"
 
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
-msgstr ""
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
+msgstr "Không đổi công cụ"
 
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
-msgstr ""
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr "Chuyển về công cụ trước đó"
 
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
-msgstr ""
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
+msgstr "Chuyển về công cụ bút chì"
 
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
-msgstr ""
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "Bút chì"
 
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
-msgstr ""
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
+msgstr "Dịch chuyển các điểm ảnh được chọn"
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
 msgstr ""
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
-msgstr ""
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "Ẩn"
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
-msgstr ""
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "Neo"
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
-msgstr ""
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "Tự động ẩn"
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
-msgstr ""
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "Neo được"
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
-msgstr ""
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "Trôi"
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
+#: Pinta/Options.cs:486
+msgid "OptionName"
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
-msgstr ""
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "Theo phần trăm:"
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
-msgstr ""
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
+msgstr "Theo kích thước tuyệt đối:"
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
-msgstr ""
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "Bề rộng:"
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
-msgstr ""
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
+msgstr "điểm ảnh"
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
-msgstr ""
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "Độ cao:"
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
-msgstr ""
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "Duy trì tỷ lệ hình thể"
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "Neo :"
+
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "Kích cỡ hình mới          "
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "Các thuộc tính lớp"
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "Tên:"
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "Có thể thấy được"
+
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "Độ đục:"
+
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
 msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "_File"
+
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "_Sửa"
+
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "_Xem"
+
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "Ả_nh"
+
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "_Lớp"
+
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "_Chỉnh"
+
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "_Hiệu ứng"
+
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "Cử_a sổ"
+
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "_Trợ giúp"
+
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "Công cụ"
+
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "Tài liệu"
+
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
+msgstr "Lớp"
+
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "Quá trình"
+
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
 msgstr ""
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
+#: Pinta/DialogHandlers.cs:139
+#, csharp-format
+msgid "Save the changes to image \"{0}\" before closing?"
 msgstr ""
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "Nếu bạn không lưu lại, tất cả những thay đổi sẽ vĩnh viễn mất."
+
+#: Pinta/DialogHandlers.cs:147
+msgid "Close without saving"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "Độ mờ đục của lớp"
+
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "Đổi tên lớp"
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "Ẩn lớp"
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "Hiện lớp"
+
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
 msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
 msgstr ""
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
 msgstr ""
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
 msgstr ""
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr "số tuyến được dùng để lên hình"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "Phiên bản"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "Giấy phép"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "Phát hành theo giấy phép MIT X11."
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "Bản quyền"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "bởi nhóm đóng góp cho Pinta"
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "Tựa đề"
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "Đường dẫn"
+
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
 msgstr ""
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
 msgstr ""
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "Những người đóng góp vào bản phát hành này"
+
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "Những người đóng góp trước đây"
+
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
 msgstr ""
+"Launchpad Contributions:\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst\n"
+"  Nguyen Quang Chien https://launchpad.net/~nguyenquangchien"
+
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "Dịch bởi:"
+
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "Dựa trên chương trình Paint.NET:"
+
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "Dùng một số hình biểu tượng từ:"
+
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "Giới thiệu Pinta"
+
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "Thông tin về phiên bản"
 
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
@@ -1414,3 +1563,13 @@ msgstr ""
 #: RedEyeRemoveEffect dialog
 msgid "Hint: For best results, first use selection tools to select each eye."
 msgstr ""
+
+#~ msgid "%"
+#~ msgstr "%"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr "Lưu những thay đổi trên hình \"{0}\" trước khi tạo hình mới?"
+
+#~ msgid "Continue without saving"
+#~ msgstr "Tiếp tục mà không lưu lại"
diff --git a/po/messages-zh_CN.po b/po/messages-zh_CN.po
index d096a07..c1f3fa9 100644
--- a/po/messages-zh_CN.po
+++ b/po/messages-zh_CN.po
@@ -7,689 +7,668 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-09-21 12:35+0000\n"
-"Last-Translator: Xhacker Liu <liu.dongyuan at gmail.com>\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2010-12-16 06:28+0000\n"
+"Last-Translator: 英华 <wantinghard at gmail.com>\n"
 "Language-Team: Chinese (Simplified) <zh_CN at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "关于"
-
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "画笔"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "窗口"
 
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "文件(_F)"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "图层"
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "编辑(_E)"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "复制"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "视图(_V)"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "调整画布大小"
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "图像(_I)"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr "工具"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "图层(_L)"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr "快捷键"
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "调整(_A)"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr "一般混合"
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "效果(_C)"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr "覆盖"
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "窗口(_W)"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr "开启抗锯齿"
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "帮助(_H)"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr "关闭抗锯齿"
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
-msgstr ""
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "缩放图像"
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "工具"
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr "完成像素"
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "调色板"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr "旋转180°"
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "文档"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr "水平翻转图片"
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "图层"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr "垂直翻转图片"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "历史"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr "顺时针旋转90°"
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "隐藏"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr "逆时针旋转90°"
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "可停靠"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr "水平翻转图层"
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "浮动"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr "垂直翻转图层"
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "自动隐藏"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
+msgstr "常规"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "停靠"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr "{0} 图片 ({1})"
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "这个版本的贡献者"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr "裁剪到选择部分"
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "过去的贡献者"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr "调整大小..."
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
-msgstr ""
-"Launchpad Contributions:\n"
-"  Xhacker Liu https://launchpad.net/~xhacker"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr "画布大小..."
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "翻译者:"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr "水平翻转"
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "基于 Paint.NET 的工作:"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr "垂直翻转"
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "使用了一些图标:"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr "平面化"
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "关于 Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr "放大"
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "版本信息"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr "缩小"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "标题"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr "缩放适应窗口"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "版本"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr "缩放至选择部分"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "路径"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr "实际大小"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "许可"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
+msgstr "工具栏"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "以 MIT X11 许可证发行"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr "像素网格"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "版权"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr "标尺"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "由 Pinta 贡献者"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr "像素"
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
-msgstr "渲染使用的线程数"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr "英寸"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "缩放图像"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr "厘米"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "按百分比:"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr "全屏"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
-msgstr "按绝对尺寸:"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr "尺度单位"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "宽度:"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr "添加新图层"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "像素"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr "删除图层"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "高度:"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr "复制图层"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "保持宽高比"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr "向下合并图层"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
-#: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "图层属性"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr "从文件导入..."
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "名称:"
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr "旋转 / 缩放"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "可见"
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr "升高图层"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "透明度:"
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr "降低图层"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "调整画布大小"
+#: Pinta.Core/Actions/LayerActions.cs:74
+msgid "Layer Properties..."
+msgstr ""
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "锚点:"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
+msgstr "打开图像文件"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
-msgid "New Image"
-msgstr "新建图像"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr "从文件导入"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "新图像尺寸          "
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr "保存全部"
 
-#: Pinta/DialogHandlers.cs:57
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
-msgstr "在新建之前保存修改到图像“{0}”吗?"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr "关闭全部"
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr "如果您不保存,所有修改 将会永久丢失。"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr "Pinta 网站"
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "不保存并继续"
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
+msgstr "报告一个错误"
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "图层透明度"
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
+msgstr "翻译这个应用程序"
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "重命名图层"
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "关于"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "隐藏图层"
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr "新建..."
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "显示图层"
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
+msgstr "新截图..."
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
-msgstr "标签1"
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
+msgstr "打开..."
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "标签"
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr "打开最近的"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
-msgstr "随机杂色"
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
+msgstr "关闭"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
-msgstr "变换"
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
+msgstr "保存"
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
-msgstr "颜色拾取器"
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
+msgstr "另存为..."
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
-msgstr "左击设置主颜色,右击设置副颜色。"
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
+msgstr "打印"
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
-msgstr "选择后"
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
+msgstr "退出"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
-msgstr "不要切换工具"
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr "新建"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
-msgstr "切换到上一个工具"
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
+msgstr "打开"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
-msgstr "切换到铅笔工具"
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
+msgstr "撤销"
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
-msgstr "铅笔"
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
+msgstr "重做"
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
-msgstr "套索选择"
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
+msgstr "剪切"
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
-msgstr "点击拖动以绘制选取的轮廓"
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
+msgstr "复制"
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
-msgstr "缩放"
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
+msgstr "粘贴"
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
-msgstr "左击放大,右击缩小。点击并拖动以缩放选区。"
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
+msgstr "粘贴到新图层"
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
-msgstr "笔刷宽度"
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
+msgstr "粘贴到新图像"
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
-msgstr "减小笔刷尺寸"
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
+msgstr "擦除选区"
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
-msgstr "增大笔刷尺寸"
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
+msgstr "填充选区"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
-msgstr "边框"
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
+msgstr "反向选择"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
-msgstr "填充"
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
+msgstr "全选"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
-msgstr "填充和边框"
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
+msgstr "取消选择"
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
-msgstr "移动选择的像素"
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
+msgstr "重置到默认"
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
-msgstr "拖动选区移动选择的内容。"
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
+msgstr "设置颜色数量"
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
-msgstr "移动"
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "调色板"
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
-msgstr "点击拖动以浏览图片。"
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
+msgstr "打开调色板文件"
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
-msgstr "左击画出任意形状,线条宽度 1 像素,使用主颜色,右击使用副颜色。"
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
+msgstr "调色板文件 (*.txt, *.gpl)"
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
-msgstr "椭圆形选择"
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr "全部文件"
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
 msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
-msgstr "点击拖动以绘制椭圆形选取。按住 shift 键限制为圆形。"
-
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
-msgstr "渐变"
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
+msgstr ""
+"无法打开调色板文件:{0}。\n"
+"请确定您在尝试打开一个合法的 GIMP 或 Paint.NET 调色板。"
 
-#: Pinta.Tools/GradientTool.cs:60
-msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
-msgstr "点击拖动以绘制一个从主颜色到副颜色的渐变。右击逆转颜色。"
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
+msgstr "错误"
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
-msgstr "线性渐变"
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
+msgstr "保存调色板文件"
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
-msgstr ""
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
+msgstr "Paint.NET 调色板 (*.txt)"
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
-msgstr "菱形渐变"
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
+msgstr "GIMP 调色板 (*.gpl)"
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
-msgstr "辐射渐变"
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr "未保存的图片 {0}"
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
-msgstr "锥形渐变"
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
+msgstr "背景"
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
-msgstr "颜色模式"
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
+msgid "New Image"
+msgstr "新建图像"
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
-msgstr "透明模式"
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
+msgstr "打开图像"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
-msgstr "圆角矩形。"
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
+#, csharp-format
+msgid "Could not open file: {0}"
+msgstr "无法打开文件:{0}"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
-msgstr "点击拖动以绘制一个圆角矩形(右击以使用副颜色)。按住 shift 键进行约束。"
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
+msgstr "渲染效果"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
-msgstr "半径"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
+msgstr "海报效果"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
-msgstr "减小矩形的圆角半径"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
+msgstr "反色"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
-msgstr "增大矩形的圆角半径"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
+msgstr "色阶"
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
-msgstr "左击使用主颜色绘制,右击使用副颜色绘制。"
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
+msgstr "黑白"
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
-msgstr "矩形选择"
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
+msgstr "自动调整色阶"
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
-msgstr "点击拖动以绘制一个矩形选区。按住 shift 键约束为正方形。"
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
+msgstr "色相 / 饱和度"
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
-msgstr "油漆桶"
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
+msgstr "亮度 / 对比度"
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
-msgstr "左击用主颜色填充一个区域,右击使用副颜色填充。"
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
+msgstr "复古褐色"
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
-msgstr "仿制图章"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
+msgstr "曲线"
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
-msgstr "移动选区"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
+msgstr "转换图"
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
-msgstr "拖动选区以移动选区的边框。"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
+msgstr "RGB"
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
-msgstr "自由形狀"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
+msgstr "发光度"
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
-msgstr "填充模式"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
+msgstr "Copy text   \t (256, 256)"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
-msgstr "连续"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
+msgstr "红色  "
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
-msgstr ""
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
+msgstr "绿色"
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
-msgstr "允许偏差量"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
+msgstr "蓝色 "
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
-msgstr "椭圆"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
+msgstr "重置"
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
-msgstr "点击拖动以绘制一个椭圆(右击使用副颜色)。按住 shift 键约束为圆形。"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
+msgstr "提示:右击以移除控制点。"
 
-#: Pinta.Tools/TextTool.cs:37
-msgid "Text"
-msgstr "文字"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
+msgstr "色阶调整"
 
-#: Pinta.Tools/TextTool.cs:44
-msgid ""
-"Left click to place cursor, then type desired text. Text color is primary "
-"color."
-msgstr "左击放置光标,然后键入所需的文本。文本颜色为主颜色。"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
+msgstr "输入直方图"
 
-#: Pinta.Tools/TextTool.cs:131
-msgid "Font"
-msgstr "字体"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
+msgstr "输入"
 
-#: Pinta.Tools/TextTool.cs:186
-msgid "Bold"
-msgstr "粗体"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
+msgstr "输出"
 
-#: Pinta.Tools/TextTool.cs:193
-msgid "Italic"
-msgstr "斜体"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
+msgstr "输出直方图"
 
-#: Pinta.Tools/TextTool.cs:201
-msgid "Underline"
-msgstr "下划线"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
+msgstr "自动"
 
-#: Pinta.Tools/TextTool.cs:210
-msgid "Left Align"
-msgstr "左对齐"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
+msgstr "红色"
 
-#: Pinta.Tools/TextTool.cs:219
-msgid "Center Align"
-msgstr "居中对齐"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
+msgstr "蓝色"
 
-#: Pinta.Tools/TextTool.cs:227
-msgid "Right Align"
-msgstr "右对齐"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
+msgstr ""
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
-msgstr "魔术棒选择"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
+msgstr "铅笔画"
 
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
-msgstr "点击选取相似颜色的区域。"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
+msgstr "艺术效果"
 
-#: Pinta.Tools/RectangleTool.cs:38
-msgid "Rectangle"
-msgstr "矩形"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
+msgstr "失去焦点"
 
-#: Pinta.Tools/RectangleTool.cs:44
-msgid ""
-"Click and drag to draw a rectangle (right click for secondary color). Hold "
-"shift to constrain to a square."
-msgstr "点击拖动以绘制一个矩形(右击使用副颜色)。按住 shift 键约束为正方形。"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
+msgstr "模糊"
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
-msgstr "线条"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
+msgstr "凸起"
 
-#: Pinta.Tools/LineCurveTool.cs:44
-msgid ""
-"Left click to draw with primary color, right click for secondary color."
-msgstr "左击使用主颜色绘制,右击使用副颜色。"
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
+msgstr "扭曲"
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
-msgstr "重新着色"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
+msgstr "曼德勃罗分形"
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
-msgstr "左击用主颜色取代副颜色。"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
+msgstr "渲染"
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
-msgstr "橡皮擦"
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
+msgstr "中值"
 
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
-msgstr "点击拖动以擦除图像的一部分。"
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
+msgstr "噪声"
 
 #: Pinta.Effects/Effects/PixelateEffect.cs:26
 msgid "Pixelate"
 msgstr "像素化"
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr "扭曲"
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
-msgstr "去除红眼"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
+msgstr "锐化"
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
 msgid "Photo"
 msgstr "照片"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
-msgstr "运动模糊"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
+msgstr "油画"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
-msgstr "模糊"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
+msgstr "高斯模糊"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
-msgstr "水墨素描"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
+msgstr "发光"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
-msgstr "艺术效果"
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
+msgstr "软化肖像"
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
-msgstr "辐射模糊"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
+msgstr "瓷砖效果"
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
-msgstr "失去焦点"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr "去除红眼"
+
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
+msgstr "磨砂玻璃"
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
 msgid "Edge Detect"
 msgstr "边缘探测"
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
 #: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
 msgid "Stylize"
 msgstr "风格化"
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
-msgstr "磨砂玻璃"
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
+msgstr "朱莉娅分形"
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
-msgstr "油画"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr "运动模糊"
+
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr "浮雕"
+
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
+msgstr "水墨素描"
 
 #: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
 msgid "Zoom Blur"
@@ -703,543 +682,712 @@ msgstr "极性反转"
 msgid "Clouds"
 msgstr "云团"
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr "渲染"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
+msgstr "碎片"
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
-msgstr "发光"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr "减少噪声"
+
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr "辐射模糊"
+
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
+msgstr "扭曲"
 
 #: Pinta.Effects/Effects/AddNoiseEffect.cs:30
 msgid "Add Noise"
 msgstr "添加噪声"
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
-msgstr "噪声"
-
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
-msgstr "碎片"
-
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
-msgstr "锐化"
-
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
-msgstr "铅笔画"
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
+msgstr "醒目"
 
 #: Pinta.Effects/Effects/OutlineEffect.cs:29
 msgid "Outline"
 msgstr "轮廓"
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
-msgstr "高斯模糊"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
+msgstr "随机杂色"
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
-msgstr "瓷砖效果"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
+msgstr "变换"
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
-msgstr ""
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "标签1"
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
-msgstr "浮雕"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "标签"
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
-msgstr "曼德勃罗分形"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
+msgstr "选取主颜色"
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
-msgstr "凸起"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
+msgstr "选取副颜色"
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
-msgstr "扭曲"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr "选取调色板颜色"
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
-msgstr "软化肖像"
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
+msgstr "移动"
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
-msgstr "减少噪声"
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
+msgstr "点击拖动以浏览图片。"
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
-msgstr "朱莉娅分形"
+#: Pinta.Tools/TextTool.cs:37
+msgid "Text"
+msgstr "文字"
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
-msgstr "中值"
+#: Pinta.Tools/TextTool.cs:44
+msgid ""
+"Left click to place cursor, then type desired text. Text color is primary "
+"color."
+msgstr "左击放置光标,然后键入所需的文本。文本颜色为主颜色。"
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
-msgstr "曲线"
+#: Pinta.Tools/TextTool.cs:144
+msgid "Font"
+msgstr "字体"
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
-msgstr "色阶"
+#: Pinta.Tools/TextTool.cs:205
+msgid "Bold"
+msgstr "粗体"
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
-msgstr "自动调整色阶"
+#: Pinta.Tools/TextTool.cs:212
+msgid "Italic"
+msgstr "斜体"
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
-msgstr "反色"
+#: Pinta.Tools/TextTool.cs:220
+msgid "Underline"
+msgstr "下划线"
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
-msgstr "海报效果"
+#: Pinta.Tools/TextTool.cs:229
+msgid "Left Align"
+msgstr "左对齐"
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
-msgstr "黑白"
+#: Pinta.Tools/TextTool.cs:238
+msgid "Center Align"
+msgstr "居中对齐"
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
-msgstr "色相 / 饱和度"
+#: Pinta.Tools/TextTool.cs:246
+msgid "Right Align"
+msgstr "右对齐"
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
-msgstr "复古褐色"
+#: Pinta.Tools/RectangleTool.cs:38
+msgid "Rectangle"
+msgstr "矩形"
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
-msgstr "亮度 / 对比度"
+#: Pinta.Tools/RectangleTool.cs:44
+msgid ""
+"Click and drag to draw a rectangle (right click for secondary color). Hold "
+"shift to constrain to a square."
+msgstr "点击拖动以绘制一个矩形(右击使用副颜色)。按住 shift 键约束为正方形。"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
-msgstr "色阶调整"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
+msgstr "自由形狀"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
-msgstr "输入直方图"
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
+msgid ""
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
+msgstr "左击使用主颜色绘制,右击使用副颜色绘制。"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
-msgstr "输入"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
+msgstr "填充形式"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
-msgstr "输出"
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
+msgstr "边框"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
-msgstr "输出直方图"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
+msgstr "填充"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
-msgstr "自动"
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
+msgstr "填充和边框"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
-msgstr "重置"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
+msgstr "填充模式"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
-msgstr "红色"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
+msgstr "连续"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
-msgstr "绿色"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
+msgstr ""
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
-msgstr "蓝色"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
+msgstr "允许偏差量"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
-msgstr ""
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
+msgstr "线条"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
-msgstr "转换图"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
+msgstr "左击使用主颜色绘制,右击使用副颜色。"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
-msgstr "RGB"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
+msgstr "移动选区"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
-msgstr "发光度"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
+msgstr "拖动选区以移动选区的边框。"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
-msgstr "Copy text   \t (256, 256)"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
+msgstr "矩形选择"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
-msgstr "红色  "
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
+msgstr "点击拖动以绘制一个矩形选区。按住 shift 键约束为正方形。"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
-msgstr "蓝色 "
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
+msgstr "魔术棒选择"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
-msgstr ""
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
+msgstr "点击选取相似颜色的区域。"
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
-msgstr "添加新图层"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
+msgstr "椭圆形选择"
 
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
-msgstr "删除图层"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
+msgstr "点击拖动以绘制椭圆形选取。按住 shift 键限制为圆形。"
 
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
-msgstr "复制图层"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
+msgstr "套索选择"
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
-msgstr "向下合并图层"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
+msgstr "点击拖动以绘制选取的轮廓"
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
-msgstr "从文件导入..."
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
+msgstr "油漆桶"
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
-msgstr "水平翻转"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
+msgstr "左击用主颜色填充一个区域,右击使用副颜色填充。"
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
-msgstr "垂直翻转"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
+msgstr "渐变"
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
-msgstr "旋转 / 缩放"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
+msgstr "点击拖动以绘制一个从主颜色到副颜色的渐变。右击逆转颜色。"
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
-msgstr "升高图层"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
+msgstr "线性渐变"
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
-msgstr "降低图层"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
+msgstr ""
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
-msgstr "打开图像文件"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
+msgstr "菱形渐变"
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
-msgstr "从文件导入"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
+msgstr "辐射渐变"
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
-msgstr "新建..."
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
+msgstr "锥形渐变"
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
-msgstr "打开..."
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
+msgstr "模式"
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
-msgstr "打开最近的"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
+msgstr "颜色模式"
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
-msgstr "关闭"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
+msgstr "透明模式"
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
-msgstr "保存"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
+msgstr "笔刷宽度"
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
-msgstr "另存为..."
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
+msgstr "减小笔刷尺寸"
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
-msgstr "打印"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
+msgstr "增大笔刷尺寸"
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr "退出"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "画笔"
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
-msgstr "新建"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
+msgstr "类型"
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
-msgstr "打开"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
+msgstr "重新着色"
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
-msgstr "背景"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
+msgstr "左击用主颜色取代副颜色。"
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
-msgstr "打开图像"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
+msgstr "普通"
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
-msgstr "无法打开文件:{0}"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
+msgstr "方形"
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
-msgstr "错误"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
+msgstr "方块"
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
-msgstr "在打开新的图像前将修改保存到图像“{0}”?"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
+msgstr "泼洒"
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
-msgstr "图像文件"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
+msgstr "网格"
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
-msgstr "全部文件"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
+msgstr "椭圆"
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
-msgstr "保存图像文件"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
+msgstr "点击拖动以绘制一个椭圆(右击使用副颜色)。按住 shift 键约束为圆形。"
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
-msgstr "{0} 图片 ({1})"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
+msgstr "仿制图章"
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
-msgstr "OpenRaster 图像 (*.ora)"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
+msgstr ""
 
-#: Pinta.Core/Actions/FileActions.cs:392
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before closing?"
-msgstr "在关闭前将修改保存到图像“{0}”?"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "缩放"
 
-#: Pinta.Core/Actions/FileActions.cs:402
-msgid "Close without saving"
-msgstr "不保存并关闭"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
+msgstr "左击放大,右击缩小。点击并拖动以缩放选区。"
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
-msgstr "裁剪到选择部分"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
+msgstr "圆角矩形。"
 
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
-msgstr "调整大小..."
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
+msgstr "点击拖动以绘制一个圆角矩形(右击以使用副颜色)。按住 shift 键进行约束。"
 
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
-msgstr "画布大小..."
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
+msgstr "半径"
 
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
-msgstr "顺时针旋转90°"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
+msgstr "减小矩形的圆角半径"
 
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
-msgstr "逆时针旋转90°"
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
+msgstr "增大矩形的圆角半径"
 
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
-msgstr "旋转180°"
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "颜色拾取器"
 
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
-msgstr "平面化"
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
+msgstr "左击设置主颜色,右击设置副颜色。"
 
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr "撤销"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr "选择后"
 
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
-msgstr "重做"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
+msgstr "不要切换工具"
 
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
-msgstr "剪切"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr "切换到上一个工具"
 
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
-msgstr "复制"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
+msgstr "切换到铅笔工具"
 
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
-msgstr "粘贴"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "铅笔"
 
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
-msgstr "粘贴到新图层"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
+msgstr "橡皮擦"
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
-msgstr "粘贴到新图像"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
+msgstr "点击拖动以擦除图像的一部分。"
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
-msgstr "擦除选区"
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
+msgstr "左击画出任意形状,线条宽度 1 像素,使用主颜色,右击使用副颜色。"
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
-msgstr "填充选区"
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
+msgstr "移动选择的像素"
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
-msgstr "反向选择"
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
+msgstr "拖动选区移动选择的内容。"
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
-msgstr "全选"
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "隐藏"
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
-msgstr "取消选择"
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "停靠"
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
-msgstr "放大"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "自动隐藏"
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
-msgstr "放大"
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "可停靠"
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
-msgstr "缩放适应窗口"
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "浮动"
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
-msgstr "缩放至选择部分"
+#: Pinta/Options.cs:486
+msgid "OptionName"
+msgstr ""
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
-msgstr "实际大小"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "按百分比:"
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
-msgstr "像素网格"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
+msgstr "按绝对尺寸:"
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
-msgstr "标尺"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "宽度:"
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
 msgstr "像素"
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
-msgstr "英寸"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "高度:"
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
-msgstr "厘米"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "保持宽高比"
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
-msgstr "全屏"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "锚点:"
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
-msgstr "窗口"
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "新图像尺寸          "
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
-msgstr "Pinta 网站"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "图层属性"
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
-msgstr "报告一个错误"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "名称:"
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
-msgstr "翻译这个应用程序"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "可见"
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
-msgstr "常规"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "透明度:"
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
-msgstr "工具"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr ""
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
-msgstr "快捷键"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "文件(_F)"
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
-msgstr "抗锯齿"
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "编辑(_E)"
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
-msgstr "正常混合 / 覆盖混合"
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "视图(_V)"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
-msgstr "水平翻转图片"
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "图像(_I)"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
-msgstr "垂直翻转图片"
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "图层(_L)"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
-msgstr "水平翻转图层"
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "调整(_A)"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
-msgstr "垂直翻转图层"
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "效果(_C)"
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
-msgstr "完成像素"
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "窗口(_W)"
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
-msgstr "渲染效果"
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
+msgstr "工具窗口"
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
-msgstr "复制"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "帮助(_H)"
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "工具"
+
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "文档"
+
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
 msgstr "图层"
 
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "历史"
+
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
+msgstr "屏幕截图"
+
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
+msgstr "截图前延迟(秒):"
+
+#: Pinta/DialogHandlers.cs:139
+#, csharp-format
+msgid "Save the changes to image \"{0}\" before closing?"
+msgstr "在关闭前将修改保存到图像“{0}”?"
+
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "如果您不保存,所有修改 将会永久丢失。"
+
+#: Pinta/DialogHandlers.cs:147
+msgid "Close without saving"
+msgstr "不保存并关闭"
+
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
+msgstr "调整调色板大小"
+
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
+msgstr "调色板大小:"
+
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "图层透明度"
+
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "重命名图层"
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "隐藏图层"
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "显示图层"
+
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
+msgstr "图像文件"
+
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
+msgstr ""
+
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
+msgstr "剪贴板不包含图像"
+
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
+msgstr "保存图像文件"
+
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
+msgstr "Pinta 不支持储存这种类型的图片。"
+
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
+msgstr "名为“{0}”的文件已经存在。您想要覆盖吗?"
+
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
+msgstr "文件在“{1}”中已存在。替换将会覆盖它的内容。"
+
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr "渲染使用的线程数"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "版本"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "许可"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "以 MIT X11 许可证发行"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "版权"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "由 Pinta 贡献者"
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "标题"
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "路径"
+
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
+msgstr "JPEG 质量"
+
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
+msgstr "质量: "
+
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "这个版本的贡献者"
+
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "过去的贡献者"
+
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Xhacker Liu https://launchpad.net/~xhacker\n"
+"  英华 https://launchpad.net/~wantinghard"
+
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "翻译者:"
+
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "基于 Paint.NET 的工作:"
+
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "使用了一些图标:"
+
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "关于 Pinta"
+
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "版本信息"
+
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
 #: PolarInversionEffect dialog
@@ -1418,9 +1566,29 @@ msgstr "提示:为了获得最好的效果,先使用选择工具选择每只
 #~ msgid "%"
 #~ msgstr "%"
 
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr "在新建之前保存修改到图像“{0}”吗?"
+
+#~ msgid "Fill mode"
+#~ msgstr "填充模式"
+
 #~ msgid "Tip : Right-click to remove control points."
 #~ msgstr "提示:右击移除控制点。"
 
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before opening a new image?"
+#~ msgstr "在打开新的图像前将修改保存到图像“{0}”?"
+
+#~ msgid "OpenRaster image (*.ora)"
+#~ msgstr "OpenRaster 图像 (*.ora)"
+
+#~ msgid "Continue without saving"
+#~ msgstr "不保存并继续"
+
+#~ msgid "Antialiasing"
+#~ msgstr "抗锯齿"
+
 #~ msgid "X :"
 #~ msgstr "X :"
 
@@ -1429,3 +1597,12 @@ msgstr "提示:为了获得最好的效果,先使用选择工具选择每只
 
 #~ msgid "Show Pad"
 #~ msgstr "显示面板"
+
+#~ msgid "Normal blending / Overwrite blending"
+#~ msgstr "正常混合 / 覆盖混合"
+
+#~ msgid "X:"
+#~ msgstr "X:"
+
+#~ msgid "Y:"
+#~ msgstr "Y:"
diff --git a/po/messages-zh_TW.po b/po/messages-zh_TW.po
index 1417a6f..6f38ecc 100644
--- a/po/messages-zh_TW.po
+++ b/po/messages-zh_TW.po
@@ -7,691 +7,668 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pinta\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL at ADDRESS>\n"
-"POT-Creation-Date: 2010-06-20 21:05-0500\n"
-"PO-Revision-Date: 2010-10-24 07:47+0000\n"
+"POT-Creation-Date: 2010-10-31 12:19-0500\n"
+"PO-Revision-Date: 2010-12-11 14:16+0000\n"
 "Last-Translator: taijuin lee <Unknown>\n"
 "Language-Team: Chinese (Traditional) <zh_TW at li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-10-26 20:06+0000\n"
-"X-Generator: Launchpad (build Unknown)\n"
+"X-Launchpad-Export-Date: 2011-01-10 23:16+0000\n"
+"X-Generator: Launchpad (build 12161)\n"
 
-#: Pinta/MainWindow.cs:103 Pinta.Core/Actions/HelpActions.cs:53
-msgid "About"
-msgstr "關於"
+#: Pinta.Core/Classes/DocumentWorkspace.cs:160
+#: Pinta.Core/Classes/DocumentWorkspace.cs:181
+#: Pinta.Core/Actions/ViewActions.cs:200
+msgid "Window"
+msgstr "視窗"
 
-#: Pinta/MainWindow.cs:214 Pinta.Tools/PaintBrushTool.cs:45
-msgid "Paintbrush"
-msgstr "畫筆"
+#: Pinta.Core/Classes/Document.cs:299
+msgid "Layer"
+msgstr "圖層"
 
-#: Pinta/MainWindow.cs:259
-msgid "_File"
-msgstr "檔案(_F)"
+#: Pinta.Core/Classes/Document.cs:367
+msgid "copy"
+msgstr "複製"
 
-#: Pinta/MainWindow.cs:260
-msgid "_Edit"
-msgstr "編輯(_E)"
+#: Pinta.Core/Classes/Document.cs:589
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
+msgid "Resize Canvas"
+msgstr "調整畫布尺寸"
 
-#: Pinta/MainWindow.cs:261
-msgid "_View"
-msgstr "檢視(_V)"
+#: Pinta.Core/Classes/BaseTool.cs:146
+msgid "Tool"
+msgstr "工具"
 
-#: Pinta/MainWindow.cs:262
-msgid "_Image"
-msgstr "圖片(_I)"
+#: Pinta.Core/Classes/BaseTool.cs:204
+msgid "Shortcut key"
+msgstr "快速鍵"
 
-#: Pinta/MainWindow.cs:263
-msgid "_Layers"
-msgstr "圖層(_L)"
+#: Pinta.Core/Classes/BaseTool.cs:227
+msgid "Normal Blending"
+msgstr "一般混合"
 
-#: Pinta/MainWindow.cs:264
-msgid "_Adjustments"
-msgstr "調整(_A)"
+#: Pinta.Core/Classes/BaseTool.cs:228
+msgid "Overwrite"
+msgstr "覆蓋"
 
-#: Pinta/MainWindow.cs:265
-msgid "Effe_cts"
-msgstr "效果(_C)"
+#: Pinta.Core/Classes/BaseTool.cs:242
+msgid "Antialiasing On"
+msgstr "反鋸齒開啟"
 
-#: Pinta/MainWindow.cs:266
-msgid "_Window"
-msgstr "視窗(_W)"
+#: Pinta.Core/Classes/BaseTool.cs:243
+msgid "Antialiasing Off"
+msgstr "反鋸齒關閉"
 
-#: Pinta/MainWindow.cs:267
-msgid "_Help"
-msgstr "說明(_H)"
+#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:43
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
+msgid "Resize Image"
+msgstr "縮放圖片"
 
-#: Pinta/MainWindow.cs:272
-msgid "Tool Windows"
-msgstr "工具視窗"
+#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
+msgid "Finish Pixels"
+msgstr "完成像素"
 
-#: Pinta/MainWindow.cs:345
-msgid "Tools"
-msgstr "工具"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
+#: Pinta.Core/Actions/ImageActions.cs:65
+msgid "Rotate 180°"
+msgstr "旋轉 180°"
 
-#: Pinta/MainWindow.cs:355
-msgid "Palette"
-msgstr "調色盤"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
+msgid "Flip Image Horizontal"
+msgstr "水平翻轉圖片"
 
-#: Pinta/MainWindow.cs:368
-msgid "Documents"
-msgstr "文件"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
+msgid "Flip Image Vertical"
+msgstr "垂直翻轉圖片"
 
-#: Pinta/MainWindow.cs:382
-msgid "Layers"
-msgstr "圖層"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
+#: Pinta.Core/Actions/ImageActions.cs:63
+msgid "Rotate 90° Clockwise"
+msgstr "順時針旋轉90°"
 
-#: Pinta/MainWindow.cs:398
-msgid "History"
-msgstr "復原紀錄"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:64
+msgid "Rotate 90° Counter-Clockwise"
+msgstr "逆時針旋轉90°"
 
-#: Pinta/DockLibrary/DockItem.cs:477 Pinta/DockLibrary/DockItemContainer.cs:90
-msgid "Hide"
-msgstr "隱藏"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
+msgid "Flip Layer Horizontal"
+msgstr "水平翻轉圖層"
 
-#: Pinta/DockLibrary/DockItem.cs:485
-msgid "Dockable"
-msgstr "停駐式"
+#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
+msgid "Flip Layer Vertical"
+msgstr "垂直翻轉圖層"
 
-#: Pinta/DockLibrary/DockItem.cs:493
-msgid "Floating"
-msgstr "浮動式"
+#: Pinta.Core/Effects/BaseEffect.cs:42
+msgid "General"
+msgstr "一般的"
 
-#: Pinta/DockLibrary/DockItem.cs:502
-#: Pinta/DockLibrary/DockItemContainer.cs:194
-msgid "Auto Hide"
-msgstr "自動隱藏"
+#: Pinta.Core/ImageFormats/FormatDescriptor.cs:67
+#, csharp-format
+msgid "{0} image ({1})"
+msgstr "{0} 圖片 ({1})"
 
-#: Pinta/DockLibrary/DockItemContainer.cs:190
-msgid "Dock"
-msgstr "停駐"
+#: Pinta.Core/Actions/ImageActions.cs:58
+#: Pinta.Core/Actions/ImageActions.cs:181
+msgid "Crop to Selection"
+msgstr "剪裁出選取區域"
 
-#: Pinta/Dialogs/AboutDialog.cs:97
-msgid "Contributors to this Release"
-msgstr "本軟體的貢獻人員"
+#: Pinta.Core/Actions/ImageActions.cs:59
+msgid "Resize..."
+msgstr "縮放圖片..."
 
-#: Pinta/Dialogs/AboutDialog.cs:107
-msgid "Previous Contributors"
-msgstr "過去版本的貢獻人員"
+#: Pinta.Core/Actions/ImageActions.cs:60
+msgid "Canvas Size..."
+msgstr "調整畫布尺寸..."
 
-#: Pinta/Dialogs/AboutDialog.cs:116
-msgid "translator-credits"
-msgstr ""
-"Launchpad Contributions:\n"
-"  Eddie https://launchpad.net/~zx4636313\n"
-"  Jonathan Pobst https://launchpad.net/~jpobst\n"
-"  taijuin lee https://launchpad.net/~taijuin"
+#: Pinta.Core/Actions/ImageActions.cs:61 Pinta.Core/Actions/LayerActions.cs:69
+msgid "Flip Horizontal"
+msgstr "水平翻轉"
 
-#: Pinta/Dialogs/AboutDialog.cs:119
-msgid "Translated by:"
-msgstr "翻譯者:"
+#: Pinta.Core/Actions/ImageActions.cs:62 Pinta.Core/Actions/LayerActions.cs:70
+msgid "Flip Vertical"
+msgstr "垂直翻轉"
 
-#: Pinta/Dialogs/AboutDialog.cs:126
-msgid "Based on the work of Paint.NET:"
-msgstr "基於Paint.NET專案:"
+#: Pinta.Core/Actions/ImageActions.cs:66
+#: Pinta.Core/Actions/ImageActions.cs:127
+msgid "Flatten"
+msgstr "影像平面化"
 
-#: Pinta/Dialogs/AboutDialog.cs:133
-msgid "Using some icons from:"
-msgstr "由此取用一些圖示:"
+#: Pinta.Core/Actions/ViewActions.cs:62
+msgid "Zoom In"
+msgstr "放大"
 
-#: Pinta/Dialogs/AboutDialog.cs:245
-msgid "About Pinta"
-msgstr "關於 Pinta"
+#: Pinta.Core/Actions/ViewActions.cs:63
+msgid "Zoom Out"
+msgstr "縮小"
 
-#: Pinta/Dialogs/AboutDialog.cs:263
-msgid "Version Info"
-msgstr "版本信息"
+#: Pinta.Core/Actions/ViewActions.cs:64
+msgid "Zoom to Window"
+msgstr "符合視窗大小"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:44
-msgid "Title"
-msgstr "標題"
+#: Pinta.Core/Actions/ViewActions.cs:65
+msgid "Zoom to Selection"
+msgstr "放大成自選區域"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:50
-#: Pinta/Dialogs/AboutPintaTabPage.cs:41
-msgid "Version"
-msgstr "版本"
+#: Pinta.Core/Actions/ViewActions.cs:66
+msgid "Actual Size"
+msgstr "實際大小"
 
-#: Pinta/Dialogs/VersionInformationTabPage.cs:53
-msgid "Path"
-msgstr "路徑"
+#: Pinta.Core/Actions/ViewActions.cs:67
+msgid "Toolbar"
+msgstr "工具列"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "License"
-msgstr "授權許可"
+#: Pinta.Core/Actions/ViewActions.cs:68
+msgid "Pixel Grid"
+msgstr "像素格線"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:50
-msgid "Released under the MIT X11 License."
-msgstr "以 MIT X11 許可證發行"
+#: Pinta.Core/Actions/ViewActions.cs:69
+msgid "Rulers"
+msgstr "尺規"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "Copyright"
-msgstr "版權所有"
+#: Pinta.Core/Actions/ViewActions.cs:70
+msgid "Pixels"
+msgstr "像素"
 
-#: Pinta/Dialogs/AboutPintaTabPage.cs:57
-msgid "by Pinta contributors"
-msgstr "屬於開發Pinta程式的貢獻者"
+#: Pinta.Core/Actions/ViewActions.cs:71
+msgid "Inches"
+msgstr "英吋"
 
-#: Pinta/Main.cs:67
-msgid "number of threads to use for rendering"
-msgstr "用於渲染的線程數"
+#: Pinta.Core/Actions/ViewActions.cs:72
+msgid "Centimeters"
+msgstr "公分"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:56
-#: Pinta.Core/HistoryItems/ResizeHistoryItem.cs:44
-msgid "Resize Image"
-msgstr "縮放圖片"
+#: Pinta.Core/Actions/ViewActions.cs:73
+msgid "Fullscreen"
+msgstr "全螢幕"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
-msgid "By percentage:"
-msgstr "按百分比:"
+#: Pinta.Core/Actions/ViewActions.cs:111
+msgid "Ruler Units"
+msgstr "尺規單位"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
-msgid "By absolute size:"
-msgstr "按絕對大小:"
-
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
-msgid "Width:"
-msgstr "寬度:"
+#: Pinta.Core/Actions/LayerActions.cs:64
+#: Pinta.Core/Actions/LayerActions.cs:283
+msgid "Add New Layer"
+msgstr "新增圖層"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
-msgid "pixels"
-msgstr "像素"
+#: Pinta.Core/Actions/LayerActions.cs:65
+#: Pinta.Core/Actions/LayerActions.cs:266
+msgid "Delete Layer"
+msgstr "刪除圖層"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
-msgid "Height:"
-msgstr "高度:"
+#: Pinta.Core/Actions/LayerActions.cs:66
+#: Pinta.Core/Actions/LayerActions.cs:257
+msgid "Duplicate Layer"
+msgstr "複製圖層"
 
-#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
-msgid "Maintain aspect ratio"
-msgstr "保持長寬比"
+#: Pinta.Core/Actions/LayerActions.cs:67
+#: Pinta.Core/Actions/LayerActions.cs:235
+msgid "Merge Layer Down"
+msgstr "將目前所選圖層及它下一層圖層合併"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:193
-#: Pinta.Core/Actions/LayerActions.cs:74
-msgid "Layer Properties"
-msgstr "圖層屬性"
+#: Pinta.Core/Actions/LayerActions.cs:68
+msgid "Import from File..."
+msgstr "匯入圖片檔..."
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
-msgid "Name:"
-msgstr "名稱:"
+#: Pinta.Core/Actions/LayerActions.cs:71
+msgid "Rotate / Zoom"
+msgstr "旋轉 /縮放"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
-msgid "Visible"
-msgstr "顯示的"
+#: Pinta.Core/Actions/LayerActions.cs:72
+#: Pinta.Core/Actions/LayerActions.cs:213
+msgid "Move Layer Up"
+msgstr "圖層上移"
 
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
-msgid "Opacity:"
-msgstr "不透明度:"
+#: Pinta.Core/Actions/LayerActions.cs:73
+#: Pinta.Core/Actions/LayerActions.cs:224
+msgid "Move Layer Down"
+msgstr "圖層下移"
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:86
-#: Pinta.Core/Managers/WorkspaceManager.cs:218
-msgid "Resize Canvas"
-msgstr "調整畫布尺寸"
+#: Pinta.Core/Actions/LayerActions.cs:74
+msgid "Layer Properties..."
+msgstr "圖層屬性..."
 
-#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
-msgid "Anchor:"
-msgstr "定位點:"
+#: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
+msgid "Open Image File"
+msgstr "開啟圖片檔"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
-#: Pinta.Core/Actions/FileActions.cs:133
-msgid "New Image"
-msgstr "新增圖片"
+#: Pinta.Core/Actions/LayerActions.cs:179
+msgid "Import From File"
+msgstr "匯入圖片檔"
 
-#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
-msgid "New Image Size          "
-msgstr "新的圖片尺寸          "
+#: Pinta.Core/Actions/WindowActions.cs:45
+msgid "Save All"
+msgstr "儲存所有圖片"
 
-#: Pinta/DialogHandlers.cs:57
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before creating a new one?"
-msgstr "在開啟新檔案前,儲存變更到圖片檔 \"{0}\" 中?"
+#: Pinta.Core/Actions/WindowActions.cs:46
+msgid "Close All"
+msgstr "關閉所有圖片"
 
-#: Pinta/DialogHandlers.cs:58 Pinta.Core/Actions/FileActions.cs:208
-#: Pinta.Core/Actions/FileActions.cs:249 Pinta.Core/Actions/FileActions.cs:393
-msgid "If you don't save, all changes will be permanently lost."
-msgstr "如果不儲存,所有的變更將會永久地遺失。"
+#: Pinta.Core/Actions/HelpActions.cs:50
+msgid "Pinta Website"
+msgstr "Pinta 的官方網站"
 
-#: Pinta/DialogHandlers.cs:67 Pinta.Core/Actions/FileActions.cs:216
-#: Pinta.Core/Actions/FileActions.cs:258
-msgid "Continue without saving"
-msgstr "繼續而不儲存"
+#: Pinta.Core/Actions/HelpActions.cs:51
+msgid "File a Bug"
+msgstr "瑕疵報告"
 
-#: Pinta/DialogHandlers.cs:178
-msgid "Layer Opacity"
-msgstr "圖層不透明度"
+#: Pinta.Core/Actions/HelpActions.cs:52
+msgid "Translate This Application"
+msgstr "翻譯本軟體"
 
-#: Pinta/DialogHandlers.cs:183
-msgid "Rename Layer"
-msgstr "更改圖層名稱"
+#: Pinta.Core/Actions/HelpActions.cs:53 Pinta/MainWindow.cs:141
+msgid "About"
+msgstr "關於"
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Hide Layer"
-msgstr "隱藏圖層"
+#: Pinta.Core/Actions/FileActions.cs:54
+msgid "New..."
+msgstr "新增..."
 
-#: Pinta/DialogHandlers.cs:188
-msgid "Show Layer"
-msgstr "顯示圖層"
+#: Pinta.Core/Actions/FileActions.cs:55
+msgid "New Screenshot..."
+msgstr "新增螢幕截圖 ..."
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
-msgid "label1"
-msgstr "標籤1"
+#: Pinta.Core/Actions/FileActions.cs:56 Pinta.Core/Actions/EditActions.cs:78
+msgid "Open..."
+msgstr "開啟..."
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
-msgid "label"
-msgstr "標籤"
+#: Pinta.Core/Actions/FileActions.cs:57
+msgid "Open Recent"
+msgstr "最近開啟的檔案"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
-msgid "Random Noise"
-msgstr "不規則雜訊"
+#: Pinta.Core/Actions/FileActions.cs:64
+msgid "Close"
+msgstr "關閉"
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
-msgid "Reseed"
-msgstr "變換"
+#: Pinta.Core/Actions/FileActions.cs:65
+msgid "Save"
+msgstr "儲存"
 
-#: Pinta.Tools/ColorPickerTool.cs:44
-msgid "Color Picker"
-msgstr "顏色拾取器"
+#: Pinta.Core/Actions/FileActions.cs:66 Pinta.Core/Actions/EditActions.cs:79
+msgid "Save As..."
+msgstr "另存新檔..."
 
-#: Pinta.Tools/ColorPickerTool.cs:50
-msgid "Left click to set primary color. Right click to set secondary color."
-msgstr "按滑鼠左鍵設置主要顏色,按滑鼠右鍵設置第二顏色。"
+#: Pinta.Core/Actions/FileActions.cs:67
+msgid "Print"
+msgstr "列印"
 
-#: Pinta.Tools/ColorPickerTool.cs:62
-msgid "After select"
-msgstr "選色之後"
+#: Pinta.Core/Actions/FileActions.cs:68
+msgid "Quit"
+msgstr "結束"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Do not switch tool"
-msgstr "不要切換工具"
+#: Pinta.Core/Actions/FileActions.cs:70
+msgid "New"
+msgstr "新增"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to previous tool"
-msgstr "切換到上一個工具"
+#: Pinta.Core/Actions/FileActions.cs:71
+msgid "Open"
+msgstr "開啟"
 
-#: Pinta.Tools/ColorPickerTool.cs:68
-msgid "Switch to Pencil tool"
-msgstr "切換到鉛筆工具"
+#: Pinta.Core/Actions/EditActions.cs:65
+msgid "Undo"
+msgstr "復原"
 
-#: Pinta.Tools/ColorPickerTool.cs:116 Pinta.Tools/PencilTool.cs:48
-msgid "Pencil"
-msgstr "鉛筆"
+#: Pinta.Core/Actions/EditActions.cs:66
+msgid "Redo"
+msgstr "取消復原"
 
-#: Pinta.Tools/LassoSelectTool.cs:45
-msgid "Lasso Select"
-msgstr "自由選取工具"
+#: Pinta.Core/Actions/EditActions.cs:67
+msgid "Cut"
+msgstr "剪下"
 
-#: Pinta.Tools/LassoSelectTool.cs:47
-msgid "Click and drag to draw the outline for a selection area."
-msgstr "按住滑鼠並拖動畫出選取區域的邊框"
+#: Pinta.Core/Actions/EditActions.cs:68
+msgid "Copy"
+msgstr "複製"
 
-#: Pinta.Tools/ZoomTool.cs:49
-#: MandelbrotFractalEffect dialog
-#: FragmentEffect dialog
-msgid "Zoom"
-msgstr "縮放"
+#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:251
+msgid "Paste"
+msgstr "貼上"
 
-#: Pinta.Tools/ZoomTool.cs:55
-msgid ""
-"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
-"selection."
-msgstr "按滑鼠左鍵以放大,按滑鼠右鍵以縮小。另外,可以用滑鼠左鍵選取一個區域來放大。"
+#: Pinta.Core/Actions/EditActions.cs:70 Pinta/DialogHandlers.cs:204
+msgid "Paste Into New Layer"
+msgstr "貼到新圖層"
 
-#: Pinta.Tools/ShapeTool.cs:91 Pinta.Tools/BaseBrushTool.cs:68
-msgid "Brush width"
-msgstr "筆刷寬度"
+#: Pinta.Core/Actions/EditActions.cs:71
+msgid "Paste Into New Image"
+msgstr "貼到新圖片"
 
-#: Pinta.Tools/ShapeTool.cs:96 Pinta.Tools/BaseBrushTool.cs:73
-msgid "Decrease brush size"
-msgstr "減小筆刷大小"
+#: Pinta.Core/Actions/EditActions.cs:72 Pinta.Core/Actions/EditActions.cs:199
+#: Pinta.Core/Actions/EditActions.cs:296
+msgid "Erase Selection"
+msgstr "清除選取區域"
 
-#: Pinta.Tools/ShapeTool.cs:110 Pinta.Tools/BaseBrushTool.cs:87
-msgid "Increase brush size"
-msgstr "增大筆刷"
+#: Pinta.Core/Actions/EditActions.cs:73 Pinta.Core/Actions/EditActions.cs:163
+msgid "Fill Selection"
+msgstr "填充選取區域"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Outline Shape"
-msgstr "邊框"
+#: Pinta.Core/Actions/EditActions.cs:74
+msgid "Invert Selection"
+msgstr "反向選取"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill Shape"
-msgstr "填充"
+#: Pinta.Core/Actions/EditActions.cs:75 Pinta.Core/Actions/EditActions.cs:172
+msgid "Select All"
+msgstr "全選"
 
-#: Pinta.Tools/ShapeTool.cs:133 Pinta.Tools/FreeformShapeTool.cs:82
-msgid "Fill and Outline Shape"
-msgstr "填充和邊框"
+#: Pinta.Core/Actions/EditActions.cs:76 Pinta.Core/Actions/EditActions.cs:208
+msgid "Deselect"
+msgstr "取消選取"
 
-#: Pinta.Tools/MoveSelectedTool.cs:42
-msgid "Move Selected Pixels"
-msgstr "移動選取的像素"
+#: Pinta.Core/Actions/EditActions.cs:80
+msgid "Reset to Default"
+msgstr "重置為預設"
 
-#: Pinta.Tools/MoveSelectedTool.cs:48
-msgid "Drag the selection to move selected content."
-msgstr "拖動選取區域,以移動選定內容。"
+#: Pinta.Core/Actions/EditActions.cs:81
+msgid "Set Number of Colors"
+msgstr "設置顏色數量"
 
-#: Pinta.Tools/PanTool.cs:38
-msgid "Pan"
-msgstr "平移"
+#: Pinta.Core/Actions/EditActions.cs:105 Pinta/MainWindow.cs:562
+#: Pinta/MainWindow.cs:569
+msgid "Palette"
+msgstr "調色盤"
 
-#: Pinta.Tools/PanTool.cs:44
-msgid "Click and drag to navigate image."
-msgstr "按住滑鼠並拖動以瀏覽圖片"
+#: Pinta.Core/Actions/EditActions.cs:313
+msgid "Open Palette File"
+msgstr "開啟調色盤檔案"
 
-#: Pinta.Tools/PencilTool.cs:50
-msgid ""
-"Left click to draw freeform, one-pixel wide lines with the primary color, "
-"right click to use the secondary color."
-msgstr "按滑鼠左鍵畫出任意形狀,線條寬為1像素而顏色為主要顏色,按滑鼠右鍵使用第二顏色。"
+#: Pinta.Core/Actions/EditActions.cs:320
+msgid "Palette files (*.txt, *.gpl)"
+msgstr "調色盤檔案 (*.txt, *.gpl)"
 
-#: Pinta.Tools/EllipseSelectTool.cs:38
-msgid "Ellipse Select"
-msgstr "橢圓形選取工具"
+#: Pinta.Core/Actions/EditActions.cs:324 Pinta/DialogHandlers.cs:408
+msgid "All files"
+msgstr "所有檔案"
 
-#: Pinta.Tools/EllipseSelectTool.cs:44
+#: Pinta.Core/Actions/EditActions.cs:340
+#, csharp-format
 msgid ""
-"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
-"circle."
-msgstr "按住滑鼠並拖動畫出一個橢圓選取區域。另外,按住\"Shift\"鍵以限制畫出來的是圓形。"
-
-#: Pinta.Tools/GradientTool.cs:52
-msgid "Gradient"
-msgstr "漸層"
+"Could not open palette file: {0}.\n"
+"Please verify that you are trying to open a valid GIMP or Paint.NET palette."
+msgstr ""
+"無法開啟調色盤檔案: {0}。\n"
+"請驗證您正嘗試開啟的是有效的 GIMP 或 Paint.NET 調色盤。"
 
-#: Pinta.Tools/GradientTool.cs:60
-msgid ""
-"Click and drag to draw gradient from primary to secondary color.  Right "
-"click to reverse."
-msgstr "按住滑鼠左鍵並拖動畫出從主要顏色到第二顏色的漸層顏色,按住滑鼠右鍵則相反。"
+#: Pinta.Core/Actions/EditActions.cs:341
+#: Pinta.Core/Managers/WorkspaceManager.cs:184 Pinta/DialogHandlers.cs:576
+msgid "Error"
+msgstr "錯誤"
 
-#: Pinta.Tools/GradientTool.cs:158
-msgid "Linear Gradient"
-msgstr "線性漸變填充"
+#: Pinta.Core/Actions/EditActions.cs:353
+msgid "Save Palette File"
+msgstr "儲存調色盤檔案"
 
-#: Pinta.Tools/GradientTool.cs:166
-msgid "Linear Reflected Gradient"
-msgstr "雙線性漸變填充"
+#: Pinta.Core/Actions/EditActions.cs:359
+msgid "Paint.NET palette (*.txt)"
+msgstr "Paint.NET 調色盤 (*.txt)"
 
-#: Pinta.Tools/GradientTool.cs:173
-msgid "Linear Diamond Gradient"
-msgstr "鑽石形漸變填充"
+#: Pinta.Core/Actions/EditActions.cs:364
+msgid "GIMP palette (*.gpl)"
+msgstr "GIMP 調色盤 (*.gpl)"
 
-#: Pinta.Tools/GradientTool.cs:180
-msgid "Radial Gradient"
-msgstr "放射漸變填充"
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr "未儲存的圖片{0}"
 
-#: Pinta.Tools/GradientTool.cs:187
-msgid "Conical Gradient"
-msgstr "圓錐形漸變填充"
+#: Pinta.Core/Managers/WorkspaceManager.cs:151
+msgid "Background"
+msgstr "背景"
 
-#: Pinta.Tools/GradientTool.cs:198
-msgid "Color Mode"
-msgstr "色彩模式"
+#: Pinta.Core/Managers/WorkspaceManager.cs:158
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:48
+msgid "New Image"
+msgstr "新增圖片"
 
-#: Pinta.Tools/GradientTool.cs:206
-msgid "Transparency Mode"
-msgstr "透明模式"
+#: Pinta.Core/Managers/WorkspaceManager.cs:176
+msgid "Open Image"
+msgstr "開啟圖片"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:43
-msgid "Rounded Rectangle"
-msgstr "圓角矩形"
+#: Pinta.Core/Managers/WorkspaceManager.cs:183
+#, csharp-format
+msgid "Could not open file: {0}"
+msgstr "不能開啟檔案:{0}"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:49
-msgid ""
-"Click and drag to draw a rounded rectangle (right click for secondary "
-"color). Hold shift to constrain."
-msgstr "按住滑鼠左鍵並拖動畫出一圓角矩形(若用滑鼠右鍵則使用的是第二顏色)。按住\"Shift\"鍵以限制畫出來的是正圓角矩形。"
+#: Pinta.Core/Managers/LivePreviewManager.cs:220
+msgid "Rendering Effect"
+msgstr "渲染效果"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:77
-#: UnfocusEffect dialog
-#: MedianEffect dialog
-#: ReduceNoiseEffect dialog
-#: GlowEffect dialog
-#: FragmentEffect dialog
-msgid "Radius"
-msgstr "半徑"
+#: Pinta.Effects/Adjustments/PosterizeEffect.cs:26
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
+msgid "Posterize"
+msgstr "色調分離"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:82
-msgid "Decrease rectangle's corner radius"
-msgstr "減少矩形的圓角半徑"
+#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
+msgid "Invert Colors"
+msgstr "反轉顏色和亮度"
 
-#: Pinta.Tools/RoundedRectangleTool.cs:96
-msgid "Increase rectangle's corner radius"
-msgstr "增加矩形的圓角半徑"
+#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
+msgid "Levels"
+msgstr "色階"
 
-#: Pinta.Tools/PaintBrushTool.cs:47 Pinta.Tools/FreeformShapeTool.cs:56
-msgid ""
-"Left click to draw with primary color, right click to draw with secondary "
-"color."
-msgstr "畫圖時,按滑鼠左鍵畫出來的顏色是主要顏色,按滑鼠右鍵畫出來的顏色是第二顏色。"
+#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
+msgid "Black and White"
+msgstr "去除色彩"
 
-#: Pinta.Tools/RectangleSelectTool.cs:38
-msgid "Rectangle Select"
-msgstr "矩形選取工具"
+#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
+msgid "Auto Level"
+msgstr "自動調整色階"
 
-#: Pinta.Tools/RectangleSelectTool.cs:44
-msgid ""
-"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
-"square."
-msgstr "點選並拖動畫出一個矩形選取區域。按住\"Shift\"鍵以限制畫出來的是正方形。"
+#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
+msgid "Hue / Saturation"
+msgstr "色相 / 飽和度"
 
-#: Pinta.Tools/PaintBucketTool.cs:40
-msgid "Paint Bucket"
-msgstr "油漆桶"
+#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:30
+msgid "Brightness / Contrast"
+msgstr "亮度/對比"
 
-#: Pinta.Tools/PaintBucketTool.cs:46
-msgid ""
-"Left click to fill a region with the primary color, right click to fill with "
-"the secondary color."
-msgstr "點擊滑鼠左鍵,用主要顏色填滿一區域。點擊滑鼠右鍵,則用的是第二顏色。"
+#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
+msgid "Sepia"
+msgstr "復古褐色"
 
-#: Pinta.Tools/UnimplementedTools.cs:40
-msgid "Clone Stamp"
-msgstr "橡皮圖章"
+#: Pinta.Effects/Adjustments/CurvesEffect.cs:28
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
+msgid "Curves"
+msgstr "曲線"
 
-#: Pinta.Tools/MoveSelectionTool.cs:42
-msgid "Move Selection"
-msgstr "移動選取區域"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
+msgid "Transfer Map"
+msgstr "轉換圖"
 
-#: Pinta.Tools/MoveSelectionTool.cs:48
-msgid "Drag the selection to move selection outline."
-msgstr "拖動選取區域,以移動選取區域的邊框。"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
+msgid "RGB"
+msgstr "RGB"
 
-#: Pinta.Tools/FreeformShapeTool.cs:54
-msgid "Freeform Shape"
-msgstr "自由形態形狀"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
+msgid "Luminosity"
+msgstr "亮度"
 
-#: Pinta.Tools/FloodTool.cs:71
-msgid "Fill mode"
-msgstr "填充模式"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
+msgid "(256, 256)"
+msgstr "(256, 256)"
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Contiguous"
-msgstr "相似顏色的連續區域"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
+msgid "Red  "
+msgstr "紅色  "
 
-#: Pinta.Tools/FloodTool.cs:76
-msgid "Global"
-msgstr "整個選取區域"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
+msgid "Green"
+msgstr "綠色"
 
-#: Pinta.Tools/FloodTool.cs:81 Pinta.Tools/RecolorTool.cs:73
-#: SoftenPortraitData dialog
-msgid "Tolerance"
-msgstr "容許偏差量"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
+msgid "Blue "
+msgstr "藍色 "
 
-#: Pinta.Tools/EllipseTool.cs:38
-msgid "Ellipse"
-msgstr "橢圓形"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
+msgid "Reset"
+msgstr "重設"
 
-#: Pinta.Tools/EllipseTool.cs:44
-msgid ""
-"Click and drag to draw an ellipse (right click for secondary color). Hold "
-"shift to constrain to a circle."
-msgstr "按住滑鼠左鍵並拖動畫出一橢圓(若用滑鼠右鍵則使用的是第二顏色)。按住\"Shift\"鍵以限制畫出來的是圓形。"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
+msgid "Tip: Right-click to remove control points."
+msgstr "提示:按右鍵以刪除控制點。"
 
-#: Pinta.Tools/TextTool.cs:37
-msgid "Text"
-msgstr "文字"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
+msgid "Levels Adjustment"
+msgstr "色階調整"
 
-#: Pinta.Tools/TextTool.cs:44
-msgid ""
-"Left click to place cursor, then type desired text. Text color is primary "
-"color."
-msgstr "點擊滑鼠左鍵,輸入想要的文字。(文字顏色是主要顏色!)"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
+msgid "Input Histogram"
+msgstr "輸入直方圖"
 
-#: Pinta.Tools/TextTool.cs:131
-msgid "Font"
-msgstr "字型"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
+msgid "Input"
+msgstr "輸入"
 
-#: Pinta.Tools/TextTool.cs:186
-msgid "Bold"
-msgstr "粗體"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
+msgid "Output"
+msgstr "輸出"
 
-#: Pinta.Tools/TextTool.cs:193
-msgid "Italic"
-msgstr "斜體"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
+msgid "Output Histogram"
+msgstr "輸出直方圖"
 
-#: Pinta.Tools/TextTool.cs:201
-msgid "Underline"
-msgstr "底線"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
+msgid "Auto"
+msgstr "自動"
 
-#: Pinta.Tools/TextTool.cs:210
-msgid "Left Align"
-msgstr "置左"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
+msgid "Red"
+msgstr "紅色"
 
-#: Pinta.Tools/TextTool.cs:219
-msgid "Center Align"
-msgstr "置中"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
+msgid "Blue"
+msgstr "藍色"
 
-#: Pinta.Tools/TextTool.cs:227
-msgid "Right Align"
-msgstr "置右"
+#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
+msgid "Linked"
+msgstr "連鎖變更"
 
-#: Pinta.Tools/MagicWandTool.cs:46
-msgid "Magic Wand Select"
-msgstr "魔術棒選取工具"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
+msgid "Pencil Sketch"
+msgstr "鉛筆素描"
 
-#: Pinta.Tools/MagicWandTool.cs:54
-msgid "Click to select region of similar color."
-msgstr "點擊以選取一相同顏色的區域。"
+#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
+#: Pinta.Effects/Effects/InkSketchEffect.cs:42
+msgid "Artistic"
+msgstr "藝術效果"
 
-#: Pinta.Tools/RectangleTool.cs:38
-msgid "Rectangle"
-msgstr "矩形"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:28
+msgid "Unfocus"
+msgstr "失去聚焦"
 
-#: Pinta.Tools/RectangleTool.cs:44
-msgid ""
-"Click and drag to draw a rectangle (right click for secondary color). Hold "
-"shift to constrain to a square."
-msgstr "按住滑鼠左鍵並拖動畫出一矩形(若用滑鼠右鍵則使用的是第二顏色)。按住\"Shift\"鍵以限制畫出來的是正方形。"
+#: Pinta.Effects/Effects/UnfocusEffect.cs:36
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
+#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
+#: Pinta.Effects/Effects/FragmentEffect.cs:34
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
+msgid "Blurs"
+msgstr "模糊"
 
-#: Pinta.Tools/LineCurveTool.cs:38
-msgid "Line"
-msgstr "直線"
+#: Pinta.Effects/Effects/BulgeEffect.cs:26
+msgid "Bulge"
+msgstr "凸起"
 
-#: Pinta.Tools/LineCurveTool.cs:44
-msgid ""
-"Left click to draw with primary color, right click for secondary color."
-msgstr "按滑鼠左鍵繪圖用的是主要顏色,按滑鼠右鍵則是使用第二顏色。"
+#: Pinta.Effects/Effects/BulgeEffect.cs:34
+#: Pinta.Effects/Effects/PixelateEffect.cs:38
+#: Pinta.Effects/Effects/TileEffect.cs:34
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
+#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
+#: Pinta.Effects/Effects/TwistEffect.cs:34
+msgid "Distort"
+msgstr "扭曲"
 
-#: Pinta.Tools/RecolorTool.cs:59
-msgid "Recolor"
-msgstr "重新著色"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
+msgid "Mandelbrot Fractal"
+msgstr "曼德勃羅不規則碎片形"
 
-#: Pinta.Tools/RecolorTool.cs:61
-msgid "Left click to replace the secondary color with the primary color."
-msgstr "按滑鼠左鍵,用主要顏色取代第二顏色。"
+#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
+#: Pinta.Effects/Effects/CloudsEffect.cs:38
+msgid "Render"
+msgstr "渲染"
 
-#: Pinta.Tools/EraserTool.cs:45
-msgid "Eraser"
-msgstr "橡皮擦"
+#: Pinta.Effects/Effects/MedianEffect.cs:29
+msgid "Median"
+msgstr "中間值"
 
-#: Pinta.Tools/EraserTool.cs:47
-msgid "Click and drag to erase a portion of the image."
-msgstr "按住並拖動滑鼠以擦掉一部分的圖片顏色。"
+#: Pinta.Effects/Effects/MedianEffect.cs:37
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
+#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
+msgid "Noise"
+msgstr "雜訊"
 
 #: Pinta.Effects/Effects/PixelateEffect.cs:26
 msgid "Pixelate"
 msgstr "像素化"
 
-#: Pinta.Effects/Effects/PixelateEffect.cs:38
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:34
-#: Pinta.Effects/Effects/PolarInversionEffect.cs:39
-#: Pinta.Effects/Effects/TileEffect.cs:34
-#: Pinta.Effects/Effects/BulgeEffect.cs:34
-#: Pinta.Effects/Effects/TwistEffect.cs:34
-msgid "Distort"
-msgstr "扭曲"
-
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
-msgid "Red Eye Removal"
-msgstr "去除紅眼"
+#: Pinta.Effects/Effects/SharpenEffect.cs:26
+msgid "Sharpen"
+msgstr "銳利化"
 
-#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
-#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SharpenEffect.cs:34
+#: Pinta.Effects/Effects/GlowEffect.cs:39
 #: Pinta.Effects/Effects/SoftenPortraitEffect.cs:67
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:37
 msgid "Photo"
 msgstr "照片"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
-msgid "Motion Blur"
-msgstr "動感模糊"
+#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
+msgid "Oil Painting"
+msgstr "油畫"
 
-#: Pinta.Effects/Effects/MotionBlurEffect.cs:34
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:34
-#: Pinta.Effects/Effects/UnfocusEffect.cs:36
-#: Pinta.Effects/Effects/ZoomBlurEffect.cs:34
-#: Pinta.Effects/Effects/FragmentEffect.cs:34
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:34
-msgid "Blurs"
-msgstr "模糊"
+#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
+msgid "Gaussian Blur"
+msgstr "高斯模糊"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:34
-msgid "Ink Sketch"
-msgstr "水墨素描"
+#: Pinta.Effects/Effects/GlowEffect.cs:31
+msgid "Glow"
+msgstr "美白效果"
 
-#: Pinta.Effects/Effects/InkSketchEffect.cs:42
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:34
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:41
-msgid "Artistic"
-msgstr "藝術效果"
+#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
+msgid "Soften Portrait"
+msgstr "柔化處理"
 
-#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
-msgid "Radial Blur"
-msgstr "放射狀模糊"
+#: Pinta.Effects/Effects/TileEffect.cs:26
+msgid "Tile Reflection"
+msgstr "瓷磚效果"
 
-#: Pinta.Effects/Effects/UnfocusEffect.cs:28
-msgid "Unfocus"
-msgstr "失去聚焦"
+#: Pinta.Effects/Effects/RedEyeRemoveEffect.cs:29
+msgid "Red Eye Removal"
+msgstr "去除紅眼"
+
+#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
+msgid "Frosted Glass"
+msgstr "磨砂玻璃"
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:29
 msgid "Edge Detect"
 msgstr "邊緣偵測"
 
 #: Pinta.Effects/Effects/EdgeDetectEffect.cs:37
-#: Pinta.Effects/Effects/OutlineEffect.cs:37
-#: Pinta.Effects/Effects/ReliefEffect.cs:33
 #: Pinta.Effects/Effects/EmbossEffect.cs:34
+#: Pinta.Effects/Effects/ReliefEffect.cs:33
+#: Pinta.Effects/Effects/OutlineEffect.cs:37
 msgid "Stylize"
-msgstr "樣式化"
+msgstr "風格化"
 
-#: Pinta.Effects/Effects/FrostedGlassEffect.cs:26
-msgid "Frosted Glass"
-msgstr "磨砂玻璃"
+#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
+msgid "Julia Fractal"
+msgstr "茱莉亞不規則碎片形"
 
-#: Pinta.Effects/Effects/OilPaintingEffect.cs:26
-msgid "Oil Painting"
-msgstr "油畫"
+#: Pinta.Effects/Effects/MotionBlurEffect.cs:26
+msgid "Motion Blur"
+msgstr "動感模糊"
+
+#: Pinta.Effects/Effects/EmbossEffect.cs:26
+msgid "Emboss"
+msgstr "浮雕"
+
+#: Pinta.Effects/Effects/InkSketchEffect.cs:34
+msgid "Ink Sketch"
+msgstr "水墨素描"
 
 #: Pinta.Effects/Effects/ZoomBlurEffect.cs:26
 msgid "Zoom Blur"
@@ -705,543 +682,713 @@ msgstr "極性反轉"
 msgid "Clouds"
 msgstr "雲"
 
-#: Pinta.Effects/Effects/CloudsEffect.cs:38
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:34
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:34
-msgid "Render"
-msgstr "粉刷"
+#: Pinta.Effects/Effects/FragmentEffect.cs:26
+msgid "Fragment"
+msgstr "碎片"
 
-#: Pinta.Effects/Effects/GlowEffect.cs:31
-msgid "Glow"
-msgstr "美白效果"
+#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
+msgid "Reduce Noise"
+msgstr "減少雜訊"
+
+#: Pinta.Effects/Effects/RadialBlurEffect.cs:26
+msgid "Radial Blur"
+msgstr "放射狀模糊"
+
+#: Pinta.Effects/Effects/TwistEffect.cs:26
+msgid "Twist"
+msgstr "扭曲"
 
 #: Pinta.Effects/Effects/AddNoiseEffect.cs:30
 msgid "Add Noise"
 msgstr "加入雜訊"
 
-#: Pinta.Effects/Effects/AddNoiseEffect.cs:38
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:37
-#: Pinta.Effects/Effects/MedianEffect.cs:37
-msgid "Noise"
-msgstr "雜訊"
-
-#: Pinta.Effects/Effects/FragmentEffect.cs:26
-msgid "Fragment"
-msgstr "碎片"
-
-#: Pinta.Effects/Effects/SharpenEffect.cs:26
-msgid "Sharpen"
-msgstr "銳利化"
-
-#: Pinta.Effects/Effects/PencilSketchEffect.cs:33
-msgid "Pencil Sketch"
-msgstr "鉛筆素描"
+#: Pinta.Effects/Effects/ReliefEffect.cs:45
+msgid "Relief"
+msgstr "醒目效果"
 
 #: Pinta.Effects/Effects/OutlineEffect.cs:29
 msgid "Outline"
 msgstr "邊框"
 
-#: Pinta.Effects/Effects/GaussianBlurEffect.cs:26
-msgid "Gaussian Blur"
-msgstr "高斯模糊"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:38
+msgid "Random Noise"
+msgstr "不規則雜訊"
 
-#: Pinta.Effects/Effects/TileEffect.cs:26
-msgid "Tile Reflection"
-msgstr "瓷磚效果"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ReseedButtonWidget.cs:65
+msgid "Reseed"
+msgstr "變換"
 
-#: Pinta.Effects/Effects/ReliefEffect.cs:45
-msgid "Relief"
-msgstr "醒目效果"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.HScaleSpinButtonWidget.cs:48
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.AnglePickerWidget.cs:52
+msgid "label1"
+msgstr "標籤1"
 
-#: Pinta.Effects/Effects/EmbossEffect.cs:26
-msgid "Emboss"
-msgstr "浮雕"
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:58
+#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.ComboBoxWidget.cs:42
+msgid "label"
+msgstr "標籤"
 
-#: Pinta.Effects/Effects/MandelbrotFractalEffect.cs:26
-msgid "Mandelbrot Fractal"
-msgstr "曼德勃羅不規則碎片形"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
+msgstr "選擇主要顏色"
 
-#: Pinta.Effects/Effects/BulgeEffect.cs:26
-msgid "Bulge"
-msgstr "凸起"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
+msgstr "選擇第二顏色"
 
-#: Pinta.Effects/Effects/TwistEffect.cs:26
-msgid "Twist"
-msgstr "扭曲"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
+msgstr "選擇調色盤顏色"
 
-#: Pinta.Effects/Effects/SoftenPortraitEffect.cs:59
-msgid "Soften Portrait"
-msgstr "柔化人像"
+#: Pinta.Tools/PanTool.cs:38
+msgid "Pan"
+msgstr "平移"
 
-#: Pinta.Effects/Effects/ReduceNoiseEffect.cs:29
-msgid "Reduce Noise"
-msgstr "減少雜訊"
+#: Pinta.Tools/PanTool.cs:44
+msgid "Click and drag to navigate image."
+msgstr "按住滑鼠並拖動以瀏覽圖片"
 
-#: Pinta.Effects/Effects/JuliaFractalEffect.cs:26
-msgid "Julia Fractal"
-msgstr "茱莉亞不規則碎片形"
+#: Pinta.Tools/TextTool.cs:37
+msgid "Text"
+msgstr "文字"
 
-#: Pinta.Effects/Effects/MedianEffect.cs:29
-msgid "Median"
-msgstr "中間值"
+#: Pinta.Tools/TextTool.cs:44
+msgid ""
+"Left click to place cursor, then type desired text. Text color is primary "
+"color."
+msgstr "點擊滑鼠左鍵,輸入想要的文字。(文字顏色是主要顏色!)"
 
-#: Pinta.Effects/Adjustments/CurvesEffect.cs:26
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:46
-msgid "Curves"
-msgstr "曲線"
+#: Pinta.Tools/TextTool.cs:144
+msgid "Font"
+msgstr "字型"
 
-#: Pinta.Effects/Adjustments/LevelsEffect.cs:24
-msgid "Levels"
-msgstr "色階"
+#: Pinta.Tools/TextTool.cs:205
+msgid "Bold"
+msgstr "粗體"
 
-#: Pinta.Effects/Adjustments/AutoLevelEffect.cs:26
-msgid "Auto Level"
-msgstr "自動調整色階"
+#: Pinta.Tools/TextTool.cs:212
+msgid "Italic"
+msgstr "斜體"
 
-#: Pinta.Effects/Adjustments/InvertColorsEffect.cs:26
-#: SoftenPortraitData dialog
-msgid "Invert Colors"
-msgstr "反相"
+#: Pinta.Tools/TextTool.cs:220
+msgid "Underline"
+msgstr "底線"
 
-#: Pinta.Effects/Adjustments/PosterizeEffect.cs:24
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:26
-msgid "Posterize"
-msgstr "色調分離"
+#: Pinta.Tools/TextTool.cs:229
+msgid "Left Align"
+msgstr "置左"
 
-#: Pinta.Effects/Adjustments/BlackAndWhiteEffect.cs:26
-msgid "Black and White"
-msgstr "黑白化"
+#: Pinta.Tools/TextTool.cs:238
+msgid "Center Align"
+msgstr "置中"
 
-#: Pinta.Effects/Adjustments/HueSaturationEffect.cs:27
-msgid "Hue / Saturation"
-msgstr "色相 / 飽和度"
+#: Pinta.Tools/TextTool.cs:246
+msgid "Right Align"
+msgstr "置右"
 
-#: Pinta.Effects/Adjustments/SepiaEffect.cs:27
-msgid "Sepia"
-msgstr "變成復古褐色"
+#: Pinta.Tools/RectangleTool.cs:38
+msgid "Rectangle"
+msgstr "矩形"
 
-#: Pinta.Effects/Adjustments/BrightnessContrastEffect.cs:29
-msgid "Brightness / Contrast"
-msgstr "亮度/對比"
+#: Pinta.Tools/RectangleTool.cs:44
+msgid ""
+"Click and drag to draw a rectangle (right click for secondary color). Hold "
+"shift to constrain to a square."
+msgstr "按住滑鼠左鍵並拖動畫出一矩形(若用滑鼠右鍵則使用的是第二顏色)。按住\"Shift\"鍵以限制畫出來的是正方形。"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:103
-msgid "Levels Adjustment"
-msgstr "色階調整"
+#: Pinta.Tools/FreeformShapeTool.cs:53
+msgid "Freeform Shape"
+msgstr "自由形態形狀"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:130
-msgid "Input Histogram"
-msgstr "輸入直方圖"
+#: Pinta.Tools/FreeformShapeTool.cs:55 Pinta.Tools/PaintBrushTool.cs:43
+msgid ""
+"Left click to draw with primary color, right click to draw with secondary "
+"color."
+msgstr "畫圖時,按滑鼠左鍵畫出來的顏色是主要顏色,按滑鼠右鍵畫出來的顏色是第二顏色。"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:172
-msgid "Input"
-msgstr "輸入"
+#: Pinta.Tools/FreeformShapeTool.cs:71 Pinta.Tools/ShapeTool.cs:131
+msgid "Fill Style"
+msgstr "填充形式"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:285
-msgid "Output"
-msgstr "輸出"
+#: Pinta.Tools/FreeformShapeTool.cs:78 Pinta.Tools/ShapeTool.cs:138
+msgid "Outline Shape"
+msgstr "邊框"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:413
-msgid "Output Histogram"
-msgstr "輸出直方圖"
+#: Pinta.Tools/FreeformShapeTool.cs:79 Pinta.Tools/ShapeTool.cs:139
+msgid "Fill Shape"
+msgstr "填充"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:456
-msgid "Auto"
-msgstr "自動"
+#: Pinta.Tools/FreeformShapeTool.cs:80 Pinta.Tools/ShapeTool.cs:140
+msgid "Fill and Outline Shape"
+msgstr "填充和邊框"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:468
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:173
-msgid "Reset"
-msgstr "重設"
+#: Pinta.Tools/FloodTool.cs:72
+msgid "Flood Mode"
+msgstr "泛濫模式"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:478
-msgid "Red"
-msgstr "紅色"
+#: Pinta.Tools/FloodTool.cs:79
+msgid "Contiguous"
+msgstr "相似顏色的連續區域"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:489
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:142
-msgid "Green"
-msgstr "綠色"
+#: Pinta.Tools/FloodTool.cs:80
+msgid "Global"
+msgstr "整個選取區域"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.LevelsDialog.cs:528
-msgid "Blue"
-msgstr "藍色"
+#: Pinta.Tools/FloodTool.cs:91 Pinta.Tools/RecolorTool.cs:73
+msgid "Tolerance"
+msgstr "容許偏差量"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.PosterizeDialog.cs:93
-msgid "Linked"
-msgstr "連鎖變更"
+#: Pinta.Tools/LineCurveTool.cs:38
+msgid "Line"
+msgstr "直線"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:62
-msgid "Transfer Map"
-msgstr "轉換圖"
+#: Pinta.Tools/LineCurveTool.cs:44
+msgid ""
+"Left click to draw with primary color, right click for secondary color."
+msgstr "按滑鼠左鍵繪圖用的是主要顏色,按滑鼠右鍵則是使用第二顏色。"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:85
-msgid "RGB"
-msgstr "RGB"
+#: Pinta.Tools/MoveSelectionTool.cs:42
+msgid "Move Selection"
+msgstr "移動選取區域"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:86
-msgid "Luminosity"
-msgstr "亮度"
+#: Pinta.Tools/MoveSelectionTool.cs:48
+msgid "Drag the selection to move selection outline."
+msgstr "拖動選取區域,以移動選取區域的邊框。"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:100
-msgid "(256, 256)"
-msgstr "(256, 256)"
+#: Pinta.Tools/RectangleSelectTool.cs:38
+msgid "Rectangle Select"
+msgstr "矩形選取工具"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:131
-msgid "Red  "
-msgstr "紅色  "
+#: Pinta.Tools/RectangleSelectTool.cs:44
+msgid ""
+"Click and drag to draw a rectangular selection. Hold shift to constrain to a "
+"square."
+msgstr "點選並拖動畫出一個矩形選取區域。按住\"Shift\"鍵以限制畫出來的是正方形。"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:153
-msgid "Blue "
-msgstr "藍色 "
+#: Pinta.Tools/MagicWandTool.cs:46
+msgid "Magic Wand Select"
+msgstr "魔術棒選取工具"
 
-#: Pinta.Effects/gtk-gui/Pinta.Effects.CurvesDialog.cs:187
-msgid "Tip: Right-click to remove control points."
-msgstr "提示:按右鍵以刪除控制點。"
+#: Pinta.Tools/MagicWandTool.cs:54
+msgid "Click to select region of similar color."
+msgstr "點擊以選取一相同顏色的區域。"
 
-#: Pinta.Core/Actions/LayerActions.cs:64
-#: Pinta.Core/Actions/LayerActions.cs:271
-msgid "Add New Layer"
-msgstr "新增圖層"
+#: Pinta.Tools/EllipseSelectTool.cs:38
+msgid "Ellipse Select"
+msgstr "橢圓形選取工具"
 
-#: Pinta.Core/Actions/LayerActions.cs:65
-#: Pinta.Core/Actions/LayerActions.cs:255
-msgid "Delete Layer"
-msgstr "刪除圖層"
+#: Pinta.Tools/EllipseSelectTool.cs:44
+msgid ""
+"Click and drag to draw an elliptical selection. Hold shift to constrain to a "
+"circle."
+msgstr "按住滑鼠並拖動畫出一個橢圓選取區域。另外,按住\"Shift\"鍵以限制畫出來的是圓形。"
 
-#: Pinta.Core/Actions/LayerActions.cs:66
-#: Pinta.Core/Actions/LayerActions.cs:247
-msgid "Duplicate Layer"
-msgstr "複製圖層"
+#: Pinta.Tools/LassoSelectTool.cs:45
+msgid "Lasso Select"
+msgstr "自由選取工具"
 
-#: Pinta.Core/Actions/LayerActions.cs:67
-#: Pinta.Core/Actions/LayerActions.cs:226
-msgid "Merge Layer Down"
-msgstr "將目前所選圖層及它下一層圖層合併"
+#: Pinta.Tools/LassoSelectTool.cs:47
+msgid "Click and drag to draw the outline for a selection area."
+msgstr "按住滑鼠並拖動畫出選取區域的邊框"
 
-#: Pinta.Core/Actions/LayerActions.cs:68
-msgid "Import from File..."
-msgstr "匯入圖片檔..."
+#: Pinta.Tools/PaintBucketTool.cs:40
+msgid "Paint Bucket"
+msgstr "油漆桶"
 
-#: Pinta.Core/Actions/LayerActions.cs:69 Pinta.Core/Actions/ImageActions.cs:61
-msgid "Flip Horizontal"
-msgstr "水平翻轉"
+#: Pinta.Tools/PaintBucketTool.cs:46
+msgid ""
+"Left click to fill a region with the primary color, right click to fill with "
+"the secondary color."
+msgstr "點擊滑鼠左鍵,用主要顏色填滿一區域。點擊滑鼠右鍵,則用的是第二顏色。"
 
-#: Pinta.Core/Actions/LayerActions.cs:70 Pinta.Core/Actions/ImageActions.cs:62
-msgid "Flip Vertical"
-msgstr "垂直翻轉"
+#: Pinta.Tools/GradientTool.cs:65 Pinta.Tools/GradientTool.cs:176
+msgid "Gradient"
+msgstr "漸層"
 
-#: Pinta.Core/Actions/LayerActions.cs:71
-msgid "Rotate / Zoom"
-msgstr "旋轉 /縮放"
+#: Pinta.Tools/GradientTool.cs:73
+msgid ""
+"Click and drag to draw gradient from primary to secondary color.  Right "
+"click to reverse."
+msgstr "按住滑鼠左鍵並拖動畫出從主要顏色到第二顏色的漸層顏色,按住滑鼠右鍵則相反。"
 
-#: Pinta.Core/Actions/LayerActions.cs:72
-#: Pinta.Core/Actions/LayerActions.cs:206
-msgid "Move Layer Up"
-msgstr "圖層上移"
+#: Pinta.Tools/GradientTool.cs:183
+msgid "Linear Gradient"
+msgstr "線性漸變填充"
 
-#: Pinta.Core/Actions/LayerActions.cs:73
-#: Pinta.Core/Actions/LayerActions.cs:216
-msgid "Move Layer Down"
-msgstr "圖層下移"
+#: Pinta.Tools/GradientTool.cs:184
+msgid "Linear Reflected Gradient"
+msgstr "雙線性漸變填充"
 
-#: Pinta.Core/Actions/LayerActions.cs:155
-#: Pinta.Core/Actions/FileActions.cs:276
-msgid "Open Image File"
-msgstr "開啟圖片檔"
+#: Pinta.Tools/GradientTool.cs:185
+msgid "Linear Diamond Gradient"
+msgstr "鑽石形漸變填充"
 
-#: Pinta.Core/Actions/LayerActions.cs:177
-msgid "Import From File"
-msgstr "匯入圖片檔"
+#: Pinta.Tools/GradientTool.cs:186
+msgid "Radial Gradient"
+msgstr "放射漸變填充"
 
-#: Pinta.Core/Actions/FileActions.cs:54
-msgid "New..."
-msgstr "新增..."
+#: Pinta.Tools/GradientTool.cs:187
+msgid "Conical Gradient"
+msgstr "圓錐形漸變填充"
 
-#: Pinta.Core/Actions/FileActions.cs:55
-msgid "Open..."
-msgstr "開啟..."
+#: Pinta.Tools/GradientTool.cs:195
+msgid "Mode"
+msgstr "模式"
 
-#: Pinta.Core/Actions/FileActions.cs:56
-msgid "Open Recent"
-msgstr "最近開啟的檔案"
+#: Pinta.Tools/GradientTool.cs:202
+msgid "Color Mode"
+msgstr "色彩模式"
 
-#: Pinta.Core/Actions/FileActions.cs:70
-msgid "Close"
-msgstr "關閉"
+#: Pinta.Tools/GradientTool.cs:203
+msgid "Transparency Mode"
+msgstr "透明模式"
 
-#: Pinta.Core/Actions/FileActions.cs:71
-msgid "Save"
-msgstr "儲存"
+#: Pinta.Tools/ShapeTool.cs:99 Pinta.Tools/BaseBrushTool.cs:70
+msgid "Brush width"
+msgstr "筆刷寬度"
 
-#: Pinta.Core/Actions/FileActions.cs:72
-msgid "Save As..."
-msgstr "另存新檔..."
+#: Pinta.Tools/ShapeTool.cs:104 Pinta.Tools/BaseBrushTool.cs:75
+msgid "Decrease brush size"
+msgstr "減小筆刷大小"
 
-#: Pinta.Core/Actions/FileActions.cs:73
-msgid "Print"
-msgstr "列印"
+#: Pinta.Tools/ShapeTool.cs:118 Pinta.Tools/BaseBrushTool.cs:89
+msgid "Increase brush size"
+msgstr "增大筆刷"
 
-#: Pinta.Core/Actions/FileActions.cs:74
-msgid "Quit"
-msgstr "結束"
+#: Pinta.Tools/PaintBrushTool.cs:41 Pinta/MainWindow.cs:393
+msgid "Paintbrush"
+msgstr "畫筆"
 
-#: Pinta.Core/Actions/FileActions.cs:76
-msgid "New"
-msgstr "新增"
+#: Pinta.Tools/PaintBrushTool.cs:63
+msgid "Type"
+msgstr "類型"
 
-#: Pinta.Core/Actions/FileActions.cs:77
-msgid "Open"
-msgstr "開啟"
+#: Pinta.Tools/RecolorTool.cs:59
+msgid "Recolor"
+msgstr "重新著色"
 
-#: Pinta.Core/Actions/FileActions.cs:125
-msgid "Background"
-msgstr "背景"
+#: Pinta.Tools/RecolorTool.cs:61
+msgid "Left click to replace the secondary color with the primary color."
+msgstr "按滑鼠左鍵,用主要顏色取代第二顏色。"
 
-#: Pinta.Core/Actions/FileActions.cs:170
-msgid "Open Image"
-msgstr "開啟圖片"
+#: Pinta.Tools/Brushes/PlainBrush.cs:38
+msgid "Normal"
+msgstr "一般"
 
-#: Pinta.Core/Actions/FileActions.cs:177
-#, csharp-format
-msgid "Could not open file: {0}"
-msgstr "不能開啟檔案:{0}"
+#: Pinta.Tools/Brushes/CircleBrush.cs:38
+msgid "Circles"
+msgstr "圓圈"
 
-#: Pinta.Core/Actions/FileActions.cs:178
-msgid "Error"
-msgstr "錯誤"
+#: Pinta.Tools/Brushes/SquaresBrush.cs:40
+msgid "Squares"
+msgstr "方塊"
 
-#: Pinta.Core/Actions/FileActions.cs:207 Pinta.Core/Actions/FileActions.cs:248
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before opening a new image?"
-msgstr "在開啟新圖片檔前,儲存變更到圖片檔 \"{0}\" 中?"
+#: Pinta.Tools/Brushes/SplatterBrush.cs:38
+msgid "Splatter"
+msgstr "噴灑"
 
-#: Pinta.Core/Actions/FileActions.cs:284
-msgid "Image files"
-msgstr "圖片檔案"
+#: Pinta.Tools/Brushes/GridBrush.cs:38
+msgid "Grid"
+msgstr "網格"
 
-#: Pinta.Core/Actions/FileActions.cs:288
-msgid "All files"
-msgstr "所有檔案"
+#: Pinta.Tools/EllipseTool.cs:38
+msgid "Ellipse"
+msgstr "橢圓形"
 
-#: Pinta.Core/Actions/FileActions.cs:320
-msgid "Save Image File"
-msgstr "儲存圖片檔"
+#: Pinta.Tools/EllipseTool.cs:44
+msgid ""
+"Click and drag to draw an ellipse (right click for secondary color). Hold "
+"shift to constrain to a circle."
+msgstr "按住滑鼠左鍵並拖動畫出一橢圓(若用滑鼠右鍵則使用的是第二顏色)。按住\"Shift\"鍵以限制畫出來的是圓形。"
 
-#: Pinta.Core/Actions/FileActions.cs:345 Pinta.Core/Actions/FileActions.cs:349
-#, csharp-format
-msgid "{0} image ({1})"
-msgstr "{0} 圖片 ({1})"
+#: Pinta.Tools/CloneStampTool.cs:43
+msgid "Clone Stamp"
+msgstr "橡皮圖章"
 
-#: Pinta.Core/Actions/FileActions.cs:365
-msgid "OpenRaster image (*.ora)"
-msgstr "OpenRaster格式的圖片 (*.ora)"
+#: Pinta.Tools/CloneStampTool.cs:48
+msgid "Ctrl-left click to set origin, left click to paint."
+msgstr "按著左邊的 \"ctrl鍵\",然後用滑鼠點選要複製像素的中心點!然後放開鍵盤,按滑鼠左鍵當筆刷塗抹。"
 
-#: Pinta.Core/Actions/FileActions.cs:392
-#, csharp-format
-msgid "Save the changes to image \"{0}\" before closing?"
-msgstr "在關閉之前,儲存變更到圖片檔 \"{0}\" 中?"
+#: Pinta.Tools/ZoomTool.cs:49
+msgid "Zoom"
+msgstr "縮放"
 
-#: Pinta.Core/Actions/FileActions.cs:402
-msgid "Close without saving"
-msgstr "關閉而不儲存"
+#: Pinta.Tools/ZoomTool.cs:55
+msgid ""
+"Left click to zoom in. Right click to zoom out. Click and drag to zoom in "
+"selection."
+msgstr "按滑鼠左鍵以放大,按滑鼠右鍵以縮小。另外,可以用滑鼠左鍵選取一個區域來放大。"
 
-#: Pinta.Core/Actions/ImageActions.cs:58
-#: Pinta.Core/Actions/ImageActions.cs:168
-msgid "Crop to Selection"
-msgstr "剪裁出選取區域"
+#: Pinta.Tools/RoundedRectangleTool.cs:44
+msgid "Rounded Rectangle"
+msgstr "圓角矩形"
 
-#: Pinta.Core/Actions/ImageActions.cs:59
-msgid "Resize..."
-msgstr "縮放圖片..."
+#: Pinta.Tools/RoundedRectangleTool.cs:50
+msgid ""
+"Click and drag to draw a rounded rectangle (right click for secondary "
+"color). Hold shift to constrain."
+msgstr "按住滑鼠左鍵並拖動畫出一圓角矩形(若用滑鼠右鍵則使用的是第二顏色)。按住\"Shift\"鍵以限制畫出來的是正圓角矩形。"
 
-#: Pinta.Core/Actions/ImageActions.cs:60
-msgid "Canvas Size..."
-msgstr "調整畫布尺寸..."
+#: Pinta.Tools/RoundedRectangleTool.cs:83
+msgid "Radius"
+msgstr "半徑"
 
-#: Pinta.Core/Actions/ImageActions.cs:63
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:62
-msgid "Rotate 90° Clockwise"
-msgstr "順時針旋轉90°"
+#: Pinta.Tools/RoundedRectangleTool.cs:88
+msgid "Decrease rectangle's corner radius"
+msgstr "減少矩形的圓角半徑"
 
-#: Pinta.Core/Actions/ImageActions.cs:64
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:66
-msgid "Rotate 90° Counter-Clockwise"
-msgstr "逆時針旋轉90°"
+#: Pinta.Tools/RoundedRectangleTool.cs:102
+msgid "Increase rectangle's corner radius"
+msgstr "增加矩形的圓角半徑"
 
-#: Pinta.Core/Actions/ImageActions.cs:65
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:50
-msgid "Rotate 180°"
-msgstr "旋轉 180°"
+#: Pinta.Tools/ColorPickerTool.cs:44
+msgid "Color Picker"
+msgstr "顏色拾取器"
 
-#: Pinta.Core/Actions/ImageActions.cs:66
-#: Pinta.Core/Actions/ImageActions.cs:121
-msgid "Flatten"
-msgstr "影像平面化"
+#: Pinta.Tools/ColorPickerTool.cs:50
+msgid "Left click to set primary color. Right click to set secondary color."
+msgstr "按滑鼠左鍵設置主要顏色,按滑鼠右鍵設置第二顏色。"
 
-#: Pinta.Core/Actions/EditActions.cs:59
-msgid "Undo"
-msgstr "復原"
+#: Pinta.Tools/ColorPickerTool.cs:62
+msgid "After select"
+msgstr "選色之後"
 
-#: Pinta.Core/Actions/EditActions.cs:60
-msgid "Redo"
-msgstr "取消復原"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Do not switch tool"
+msgstr "不要切換工具"
 
-#: Pinta.Core/Actions/EditActions.cs:61
-msgid "Cut"
-msgstr "剪下"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to previous tool"
+msgstr "切換到上一個工具"
 
-#: Pinta.Core/Actions/EditActions.cs:62
-msgid "Copy"
-msgstr "複製"
+#: Pinta.Tools/ColorPickerTool.cs:68
+msgid "Switch to Pencil tool"
+msgstr "切換到鉛筆工具"
 
-#: Pinta.Core/Actions/EditActions.cs:63 Pinta.Core/Actions/EditActions.cs:233
-msgid "Paste"
-msgstr "貼上"
+#: Pinta.Tools/ColorPickerTool.cs:120 Pinta.Tools/PencilTool.cs:48
+msgid "Pencil"
+msgstr "鉛筆"
 
-#: Pinta.Core/Actions/EditActions.cs:64 Pinta.Core/Actions/EditActions.cs:205
-msgid "Paste Into New Layer"
-msgstr "貼到新圖層"
+#: Pinta.Tools/EraserTool.cs:45
+msgid "Eraser"
+msgstr "橡皮擦"
 
-#: Pinta.Core/Actions/EditActions.cs:65
-msgid "Paste Into New Image"
-msgstr "貼到新圖片"
+#: Pinta.Tools/EraserTool.cs:47
+msgid "Click and drag to erase a portion of the image."
+msgstr "按住並拖動滑鼠以擦掉一部分的圖片顏色。"
 
-#: Pinta.Core/Actions/EditActions.cs:66 Pinta.Core/Actions/EditActions.cs:168
-#: Pinta.Core/Actions/EditActions.cs:276
-msgid "Erase Selection"
-msgstr "刪除選取區域"
+#: Pinta.Tools/PencilTool.cs:50
+msgid ""
+"Left click to draw freeform, one-pixel wide lines with the primary color, "
+"right click to use the secondary color."
+msgstr "按滑鼠左鍵畫出任意形狀,線條寬為1像素而顏色為主要顏色,按滑鼠右鍵使用第二顏色。"
 
-#: Pinta.Core/Actions/EditActions.cs:67 Pinta.Core/Actions/EditActions.cs:137
-msgid "Fill Selection"
-msgstr "填充選取區域"
+#: Pinta.Tools/MoveSelectedTool.cs:42
+msgid "Move Selected Pixels"
+msgstr "移動選取的像素"
 
-#: Pinta.Core/Actions/EditActions.cs:68
-msgid "Invert Selection"
-msgstr "反向選取"
+#: Pinta.Tools/MoveSelectedTool.cs:48
+msgid "Drag the selection to move selected content."
+msgstr "拖動選取區域,以移動選定內容。"
 
-#: Pinta.Core/Actions/EditActions.cs:69 Pinta.Core/Actions/EditActions.cs:144
-msgid "Select All"
-msgstr "全選"
+#: Pinta/DockLibrary/DockItemContainer.cs:90 Pinta/DockLibrary/DockItem.cs:477
+msgid "Hide"
+msgstr "隱藏"
 
-#: Pinta.Core/Actions/EditActions.cs:70 Pinta.Core/Actions/EditActions.cs:175
-msgid "Deselect"
-msgstr "取消選取"
+#: Pinta/DockLibrary/DockItemContainer.cs:190
+msgid "Dock"
+msgstr "停駐"
 
-#: Pinta.Core/Actions/ViewActions.cs:62
-msgid "Zoom In"
-msgstr "放大"
+#: Pinta/DockLibrary/DockItemContainer.cs:194
+#: Pinta/DockLibrary/DockItem.cs:502
+msgid "Auto Hide"
+msgstr "自動隱藏"
 
-#: Pinta.Core/Actions/ViewActions.cs:63
-msgid "Zoom Out"
-msgstr "縮小"
+#: Pinta/DockLibrary/DockItem.cs:485
+msgid "Dockable"
+msgstr "停駐式"
 
-#: Pinta.Core/Actions/ViewActions.cs:64
-msgid "Zoom to Window"
-msgstr "符合視窗大小"
+#: Pinta/DockLibrary/DockItem.cs:493
+msgid "Floating"
+msgstr "浮動式"
 
-#: Pinta.Core/Actions/ViewActions.cs:65
-msgid "Zoom to Selection"
-msgstr "放大成自選區域"
+#: Pinta/Options.cs:486
+msgid "OptionName"
+msgstr "選項名稱"
 
-#: Pinta.Core/Actions/ViewActions.cs:66
-msgid "Actual Size"
-msgstr "實際大小"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:105
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:75
+msgid "By percentage:"
+msgstr "按百分比:"
 
-#: Pinta.Core/Actions/ViewActions.cs:67
-msgid "Pixel Grid"
-msgstr "像素格線"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:146
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:117
+msgid "By absolute size:"
+msgstr "按絕對大小:"
 
-#: Pinta.Core/Actions/ViewActions.cs:68
-msgid "Rulers"
-msgstr "尺規"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:167
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:148
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:138
+msgid "Width:"
+msgstr "寬度:"
 
-#: Pinta.Core/Actions/ViewActions.cs:69 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Pixels"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:189
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:229
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:123
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:135
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:160
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:200
+msgid "pixels"
 msgstr "像素"
 
-#: Pinta.Core/Actions/ViewActions.cs:70 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Inches"
-msgstr "英吋"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:207
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:161
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:178
+msgid "Height:"
+msgstr "高度:"
 
-#: Pinta.Core/Actions/ViewActions.cs:71 Pinta.Core/Actions/ViewActions.cs:75
-msgid "Centimeters"
-msgstr "公分"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:245
+#: Pinta/gtk-gui/Pinta.ResizeImageDialog.cs:216
+msgid "Maintain aspect ratio"
+msgstr "保持長寬比"
 
-#: Pinta.Core/Actions/ViewActions.cs:72
-msgid "Fullscreen"
-msgstr "全螢幕"
+#: Pinta/gtk-gui/Pinta.ResizeCanvasDialog.cs:530
+msgid "Anchor:"
+msgstr "定位點:"
 
-#: Pinta.Core/Actions/ViewActions.cs:190
-#: Pinta.Core/Managers/WorkspaceManager.cs:126
-#: Pinta.Core/Managers/WorkspaceManager.cs:147
-msgid "Window"
-msgstr "視窗"
+#: Pinta/gtk-gui/Pinta.NewImageDialog.cs:58
+msgid "New Image Size          "
+msgstr "新的圖片尺寸          "
 
-#: Pinta.Core/Actions/HelpActions.cs:50
-msgid "Pinta Website"
-msgstr "Pinta 的官方網站"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr "圖層屬性"
 
-#: Pinta.Core/Actions/HelpActions.cs:51
-msgid "File a Bug"
-msgstr "瑕疵報告"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
+msgid "Name:"
+msgstr "名稱:"
 
-#: Pinta.Core/Actions/HelpActions.cs:52
-msgid "Translate This Application"
-msgstr "翻譯本軟體"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:86
+msgid "Visible"
+msgstr "顯示的"
 
-#: Pinta.Core/Effects/BaseEffect.cs:42
-msgid "General"
-msgstr "一般的"
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:109
+msgid "Opacity:"
+msgstr "不透明度:"
 
-#: Pinta.Core/Classes/BaseTool.cs:135
-msgid "Tool"
-msgstr "工具"
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr "..."
 
-#: Pinta.Core/Classes/BaseTool.cs:193
-msgid "Shortcut key"
-msgstr "快速鍵"
+#: Pinta/MainWindow.cs:450
+msgid "_File"
+msgstr "檔案(_F)"
 
-#: Pinta.Core/Classes/BaseTool.cs:217 Pinta.Core/Classes/BaseTool.cs:238
-#: Pinta.Core/Classes/BaseTool.cs:239
-msgid "Antialiasing"
-msgstr "反鋸齒"
+#: Pinta/MainWindow.cs:449
+msgid "_Edit"
+msgstr "編輯(_E)"
 
-#: Pinta.Core/Classes/BaseTool.cs:218
-msgid "Normal blending / Overwrite blending"
-msgstr "正常混合/覆蓋混合"
+#: Pinta/MainWindow.cs:451
+msgid "_View"
+msgstr "檢視(_V)"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:54
-msgid "Flip Image Horizontal"
-msgstr "水平翻轉圖片"
+#: Pinta/MainWindow.cs:454
+msgid "_Image"
+msgstr "圖片(_I)"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:58
-msgid "Flip Image Vertical"
-msgstr "垂直翻轉圖片"
+#: Pinta/MainWindow.cs:455
+msgid "_Layers"
+msgstr "圖層(_L)"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:79
-msgid "Flip Layer Horizontal"
-msgstr "水平翻轉圖層"
+#: Pinta/MainWindow.cs:456
+msgid "_Adjustments"
+msgstr "調整(_A)"
 
-#: Pinta.Core/HistoryItems/InvertHistoryItem.cs:83
-msgid "Flip Layer Vertical"
-msgstr "垂直翻轉圖層"
+#: Pinta/MainWindow.cs:457
+msgid "Effe_cts"
+msgstr "效果(_C)"
 
-#: Pinta.Core/HistoryItems/FinishPixelsHistoryItem.cs:43
-msgid "Finish Pixels"
-msgstr "完成像素"
+#: Pinta/MainWindow.cs:459
+msgid "_Window"
+msgstr "視窗(_W)"
 
-#: Pinta.Core/Managers/LivePreviewManager.cs:220
-msgid "Rendering Effect"
-msgstr "渲染效果"
+#: Pinta/MainWindow.cs:463
+msgid "Tool Windows"
+msgstr "工具視窗"
 
-#: Pinta.Core/Managers/LayerManager.cs:283
-msgid "copy"
-msgstr "複製"
+#: Pinta/MainWindow.cs:467
+msgid "_Help"
+msgstr "說明(_H)"
 
-#: Pinta.Core/Managers/LayerManager.cs:538
-msgid "Layer"
+#: Pinta/MainWindow.cs:549 Pinta/MainWindow.cs:555
+msgid "Tools"
+msgstr "工具"
+
+#: Pinta/MainWindow.cs:578
+msgid "Documents"
+msgstr "文件"
+
+#: Pinta/MainWindow.cs:628 Pinta/MainWindow.cs:639
+msgid "Layers"
 msgstr "圖層"
 
+#: Pinta/MainWindow.cs:647 Pinta/MainWindow.cs:655
+msgid "History"
+msgstr "步驟記錄"
+
+#: Pinta/DialogHandlers.cs:99
+msgid "Take Screenshot"
+msgstr "拍下螢幕截圖"
+
+#: Pinta/DialogHandlers.cs:100
+msgid "Delay before taking a screenshot (seconds):"
+msgstr "在多少秒後,拍下螢幕截圖:"
+
+#: Pinta/DialogHandlers.cs:139
+#, csharp-format
+msgid "Save the changes to image \"{0}\" before closing?"
+msgstr "在關閉之前,儲存變更到圖片檔 \"{0}\" 中?"
+
+#: Pinta/DialogHandlers.cs:140
+msgid "If you don't save, all changes will be permanently lost."
+msgstr "如果不儲存,所有的變更將會永久地遺失。"
+
+#: Pinta/DialogHandlers.cs:147
+msgid "Close without saving"
+msgstr "關閉而不儲存"
+
+#: Pinta/DialogHandlers.cs:174
+msgid "Resize Palette"
+msgstr "調整調色盤大小"
+
+#: Pinta/DialogHandlers.cs:175
+msgid "New palette size:"
+msgstr "新調色盤大小:"
+
+#: Pinta/DialogHandlers.cs:301
+msgid "Layer Opacity"
+msgstr "圖層不透明度"
+
+#: Pinta/DialogHandlers.cs:306
+msgid "Rename Layer"
+msgstr "更改圖層名稱"
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Hide Layer"
+msgstr "隱藏圖層"
+
+#: Pinta/DialogHandlers.cs:311
+msgid "Show Layer"
+msgstr "顯示圖層"
+
+#: Pinta/DialogHandlers.cs:404
+msgid "Image files"
+msgstr "圖片檔案"
+
+#: Pinta/DialogHandlers.cs:461
+msgid "Paste cancelled"
+msgstr "貼上取消"
+
+#: Pinta/DialogHandlers.cs:462
+msgid "The clipboard does not contain an image"
+msgstr "剪貼簿不包含圖片"
+
+#: Pinta/DialogHandlers.cs:495
+msgid "Save Image File"
+msgstr "儲存圖片檔"
+
+#: Pinta/DialogHandlers.cs:575
+msgid "Pinta does not support saving images in this file format."
+msgstr "Pinta 不支援儲存這個檔案格式的圖片"
+
+#: Pinta/DialogHandlers.cs:593
+#, csharp-format
+msgid "A file named \"{0}\" already exists. Do you want to replace it?"
+msgstr "檔名 \"{0}\" 已經存在。 你想取代它嗎?"
+
+#: Pinta/DialogHandlers.cs:594
+#, csharp-format
+msgid ""
+"The file already exists in \"{1}\". Replacing it will overwrite its contents."
+msgstr "檔案已經存在於 \"{1}\"。取代它會覆蓋其內容。"
+
+#: Pinta/Main.cs:68
+msgid "number of threads to use for rendering"
+msgstr "用於渲染的線程數"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:41
+#: Pinta/Dialogs/VersionInformationTabPage.cs:50
+msgid "Version"
+msgstr "版本"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "License"
+msgstr "授權許可"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:50
+msgid "Released under the MIT X11 License."
+msgstr "以 MIT X11 許可證發行"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "Copyright"
+msgstr "版權所有"
+
+#: Pinta/Dialogs/AboutPintaTabPage.cs:57
+msgid "by Pinta contributors"
+msgstr "屬於開發Pinta程式的貢獻者"
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:44
+msgid "Title"
+msgstr "標題"
+
+#: Pinta/Dialogs/VersionInformationTabPage.cs:53
+msgid "Path"
+msgstr "路徑"
+
+#: Pinta/Dialogs/JpegCompressionDialog.cs:38
+msgid "JPEG Quality"
+msgstr "JPEG 品質"
+
+#: Pinta/Dialogs/JpegCompressionDialog.cs:46
+msgid "Quality: "
+msgstr "品質: "
+
+#: Pinta/Dialogs/AboutDialog.cs:101
+msgid "Contributors to this Release"
+msgstr "本軟體的貢獻人員"
+
+#: Pinta/Dialogs/AboutDialog.cs:111
+msgid "Previous Contributors"
+msgstr "過去版本的貢獻人員"
+
+#: Pinta/Dialogs/AboutDialog.cs:120
+msgid "translator-credits"
+msgstr ""
+"Launchpad Contributions:\n"
+"  Eddie https://launchpad.net/~zx4636313\n"
+"  Jonathan Pobst https://launchpad.net/~jpobst\n"
+"  taijuin lee https://launchpad.net/~taijuin"
+
+#: Pinta/Dialogs/AboutDialog.cs:123
+msgid "Translated by:"
+msgstr "翻譯者:"
+
+#: Pinta/Dialogs/AboutDialog.cs:130
+msgid "Based on the work of Paint.NET:"
+msgstr "基於Paint.NET專案:"
+
+#: Pinta/Dialogs/AboutDialog.cs:137
+msgid "Using some icons from:"
+msgstr "由此取用一些圖示:"
+
+#: Pinta/Dialogs/AboutDialog.cs:249
+msgid "About Pinta"
+msgstr "關於 Pinta"
+
+#: Pinta/Dialogs/AboutDialog.cs:267
+msgid "Version Info"
+msgstr "版本信息"
+
 #: BulgeEffect dialog
 #: FrostedGlassEffect dialog
 #: PolarInversionEffect dialog
@@ -1423,6 +1570,9 @@ msgstr "提示:要獲得最佳效果,首先使用選取工具選取每隻眼
 #~ msgid "%"
 #~ msgstr "%"
 
+#~ msgid "Continue without saving"
+#~ msgstr "繼續而不儲存"
+
 #~ msgid "X :"
 #~ msgstr "X:"
 
@@ -1431,3 +1581,29 @@ msgstr "提示:要獲得最佳效果,首先使用選取工具選取每隻眼
 
 #~ msgid "Tip : Right-click to remove control points."
 #~ msgstr "提示:按滑鼠右鍵刪除控制點。"
+
+#~ msgid "Fill mode"
+#~ msgstr "填充模式"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before creating a new one?"
+#~ msgstr "在開啟新檔案前,儲存變更到圖片檔 \"{0}\" 中?"
+
+#, csharp-format
+#~ msgid "Save the changes to image \"{0}\" before opening a new image?"
+#~ msgstr "在開啟新圖片檔前,儲存變更到圖片檔 \"{0}\" 中?"
+
+#~ msgid "OpenRaster image (*.ora)"
+#~ msgstr "OpenRaster格式的圖片 (*.ora)"
+
+#~ msgid "Normal blending / Overwrite blending"
+#~ msgstr "正常混合/覆蓋混合"
+
+#~ msgid "Antialiasing"
+#~ msgstr "反鋸齒"
+
+#~ msgid "X:"
+#~ msgstr "X:"
+
+#~ msgid "Y:"
+#~ msgstr "Y:"
diff --git a/po/messages.pot b/po/messages.pot
index 8ea8d21..1c54383 100644
--- a/po/messages.pot
+++ b/po/messages.pot
@@ -225,8 +225,7 @@ msgid "Move Layer Down"
 msgstr ""
 
 #: Pinta.Core/Actions/LayerActions.cs:74
-#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
-msgid "Layer Properties"
+msgid "Layer Properties..."
 msgstr ""
 
 #: Pinta.Core/Actions/LayerActions.cs:156 Pinta/DialogHandlers.cs:396
@@ -403,6 +402,11 @@ msgstr ""
 msgid "GIMP palette (*.gpl)"
 msgstr ""
 
+#: Pinta.Core/Managers/WorkspaceManager.cs:91
+#, csharp-format
+msgid "Unsaved Image {0}"
+msgstr ""
+
 #: Pinta.Core/Managers/WorkspaceManager.cs:151
 msgid "Background"
 msgstr ""
@@ -721,12 +725,16 @@ msgstr ""
 msgid "label"
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:146
-msgid "X:"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:75
+msgid "Choose Primary Color"
+msgstr ""
+
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:89
+msgid "Choose Secondary Color"
 msgstr ""
 
-#: Pinta.Gui.Widgets/gtk-gui/Pinta.Gui.Widgets.PointPickerWidget.cs:154
-msgid "Y:"
+#: Pinta.Gui.Widgets/Widgets/ColorPaletteWidget.cs:112
+msgid "Choose Palette Color"
 msgstr ""
 
 #: Pinta.Tools/PanTool.cs:38
@@ -1148,6 +1156,10 @@ msgstr ""
 msgid "New Image Size          "
 msgstr ""
 
+#: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:44 Pinta/DialogHandlers.cs:316
+msgid "Layer Properties"
+msgstr ""
+
 #: Pinta/gtk-gui/Pinta.LayerPropertiesDialog.cs:62
 msgid "Name:"
 msgstr ""
@@ -1160,7 +1172,11 @@ msgstr ""
 msgid "Opacity:"
 msgstr ""
 
-#: Pinta/MainWindow.cs:448
+#: Pinta/MainWindow.cs:365 Pinta/MainWindow.cs:381
+msgid "..."
+msgstr ""
+
+#: Pinta/MainWindow.cs:450
 msgid "_File"
 msgstr ""
 
diff --git a/readme.txt b/readme.txt
index ae16f8b..3619cf9 100644
--- a/readme.txt
+++ b/readme.txt
@@ -31,7 +31,7 @@ Linux Build and Installation Instructions:
 Building Pinta requires the follow software:
 mono mono-xbuild automake autoconf libmono-cairo2.0-cil gtk-sharp2
 
-Pinta only supports version 2.4 or higher of Mono. For Ubuntu, this means 10.04 or higher is required.
+Pinta only supports version 2.8 or higher of Mono.
 
 To build Pinta, run:
 ./autogen.sh

-- 
pinta



More information about the Pkg-cli-apps-commits mailing list