summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build.yml11
-rwxr-xr-xbin/build-distribution-archives2
-rwxr-xr-xbin/build-python10
-rw-r--r--inkstitch.py14
-rw-r--r--lib/commands.py52
-rw-r--r--lib/elements/auto_fill.py4
-rw-r--r--lib/elements/element.py72
-rw-r--r--lib/elements/fill.py3
-rw-r--r--lib/extensions/__init__.py9
-rw-r--r--lib/extensions/break_apart.py68
-rw-r--r--lib/extensions/convert_to_satin.py60
-rw-r--r--lib/extensions/import_threadlist.py102
-rw-r--r--lib/extensions/remove_embroidery_settings.py8
-rw-r--r--lib/extensions/stitch_plan_preview.py24
-rw-r--r--lib/extensions/zip.py56
-rwxr-xr-xlib/inx/extensions.py7
-rw-r--r--lib/inx/utils.py17
-rw-r--r--lib/stitches/auto_fill.py62
-rw-r--r--lib/stitches/auto_satin.py29
-rw-r--r--lib/svg/rendering.py8
-rw-r--r--lib/svg/tags.py59
-rw-r--r--lib/svg/units.py7
-rw-r--r--lib/threads/catalog.py36
-rw-r--r--lib/threads/palette.py17
-rw-r--r--requirements.txt1
-rw-r--r--stub.py69
-rw-r--r--templates/auto_satin.inx4
-rw-r--r--templates/break_apart.inx17
-rw-r--r--templates/convert_to_satin.inx4
-rw-r--r--templates/cut_satin.inx4
-rw-r--r--templates/embroider.inx4
-rw-r--r--templates/flip.inx4
-rw-r--r--templates/global_commands.inx4
-rw-r--r--templates/import_threadlist.inx27
-rw-r--r--templates/input.inx4
-rw-r--r--templates/install.inx4
-rw-r--r--templates/layer_commands.inx4
-rw-r--r--templates/lettering.inx4
-rw-r--r--templates/object_commands.inx4
-rw-r--r--templates/output.inx4
-rw-r--r--templates/output_params_txt.xml30
-rw-r--r--templates/params.inx4
-rw-r--r--templates/print.inx4
-rw-r--r--templates/remove_embroidery_settings.inx4
-rw-r--r--templates/simulate.inx4
-rw-r--r--templates/stitch_plan_preview.inx15
-rw-r--r--templates/troubleshoot.inx4
-rw-r--r--templates/zip.inx10
-rw-r--r--translations/messages_af_ZA.po407
-rw-r--r--translations/messages_ar_SA.po407
-rw-r--r--translations/messages_ca_ES.po407
-rw-r--r--translations/messages_cs_CZ.po407
-rw-r--r--translations/messages_da_DK.po407
-rw-r--r--translations/messages_de_DE.po435
-rw-r--r--translations/messages_el_GR.po407
-rw-r--r--translations/messages_en_US.po407
-rw-r--r--translations/messages_es_ES.po433
-rw-r--r--translations/messages_fi_FI.po423
-rw-r--r--translations/messages_fr_FR.po433
-rw-r--r--translations/messages_he_IL.po407
-rw-r--r--translations/messages_hu_HU.po407
-rw-r--r--translations/messages_it_IT.po433
-rw-r--r--translations/messages_ja_JP.po407
-rw-r--r--translations/messages_ko_KR.po407
-rw-r--r--translations/messages_nl_NL.po407
-rw-r--r--translations/messages_no_NO.po407
-rw-r--r--translations/messages_pl_PL.po417
-rw-r--r--translations/messages_pt_BR.po407
-rw-r--r--translations/messages_pt_PT.po407
-rw-r--r--translations/messages_ro_RO.po407
-rw-r--r--translations/messages_ru_RU.po407
-rw-r--r--translations/messages_sr_SP.po407
-rw-r--r--translations/messages_sv_SE.po407
-rw-r--r--translations/messages_tr_TR.po407
-rw-r--r--translations/messages_uk_UA.po419
-rw-r--r--translations/messages_vi_VN.po407
-rw-r--r--translations/messages_zh_CN.po407
-rw-r--r--translations/messages_zh_TW.po407
78 files changed, 7948 insertions, 5380 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index b1541bae..cb3b2109 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -23,6 +23,8 @@ jobs:
# python that doesn't support unicode. See:
# https://github.com/actions/setup-python/issues/23
+ sudo apt-get update
+
sudo apt-get install python2.7
python -m pip install --upgrade pip
@@ -113,6 +115,9 @@ jobs:
- uses: actions/setup-python@v1
with:
python-version: '2.7.x'
+ - uses: actions/setup-node@v1
+ with:
+ node-version: '10.x'
- name: download inkscape
shell: bash
run: |
@@ -123,13 +128,13 @@ jobs:
brew update
# this errors because it installs python3 but python2 is already installed
- brew install gtk+3 pkg-config gobject-introspection libffi || true
+ brew install gtk+3 pkg-config gobject-introspection libffi gettext || true
export LDFLAGS="-L/usr/local/opt/libffi/lib"
export PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig"
# for msgfmt
- brew link gettext --force
+ echo "::add-path::/usr/local/opt/gettext/bin"
echo "::set-env name=GI_TYPELIB_PATH::/usr/local/lib/girepository-1.0/"
@@ -142,7 +147,7 @@ jobs:
rm inkscape-0.92.3.tar.bz2
mv inkscape-0.92.3 inkscape
- echo "::add-path::${{ env.pythonLocation }}\bin"
+ echo "::add-path::${{ env.pythonLocation }}/bin"
- shell: bash
run: |
make dist
diff --git a/bin/build-distribution-archives b/bin/build-distribution-archives
index 825db510..ff2f3e79 100755
--- a/bin/build-distribution-archives
+++ b/bin/build-distribution-archives
@@ -1,6 +1,6 @@
#!/bin/bash
-VERSION="$(echo ${GITHUB_REF} | tr / -)"
+VERSION="$(echo ${GITHUB_REF#refs/heads/} | tr / -)"
OS="${BUILD:-$(uname)}"
ARCH="$(uname -m)"
diff --git a/bin/build-python b/bin/build-python
index 69058593..0dd3e0a0 100755
--- a/bin/build-python
+++ b/bin/build-python
@@ -5,9 +5,11 @@ set -e
site_packages="$(python -c "import os; print(os.path.dirname(os.__file__) + '/site-packages')")"
if [ "$BUILD" = "linux" ]; then
- # pyinstaller misses these two
+ # pyinstaller misses these
pyinstaller_args+="--add-binary /usr/lib/x86_64-linux-gnu/gio/modules/libgiolibproxy.so:. "
pyinstaller_args+="--add-binary /usr/lib/x86_64-linux-gnu/libproxy.so.1:. "
+ pyinstaller_args+="--add-binary /lib/x86_64-linux-gnu/libnsl.so.1:. "
+ pyinstaller_args+="--add-binary /usr/lib/x86_64-linux-gnu/libxcb.so.1:. "
fi
# This one's tricky. ink/stitch doesn't actually _use_ gi.repository.Gtk,
@@ -24,7 +26,7 @@ pyinstaller_args+="--hidden-import wx "
# We need to use the precompiled bootloader linked with graphical Mac OS X
# libraries if we develop a GUI application for Mac:
-if [ "$BUILD" = "osx" ]; then
+if [ "$BUILD" = "osx" -o "$BUILD" = "windows" ]; then
pyinstaller_args+="--windowed "
fi
@@ -55,7 +57,3 @@ mv dist/bin dist/inkstitch
if [ "$BUILD" = "osx" ]; then
rm -rf dist/inkstitch.app/
fi
-
-# Inkscape doesn't let us run native binaries as extensions(?!). Instead we
-# add this stub script which executes the binary that pyinstaller creates.
-cp stub.py dist/inkstitch.py
diff --git a/inkstitch.py b/inkstitch.py
index 840cdc58..ff8f6c30 100644
--- a/inkstitch.py
+++ b/inkstitch.py
@@ -1,14 +1,14 @@
+import logging
import os
import sys
-import logging
import traceback
-from cStringIO import StringIO
from argparse import ArgumentParser
+from cStringIO import StringIO
-from lib import extensions
-from lib.utils import save_stderr, restore_stderr
import lib.debug as debug
-
+from lib import extensions
+from lib.i18n import _
+from lib.utils import restore_stderr, save_stderr
logger = logging.getLogger('shapely.geos')
logger.setLevel(logging.DEBUG)
@@ -53,6 +53,10 @@ else:
print >> sys.stderr, shapely_errors.getvalue()
if exception:
+ print >> sys.stderr, _("Ink/Stitch experienced an unexpected error.")
+ print >> sys.stderr, _("If you'd like to help, please file an issue at "
+ "https://github.com/inkstitch/inkstitch/issues "
+ "and include the entire error description below:"), "\n"
print >> sys.stderr, exception
sys.exit(1)
else:
diff --git a/lib/commands.py b/lib/commands.py
index 908c6e53..b92d79cf 100644
--- a/lib/commands.py
+++ b/lib/commands.py
@@ -1,54 +1,57 @@
-from copy import deepcopy
import os
-from random import random
import sys
+from copy import deepcopy
+from random import random
+
+from shapely import geometry as shgeo
import cubicsuperpath
import inkex
-from shapely import geometry as shgeo
import simpletransform
-from .i18n import _, N_
-from .svg import apply_transforms, get_node_transform, get_correction_transform, get_document, generate_unique_id
-from .svg.tags import SVG_DEFS_TAG, SVG_GROUP_TAG, SVG_PATH_TAG, SVG_USE_TAG, SVG_SYMBOL_TAG, \
- CONNECTION_START, CONNECTION_END, CONNECTOR_TYPE, XLINK_HREF, INKSCAPE_LABEL
-from .utils import cache, get_bundled_dir, Point
-
+from .i18n import N_, _
+from .svg import (apply_transforms, generate_unique_id,
+ get_correction_transform, get_document, get_node_transform)
+from .svg.tags import (CONNECTION_END, CONNECTION_START, CONNECTOR_TYPE,
+ INKSCAPE_LABEL, INKSTITCH_ATTRIBS, SVG_DEFS_TAG,
+ SVG_GROUP_TAG, SVG_PATH_TAG, SVG_SYMBOL_TAG,
+ SVG_USE_TAG, XLINK_HREF)
+from .utils import Point, cache, get_bundled_dir
COMMANDS = {
# L10N command attached to an object
- N_("fill_start"): N_("Fill stitch starting position"),
+ "fill_start": N_("Fill stitch starting position"),
# L10N command attached to an object
- N_("fill_end"): N_("Fill stitch ending position"),
+ "fill_end": N_("Fill stitch ending position"),
# L10N command attached to an object
- N_("satin_start"): N_("Auto-route satin stitch starting position"),
+ "satin_start": N_("Auto-route satin stitch starting position"),
# L10N command attached to an object
- N_("satin_end"): N_("Auto-route satin stitch ending position"),
+ "satin_end": N_("Auto-route satin stitch ending position"),
# L10N command attached to an object
- N_("stop"): N_("Stop (pause machine) after sewing this object"),
+ "stop": N_("Stop (pause machine) after sewing this object"),
# L10N command attached to an object
- N_("trim"): N_("Trim thread after sewing this object"),
+ "trim": N_("Trim thread after sewing this object"),
# L10N command attached to an object
- N_("ignore_object"): N_("Ignore this object (do not stitch)"),
+ "ignore_object": N_("Ignore this object (do not stitch)"),
# L10N command attached to an object
- N_("satin_cut_point"): N_("Satin cut point (use with Cut Satin Column)"),
+ "satin_cut_point": N_("Satin cut point (use with Cut Satin Column)"),
# L10N command that affects a layer
- N_("ignore_layer"): N_("Ignore layer (do not stitch any objects in this layer)"),
+ "ignore_layer": N_("Ignore layer (do not stitch any objects in this layer)"),
# L10N command that affects entire document
- N_("origin"): N_("Origin for exported embroidery files"),
+ "origin": N_("Origin for exported embroidery files"),
# L10N command that affects entire document
- N_("stop_position"): N_("Jump destination for Stop commands (a.k.a. \"Frame Out position\")."),
+ "stop_position": N_("Jump destination for Stop commands (a.k.a. \"Frame Out position\")."),
}
OBJECT_COMMANDS = ["fill_start", "fill_end", "satin_start", "satin_end", "stop", "trim", "ignore_object", "satin_cut_point"]
@@ -346,7 +349,7 @@ def get_command_pos(element, index, total):
def remove_legacy_param(element, command):
if command == "trim" or command == "stop":
# If they had the old "TRIM after" or "STOP after" attributes set,
- # automatically delete them. THe new commands will do the same
+ # automatically delete them. The new commands will do the same
# thing.
#
# If we didn't delete these here, then things would get confusing.
@@ -359,6 +362,13 @@ def remove_legacy_param(element, command):
if attribute in element.node.attrib:
del element.node.attrib[attribute]
+ # Attributes have changed to be namespaced.
+ # Let's check for them as well, they might have automatically changed.
+ attribute = INKSTITCH_ATTRIBS["%s_after" % command]
+
+ if attribute in element.node.attrib:
+ del element.node.attrib[attribute]
+
def add_commands(element, commands):
document = get_document(element.node)
diff --git a/lib/elements/auto_fill.py b/lib/elements/auto_fill.py
index 04da3288..b574c8bf 100644
--- a/lib/elements/auto_fill.py
+++ b/lib/elements/auto_fill.py
@@ -53,9 +53,9 @@ class AutoFill(Fill):
return max(self.get_float_param("running_stitch_length_mm", 1.5), 0.01)
@property
- @param('fill_underlay', _('Underlay'), type='toggle', group=_('AutoFill Underlay'), default=False)
+ @param('fill_underlay', _('Underlay'), type='toggle', group=_('AutoFill Underlay'), default=True)
def fill_underlay(self):
- return self.get_boolean_param("fill_underlay", default=False)
+ return self.get_boolean_param("fill_underlay", default=True)
@property
@param('fill_underlay_angle',
diff --git a/lib/elements/element.py b/lib/elements/element.py
index dd6c9063..83e3978f 100644
--- a/lib/elements/element.py
+++ b/lib/elements/element.py
@@ -1,14 +1,14 @@
-from copy import deepcopy
import sys
+from copy import deepcopy
-from cspsubdiv import cspsubdiv
import cubicsuperpath
-import simplestyle
+import tinycss2
+from cspsubdiv import cspsubdiv
from ..commands import find_commands
from ..i18n import _
from ..svg import PIXELS_PER_MM, apply_transforms, convert_length, get_doc_size
-from ..svg.tags import INKSCAPE_LABEL
+from ..svg.tags import INKSCAPE_LABEL, INKSTITCH_ATTRIBS
from ..utils import cache
@@ -72,6 +72,16 @@ class EmbroideryElement(object):
def __init__(self, node):
self.node = node
+ legacy_attribs = False
+ for attrib in self.node.attrib:
+ if attrib.startswith('embroider_'):
+ # update embroider_ attributes to namespaced attributes
+ self.replace_legacy_param(attrib)
+ legacy_attribs = True
+ if legacy_attribs and not self.get_param('fill_underlay', ""):
+ # defaut setting for fill_underlay has changed
+ self.set_param('fill_underlay', False)
+
@property
def id(self):
return self.node.get('id')
@@ -85,13 +95,16 @@ class EmbroideryElement(object):
# The 'param' attribute is set by the 'param' decorator defined above.
if hasattr(prop.fget, 'param'):
params.append(prop.fget.param)
-
return params
+ def replace_legacy_param(self, param):
+ value = self.node.get(param, "").strip()
+ self.set_param(param[10:], value)
+ del self.node.attrib[param]
+
@cache
def get_param(self, param, default):
- value = self.node.get("embroider_" + param, "").strip()
-
+ value = self.node.get(INKSTITCH_ATTRIBS[param], "").strip()
return value or default
@cache
@@ -131,22 +144,28 @@ class EmbroideryElement(object):
return value
def set_param(self, name, value):
- self.node.set("embroider_%s" % name, str(value))
+ param = INKSTITCH_ATTRIBS[name]
+ self.node.set(param, str(value))
+ @property
@cache
+ def style(self):
+ declarations = tinycss2.parse_declaration_list(self.node.get("style", ""))
+ style = {declaration.lower_name: declaration.value[0].serialize() for declaration in declarations}
+
+ return style
+
def get_style(self, style_name, default=None):
- style = simplestyle.parseStyle(self.node.get("style"))
- if (style_name not in style):
- return default
- value = style[style_name]
- if value == 'none':
- return None
- return value
+ style = self.style.get(style_name)
+ # Style not found, let's see if it is set as a separate attribute
+ if style is None:
+ style = self.node.get(style_name, default)
+ if style == 'none':
+ style = None
+ return style
- @cache
def has_style(self, style_name):
- style = simplestyle.parseStyle(self.node.get("style"))
- return style_name in style
+ return style_name in self.style
@property
@cache
@@ -160,7 +179,7 @@ class EmbroideryElement(object):
@property
@cache
def stroke_width(self):
- width = self.get_style("stroke-width", "1")
+ width = self.get_style("stroke-width", None)
if width is None:
return 1.0
@@ -169,6 +188,17 @@ class EmbroideryElement(object):
return width * self.stroke_scale
@property
+ @param('ties',
+ _('Ties'),
+ tooltip=_('Add ties. Manual stitch will not add ties.'),
+ type='boolean',
+ default=True,
+ sort_index=4)
+ @cache
+ def ties(self):
+ return self.get_boolean_param("ties", True)
+
+ @property
def path(self):
# A CSP is a "cubic superpath".
#
@@ -269,6 +299,10 @@ class EmbroideryElement(object):
patches = self.to_patches(last_patch)
+ if not self.ties:
+ for patch in patches:
+ patch.stitch_as_is = True
+
if patches:
patches[-1].trim_after = self.has_command("trim") or self.trim_after
patches[-1].stop_after = self.has_command("stop") or self.stop_after
diff --git a/lib/elements/fill.py b/lib/elements/fill.py
index 7157cc46..a5b8bfc3 100644
--- a/lib/elements/fill.py
+++ b/lib/elements/fill.py
@@ -19,8 +19,7 @@ class UnconnectedError(ValidationError):
"Ink/Stitch doesn't know what order to stitch them in. Please break this "
"object up into separate shapes.")
steps_to_solve = [
- _('* Path > Break apart (Shift+Ctrl+K)'),
- _('* (Optional) Recombine shapes with holes (Ctrl+K).')
+ _('* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes.')
]
diff --git a/lib/extensions/__init__.py b/lib/extensions/__init__.py
index 38276a64..6f9ef5c4 100644
--- a/lib/extensions/__init__.py
+++ b/lib/extensions/__init__.py
@@ -1,9 +1,11 @@
from auto_satin import AutoSatin
+from break_apart import BreakApart
from convert_to_satin import ConvertToSatin
from cut_satin import CutSatin
from embroider import Embroider
from flip import Flip
from global_commands import GlobalCommands
+from import_threadlist import ImportThreadlist
from input import Input
from install import Install
from layer_commands import LayerCommands
@@ -15,10 +17,11 @@ from params import Params
from print_pdf import Print
from remove_embroidery_settings import RemoveEmbroiderySettings
from simulate import Simulate
+from stitch_plan_preview import StitchPlanPreview
from zip import Zip
-
__all__ = extensions = [Embroider,
+ StitchPlanPreview,
Install,
Params,
Print,
@@ -35,4 +38,6 @@ __all__ = extensions = [Embroider,
AutoSatin,
Lettering,
Troubleshoot,
- RemoveEmbroiderySettings]
+ RemoveEmbroiderySettings,
+ BreakApart,
+ ImportThreadlist]
diff --git a/lib/extensions/break_apart.py b/lib/extensions/break_apart.py
new file mode 100644
index 00000000..625ace55
--- /dev/null
+++ b/lib/extensions/break_apart.py
@@ -0,0 +1,68 @@
+from copy import deepcopy
+
+from shapely.geometry import Polygon
+
+import inkex
+
+from ..elements import AutoFill, Fill
+from ..i18n import _
+from ..svg import get_correction_transform
+from .base import InkstitchExtension
+
+
+class BreakApart(InkstitchExtension):
+ def effect(self): # noqa: C901
+ if not self.get_elements():
+ return
+
+ if not self.selected:
+ inkex.errormsg(_("Please select one or more fill areas to break apart."))
+ return
+
+ for element in self.elements:
+ if not isinstance(element, AutoFill) and not isinstance(element, Fill):
+ continue
+ if len(element.paths) <= 1:
+ continue
+
+ polygons = []
+ multipolygons = []
+ holes = []
+
+ for path in element.paths:
+ polygons.append(Polygon(path))
+
+ # sort paths by size and convert to polygons
+ polygons.sort(key=lambda polygon: polygon.area, reverse=True)
+
+ for shape in polygons:
+ if shape in holes:
+ continue
+ polygon_list = [shape]
+
+ for other in polygons:
+ if shape != other and shape.contains(other) and other not in holes:
+ # check if "other" is inside a hole, before we add it to the list
+ if any(p.contains(other) for p in polygon_list[1:]):
+ continue
+ polygon_list.append(other)
+ holes.append(other)
+ multipolygons.append(polygon_list)
+ self.element_to_nodes(multipolygons, element)
+
+ def element_to_nodes(self, multipolygons, element):
+ for polygons in multipolygons:
+ el = deepcopy(element)
+ d = ""
+ for polygon in polygons:
+ # copy element and replace path
+ el.node.set('id', self.uniqueId(element.node.get('id') + "_"))
+ d += "M"
+ for x, y in polygon.exterior.coords:
+ d += "%s,%s " % (x, y)
+ d += " "
+ d += "Z"
+ el.node.set('d', d)
+ el.node.set('transform', get_correction_transform(element.node))
+ element.node.getparent().insert(0, el.node)
+ element.node.getparent().remove(element.node)
diff --git a/lib/extensions/convert_to_satin.py b/lib/extensions/convert_to_satin.py
index 1227b207..e2b287dd 100644
--- a/lib/extensions/convert_to_satin.py
+++ b/lib/extensions/convert_to_satin.py
@@ -1,16 +1,16 @@
-from copy import deepcopy
-from itertools import chain, groupby
import math
+from itertools import chain, groupby
-import inkex
-from numpy import diff, sign, setdiff1d
import numpy
+from numpy import diff, setdiff1d, sign
from shapely import geometry as shgeo
+import inkex
+
from ..elements import Stroke
from ..i18n import _
-from ..svg import get_correction_transform, PIXELS_PER_MM
-from ..svg.tags import SVG_PATH_TAG
+from ..svg import PIXELS_PER_MM, get_correction_transform
+from ..svg.tags import INKSTITCH_ATTRIBS, SVG_PATH_TAG
from ..utils import Point
from .base import InkstitchExtension
@@ -49,23 +49,31 @@ class ConvertToSatin(InkstitchExtension):
# ignore paths with just one point -- they're not visible to the user anyway
continue
- self.fix_loop(path)
+ for satin in self.convert_path_to_satins(path, element.stroke_width, style_args, correction_transform, path_style):
+ parent.insert(index, satin)
+ index += 1
- try:
- rails, rungs = self.path_to_satin(path, element.stroke_width, style_args)
- except SelfIntersectionError:
- inkex.errormsg(
- _("Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths.") %
- element.node.get('id'))
+ parent.remove(element.node)
- # revert any changes we've made
- self.document = deepcopy(self.original_document)
+ def convert_path_to_satins(self, path, stroke_width, style_args, correction_transform, path_style, depth=0):
+ try:
+ rails, rungs = self.path_to_satin(path, stroke_width, style_args)
+ yield self.satin_to_svg_node(rails, rungs, correction_transform, path_style)
+ except SelfIntersectionError:
+ # The path intersects itself. Split it in two and try doing the halves
+ # individually.
- return
+ if depth >= 20:
+ # At this point we're slicing the path way too small and still
+ # getting nowhere. Just give up on this section of the path.
+ return
- parent.insert(index, self.satin_to_svg_node(rails, rungs, correction_transform, path_style))
+ half = int(len(path) / 2.0)
+ halves = [path[:half + 1], path[half:]]
- parent.remove(element.node)
+ for path in halves:
+ for satin in self.convert_path_to_satins(path, stroke_width, style_args, correction_transform, path_style, depth=depth + 1):
+ yield satin
def fix_loop(self, path):
if path[0] == path[-1]:
@@ -107,13 +115,16 @@ class ConvertToSatin(InkstitchExtension):
return args
def path_to_satin(self, path, stroke_width, style_args):
+ if Point(*path[0]).distance(Point(*path[-1])) < 1:
+ raise SelfIntersectionError()
+
path = shgeo.LineString(path)
left_rail = path.parallel_offset(stroke_width / 2.0, 'left', **style_args)
right_rail = path.parallel_offset(stroke_width / 2.0, 'right', **style_args)
if not isinstance(left_rail, shgeo.LineString) or \
- not isinstance(right_rail, shgeo.LineString):
+ not isinstance(right_rail, shgeo.LineString):
# If the parallel offsets come out as anything but a LineString, that means the
# path intersects itself, when taking its stroke width into consideration. See
# the last example for parallel_offset() in the Shapely documentation:
@@ -159,6 +170,13 @@ class ConvertToSatin(InkstitchExtension):
# The dot product of two vectors is |v1| * |v2| * cos(angle).
# These are unit vectors, so their magnitudes are 1.
cos_angle_between = prev_direction * direction
+
+ # Clamp to the valid range for a cosine. The above _should_
+ # already be in this range, but floating point inaccuracy can
+ # push it outside the range causing math.acos to throw
+ # ValueError ("math domain error").
+ cos_angle_between = max(-1.0, min(1.0, cos_angle_between))
+
angle = abs(math.degrees(math.acos(cos_angle_between)))
# Use the square of the angle, measured in degrees.
@@ -248,7 +266,7 @@ class ConvertToSatin(InkstitchExtension):
# arbitrarily rejects the rung if there was one less than 2
# millimeters before this one.
if last_rung_center is not None and \
- (rung_center - last_rung_center).length() < 2 * PIXELS_PER_MM:
+ (rung_center - last_rung_center).length() < 2 * PIXELS_PER_MM:
continue
else:
last_rung_center = rung_center
@@ -292,6 +310,6 @@ class ConvertToSatin(InkstitchExtension):
"style": path_style,
"transform": correction_transform,
"d": d,
- "embroider_satin_column": "true",
+ INKSTITCH_ATTRIBS['satin_column']: "true",
}
)
diff --git a/lib/extensions/import_threadlist.py b/lib/extensions/import_threadlist.py
new file mode 100644
index 00000000..d31c0d69
--- /dev/null
+++ b/lib/extensions/import_threadlist.py
@@ -0,0 +1,102 @@
+import os
+import re
+import sys
+
+import inkex
+
+from ..i18n import _
+from ..threads import ThreadCatalog
+from .base import InkstitchExtension
+
+
+class ImportThreadlist(InkstitchExtension):
+ def __init__(self, *args, **kwargs):
+ InkstitchExtension.__init__(self, *args, **kwargs)
+ self.OptionParser.add_option("-f", "--filepath", type="str", default="", dest="filepath")
+ self.OptionParser.add_option("-m", "--method", type="int", default=1, dest="method")
+ self.OptionParser.add_option("-t", "--palette", type="str", default=None, dest="palette")
+
+ def effect(self):
+ # Remove selection, we want all the elements in the document
+ self.selected = {}
+
+ if not self.get_elements():
+ return
+
+ path = self.options.filepath
+ if not os.path.exists(path):
+ print >> sys.stderr, _("File not found.")
+ sys.exit(1)
+
+ method = self.options.method
+ if method == 1:
+ colors = self.parse_inkstitch_threadlist(path)
+ else:
+ colors = self.parse_threadlist_by_catalog_number(path)
+
+ if all(c is None for c in colors):
+ print >>sys.stderr, _("Couldn't find any matching colors in the file.")
+ if method == 1:
+ print >>sys.stderr, _('Please try to import as "other threadlist" and specify a color palette below.')
+ else:
+ print >>sys.stderr, _("Please chose an other color palette for your design.")
+ sys.exit(1)
+
+ # Iterate through the color blocks to apply colors
+ element_color = ""
+ i = -1
+ for element in self.elements:
+ if element.color != element_color:
+ element_color = element.color
+ i += 1
+
+ # No more colors in the list, stop here
+ if i == len(colors):
+ break
+
+ style = element.node.get('style').replace("%s" % element_color, "%s" % colors[i])
+ element.node.set('style', style)
+
+ def parse_inkstitch_threadlist(self, path):
+ colors = []
+ with open(path) as threadlist:
+ for line in threadlist:
+ if line[0].isdigit():
+ m = re.search(r"\((#[0-9A-Fa-f]{6})\)", line)
+ if m:
+ colors.append(m.group(1))
+ else:
+ # Color not found
+ colors.append(None)
+ return colors
+
+ def parse_threadlist_by_catalog_number(self, path):
+ palette_name = self.options.palette
+ palette = ThreadCatalog().get_palette_by_name(palette_name)
+
+ colors = []
+ palette_numbers = []
+ palette_colors = []
+
+ for color in palette:
+ palette_numbers.append(color.number)
+ palette_colors.append('#%s' % color.hex_digits.lower())
+ with open(path) as threadlist:
+ for line in threadlist:
+ if line[0].isdigit():
+ # some threadlists may add a # in front of the catalof number
+ # let's remove it from the entire string before splitting it up
+ thread = line.replace('#', '').split()
+ catalog_number = set(thread[1:]).intersection(palette_numbers)
+ if catalog_number:
+ color_index = palette_numbers.index(next(iter(catalog_number)))
+ colors.append(palette_colors[color_index])
+ else:
+ # No color found
+ colors.append(None)
+ return colors
+
+ def find_elements(self, xpath):
+ svg = self.document.getroot()
+ elements = svg.xpath(xpath, namespaces=inkex.NSS)
+ return elements
diff --git a/lib/extensions/remove_embroidery_settings.py b/lib/extensions/remove_embroidery_settings.py
index d87a216a..d39c7e94 100644
--- a/lib/extensions/remove_embroidery_settings.py
+++ b/lib/extensions/remove_embroidery_settings.py
@@ -30,11 +30,11 @@ class RemoveEmbroiderySettings(InkstitchExtension):
if not self.selected:
xpath = ".//svg:path"
elements = self.find_elements(xpath)
- self.remove_embroider_attributes(elements)
+ self.remove_inkstitch_attributes(elements)
else:
for node in self.selected:
elements = self.get_selected_elements(node)
- self.remove_embroider_attributes(elements)
+ self.remove_inkstitch_attributes(elements)
def remove_commands(self):
if not self.selected:
@@ -83,8 +83,8 @@ class RemoveEmbroiderySettings(InkstitchExtension):
def remove_element(self, element):
element.getparent().remove(element)
- def remove_embroider_attributes(self, elements):
+ def remove_inkstitch_attributes(self, elements):
for element in elements:
for attrib in element.attrib:
- if attrib.startswith('embroider_'):
+ if attrib.startswith(inkex.NSS['inkstitch'], 1):
del element.attrib[attrib]
diff --git a/lib/extensions/stitch_plan_preview.py b/lib/extensions/stitch_plan_preview.py
new file mode 100644
index 00000000..b89e24a7
--- /dev/null
+++ b/lib/extensions/stitch_plan_preview.py
@@ -0,0 +1,24 @@
+from ..stitch_plan import patches_to_stitch_plan
+from ..svg import render_stitch_plan
+from .base import InkstitchExtension
+
+
+class StitchPlanPreview(InkstitchExtension):
+
+ def effect(self):
+ # delete old stitch plan
+ svg = self.document.getroot()
+ layer = svg.find(".//*[@id='__inkstitch_stitch_plan__']")
+ if layer is not None:
+ del layer[:]
+
+ # create new stitch plan
+ if not self.get_elements():
+ return
+ patches = self.elements_to_patches(self.elements)
+ stitch_plan = patches_to_stitch_plan(patches)
+ render_stitch_plan(svg, stitch_plan)
+
+ # translate stitch plan to the right side of the canvas
+ layer = svg.find(".//*[@id='__inkstitch_stitch_plan__']")
+ layer.set('transform', 'translate(%s)' % svg.get('viewBox', '0 0 800 0').split(' ')[2])
diff --git a/lib/extensions/zip.py b/lib/extensions/zip.py
index 2376f79a..aebff331 100644
--- a/lib/extensions/zip.py
+++ b/lib/extensions/zip.py
@@ -1,14 +1,17 @@
-import sys
import os
+import sys
import tempfile
from zipfile import ZipFile
+
+import inkex
import pyembroidery
-from .base import InkstitchExtension
from ..i18n import _
from ..output import write_embroidery_file
from ..stitch_plan import patches_to_stitch_plan
from ..svg import PIXELS_PER_MM
+from .base import InkstitchExtension
+from ..threads import ThreadCatalog
class Zip(InkstitchExtension):
@@ -26,6 +29,10 @@ class Zip(InkstitchExtension):
extension = format['extension']
self.OptionParser.add_option('--format-%s' % extension, type="inkbool", dest=extension)
self.formats.append(extension)
+ self.OptionParser.add_option('--format-svg', type="inkbool", dest='svg')
+ self.OptionParser.add_option('--format-threadlist', type="inkbool", dest='threadlist')
+ self.formats.append('svg')
+ self.formats.append('threadlist')
def effect(self):
if not self.get_elements():
@@ -42,7 +49,17 @@ class Zip(InkstitchExtension):
for format in self.formats:
if getattr(self.options, format):
output_file = os.path.join(path, "%s.%s" % (base_file_name, format))
- write_embroidery_file(output_file, stitch_plan, self.document.getroot())
+ if format == 'svg':
+ output = open(output_file, 'w')
+ output.write(inkex.etree.tostring(self.document.getroot()))
+ output.close()
+ if format == 'threadlist':
+ output_file = os.path.join(path, "%s_%s.txt" % (base_file_name, _("threadlist")))
+ output = open(output_file, 'w')
+ output.write(self.get_threadlist(stitch_plan, base_file_name))
+ output.close()
+ else:
+ write_embroidery_file(output_file, stitch_plan, self.document.getroot())
files.append(output_file)
if not files:
@@ -69,3 +86,36 @@ class Zip(InkstitchExtension):
# don't let inkex output the SVG!
sys.exit(0)
+
+ def get_threadlist(self, stitch_plan, design_name):
+ ThreadCatalog().match_and_apply_palette(stitch_plan, self.get_inkstitch_metadata()['thread-palette'])
+ thread_used = []
+
+ thread_output = "%s\n" % _("Design Details")
+ thread_output += "==============\n\n"
+
+ thread_output += "%s: %s\n" % (_("Title"), design_name)
+ thread_output += "%s (mm): %.2f x %.2f\n" % (_("Size"), stitch_plan.dimensions_mm[0], stitch_plan.dimensions_mm[1])
+ thread_output += "%s: %s\n" % (_("Stitches"), stitch_plan.num_stitches)
+ thread_output += "%s: %s\n\n" % (_("Colors"), stitch_plan.num_colors)
+
+ thread_output += "%s\n" % _("Thread Order")
+ thread_output += "============\n\n"
+
+ for i, color_block in enumerate(stitch_plan):
+ thread = color_block.color
+
+ thread_output += str(i + 1) + " "
+ string = "%s #%s - %s (#%s)" % (thread.name, thread.number, thread.manufacturer, thread.hex_digits.lower())
+ thread_output += string + "\n"
+
+ thread_used.append(string)
+
+ thread_output += "\n"
+ thread_output += _("Thread Used") + "\n"
+ thread_output += "============" + "\n\n"
+
+ for thread in set(thread_used):
+ thread_output += thread + "\n"
+
+ return "%s" % thread_output
diff --git a/lib/inx/extensions.py b/lib/inx/extensions.py
index d1a0c7f3..030e8aa6 100755
--- a/lib/inx/extensions.py
+++ b/lib/inx/extensions.py
@@ -4,6 +4,7 @@ from .utils import build_environment, write_inx_file
from .outputs import pyembroidery_output_formats
from ..extensions import extensions, Input, Output
from ..commands import LAYER_COMMANDS, OBJECT_COMMANDS, GLOBAL_COMMANDS, COMMANDS
+from ..threads import ThreadCatalog
def layer_commands():
@@ -27,6 +28,11 @@ def pyembroidery_debug_formats():
yield format['extension'], format['description']
+def threadcatalog():
+ threadcatalog = ThreadCatalog().palette_names()
+ return threadcatalog
+
+
def generate_extension_inx_files():
env = build_environment()
@@ -38,6 +44,7 @@ def generate_extension_inx_files():
template = env.get_template('%s.inx' % name)
write_inx_file(name, template.render(formats=pyembroidery_output_formats(),
debug_formats=pyembroidery_debug_formats(),
+ threadcatalog=threadcatalog(),
layer_commands=layer_commands(),
object_commands=object_commands(),
global_commands=global_commands()))
diff --git a/lib/inx/utils.py b/lib/inx/utils.py
index 1dc96829..a7c98a60 100644
--- a/lib/inx/utils.py
+++ b/lib/inx/utils.py
@@ -1,11 +1,12 @@
import errno
-import os
import gettext
+import os
+import sys
from os.path import dirname
-from jinja2 import Environment, FileSystemLoader
-from ..i18n import translation as default_translation, locale_dir, N_
+from jinja2 import Environment, FileSystemLoader
+from ..i18n import N_, locale_dir, translation as default_translation
_top_path = dirname(dirname(dirname(os.path.realpath(__file__))))
inx_path = os.path.join(_top_path, "inx")
@@ -25,6 +26,16 @@ def build_environment():
env.install_gettext_translations(current_translation)
env.globals["locale"] = current_locale
+ if "BUILD" in os.environ:
+ # building a ZIP release, with inkstitch packaged as a binary
+ if sys.platform == "win32":
+ env.globals["command_tag"] = '<command reldir="extensions">inkstitch/bin/inkstitch.exe</command>'
+ else:
+ env.globals["command_tag"] = '<command reldir="extensions">inkstitch/bin/inkstitch</command>'
+ else:
+ # user is running inkstitch.py directly as a developer
+ env.globals["command_tag"] = '<command reldir="extensions" interpreter="python">inkstitch.py</command>'
+
return env
diff --git a/lib/stitches/auto_fill.py b/lib/stitches/auto_fill.py
index 5833b779..dbbef136 100644
--- a/lib/stitches/auto_fill.py
+++ b/lib/stitches/auto_fill.py
@@ -1,18 +1,18 @@
# -*- coding: UTF-8 -*-
-from itertools import groupby, chain
import math
+from itertools import chain, groupby
import networkx
from shapely import geometry as shgeo
from shapely.ops import snap
from shapely.strtree import STRtree
+from .fill import intersect_region_with_grating, stitch_row
+from .running_stitch import running_stitch
from ..debug import debug
from ..svg import PIXELS_PER_MM
from ..utils.geometry import Point as InkstitchPoint, line_string_to_point_list
-from .fill import intersect_region_with_grating, stitch_row
-from .running_stitch import running_stitch
class PathEdge(object):
@@ -52,8 +52,7 @@ def auto_fill(shape,
starting_point,
ending_point=None,
underpath=True):
-
- fill_stitch_graph = build_fill_stitch_graph(shape, angle, row_spacing, end_row_spacing)
+ fill_stitch_graph = build_fill_stitch_graph(shape, angle, row_spacing, end_row_spacing, starting_point, ending_point)
if not graph_is_valid(fill_stitch_graph, shape, max_stitch_length):
return fallback(shape, running_stitch_length)
@@ -95,7 +94,7 @@ def project(shape, coords, outline_index):
@debug.time
-def build_fill_stitch_graph(shape, angle, row_spacing, end_row_spacing):
+def build_fill_stitch_graph(shape, angle, row_spacing, end_row_spacing, starting_point=None, ending_point=None):
"""build a graph representation of the grating segments
This function builds a specialized graph (as in graph theory) that will
@@ -146,11 +145,39 @@ def build_fill_stitch_graph(shape, angle, row_spacing, end_row_spacing):
tag_nodes_with_outline_and_projection(graph, shape, graph.nodes())
add_edges_between_outline_nodes(graph, duplicate_every_other=True)
+ if starting_point:
+ insert_node(graph, shape, starting_point)
+
+ if ending_point:
+ insert_node(graph, shape, ending_point)
+
debug.log_graph(graph, "graph")
return graph
+def insert_node(graph, shape, point):
+ """Add node to graph, splitting one of the outline edges"""
+
+ point = tuple(point)
+ outline = which_outline(shape, point)
+ projection = project(shape, point, outline)
+ projected_point = list(shape.boundary)[outline].interpolate(projection)
+ node = (projected_point.x, projected_point.y)
+
+ edges = []
+ for start, end, key, data in graph.edges(keys=True, data=True):
+ if key == "outline":
+ edges.append(((start, end), data))
+
+ edge, data = min(edges, key=lambda (edge, data): shgeo.LineString(edge).distance(projected_point))
+
+ graph.remove_edge(*edge, key="outline")
+ graph.add_edge(edge[0], node, key="outline", **data)
+ graph.add_edge(node, edge[1], key="outline", **data)
+ tag_nodes_with_outline_and_projection(graph, shape, nodes=[node])
+
+
def tag_nodes_with_outline_and_projection(graph, shape, nodes):
for node in nodes:
outline_index = which_outline(shape, node)
@@ -159,6 +186,27 @@ def tag_nodes_with_outline_and_projection(graph, shape, nodes):
graph.add_node(node, outline=outline_index, projection=outline_projection)
+def add_boundary_travel_nodes(graph, shape):
+ for outline_index, outline in enumerate(shape.boundary):
+ prev = None
+ for point in outline.coords:
+ point = shgeo.Point(point)
+ if prev is not None:
+ # Subdivide long straight line segments. Otherwise we may not
+ # have a node near the user's chosen starting or ending point
+ length = point.distance(prev)
+ segment = shgeo.LineString((prev, point))
+ if length > 1:
+ # Just plot a point every pixel, that should be plenty of
+ # resolution. A pixel is around a quarter of a millimeter.
+ for i in xrange(1, int(length)):
+ subpoint = segment.interpolate(i)
+ graph.add_node((subpoint.x, subpoint.y), projection=outline.project(subpoint), outline=outline_index)
+
+ graph.add_node((point.x, point.y), projection=outline.project(point), outline=outline_index)
+ prev = point
+
+
def add_edges_between_outline_nodes(graph, duplicate_every_other=False):
"""Add edges around the outlines of the graph, connecting sequential nodes.
@@ -240,6 +288,8 @@ def build_travel_graph(fill_stitch_graph, shape, fill_stitch_angle, underpath):
# This will ensure that a path traveling inside the shape can reach its
# target on the outline, which will be one of the points added above.
tag_nodes_with_outline_and_projection(graph, shape, boundary_points)
+ else:
+ add_boundary_travel_nodes(graph, shape)
add_edges_between_outline_nodes(graph)
diff --git a/lib/stitches/auto_satin.py b/lib/stitches/auto_satin.py
index 4ce356ce..9edff53c 100644
--- a/lib/stitches/auto_satin.py
+++ b/lib/stitches/auto_satin.py
@@ -1,20 +1,23 @@
-from itertools import chain, izip
import math
+from itertools import chain, izip
-import cubicsuperpath
-import inkex
+import networkx as nx
from shapely import geometry as shgeo
from shapely.geometry import Point as ShapelyPoint
-import simplestyle
-import networkx as nx
+import cubicsuperpath
+import inkex
+import simplestyle
from ..commands import add_commands
-from ..elements import Stroke, SatinColumn
+from ..elements import SatinColumn, Stroke
from ..i18n import _
-from ..svg import PIXELS_PER_MM, line_strings_to_csp, get_correction_transform, generate_unique_id
-from ..svg.tags import SVG_PATH_TAG, SVG_GROUP_TAG, INKSCAPE_LABEL
-from ..utils import Point as InkstitchPoint, cut, cache
+from ..svg import (PIXELS_PER_MM, generate_unique_id, get_correction_transform,
+ line_strings_to_csp)
+from ..svg.tags import (INKSCAPE_LABEL, INKSTITCH_ATTRIBS, SVG_GROUP_TAG,
+ SVG_PATH_TAG)
+from ..utils import Point as InkstitchPoint
+from ..utils import cache, cut
class SatinSegment(object):
@@ -209,9 +212,9 @@ class RunningStitch(object):
self.original_element = original_element
self.style = original_element.node.get('style', '')
self.running_stitch_length = \
- original_element.node.get('embroider_running_stitch_length_mm', '') or \
- original_element.node.get('embroider_center_walk_underlay_stitch_length_mm', '') or \
- original_element.node.get('embroider_contour_underlay_stitch_length_mm', '')
+ original_element.node.get(INKSTITCH_ATTRIBS['running_stitch_length_mm'], '') or \
+ original_element.node.get(INKSTITCH_ATTRIBS['center_walk_underlay_stitch_length_mm'], '') or \
+ original_element.node.get(INKSTITCH_ATTRIBS['contour_underlay_stitch_length_mm'], '')
def to_element(self):
node = inkex.etree.Element(SVG_PATH_TAG)
@@ -222,7 +225,7 @@ class RunningStitch(object):
style['stroke-dasharray'] = "0.5,0.5"
style = simplestyle.formatStyle(style)
node.set("style", style)
- node.set("embroider_running_stitch_length_mm", self.running_stitch_length)
+ node.set(INKSTITCH_ATTRIBS['running_stitch_length_mm'], self.running_stitch_length)
stroke = Stroke(node)
diff --git a/lib/svg/rendering.py b/lib/svg/rendering.py
index 2711f12a..5860ceef 100644
--- a/lib/svg/rendering.py
+++ b/lib/svg/rendering.py
@@ -5,10 +5,11 @@ import simplepath
import simplestyle
import simpletransform
-from .tags import INKSCAPE_GROUPMODE, INKSCAPE_LABEL, SVG_DEFS_TAG, SVG_GROUP_TAG, SVG_PATH_TAG
-from .units import PIXELS_PER_MM, get_viewbox_transform
from ..i18n import _
from ..utils import Point, cache
+from .tags import (INKSCAPE_GROUPMODE, INKSCAPE_LABEL, INKSTITCH_ATTRIBS,
+ SVG_DEFS_TAG, SVG_GROUP_TAG, SVG_PATH_TAG)
+from .units import PIXELS_PER_MM, get_viewbox_transform
# The stitch vector path looks like this:
# _______
@@ -198,6 +199,7 @@ def color_block_to_paths(color_block, svg, destination, visual_commands):
add_commands(Stroke(destination[-1]), ["trim"])
color = color_block.color.visible_on_white.to_hex_str()
+
path = inkex.etree.Element(SVG_PATH_TAG, {
'style': simplestyle.formatStyle({
'stroke': color,
@@ -206,7 +208,7 @@ def color_block_to_paths(color_block, svg, destination, visual_commands):
}),
'd': "M" + " ".join(" ".join(str(coord) for coord in point) for point in point_list),
'transform': get_correction_transform(svg),
- 'embroider_manual_stitch': 'true'
+ INKSTITCH_ATTRIBS['manual_stitch']: 'true'
})
destination.append(path)
diff --git a/lib/svg/tags.py b/lib/svg/tags.py
index 55af113a..3e444513 100644
--- a/lib/svg/tags.py
+++ b/lib/svg/tags.py
@@ -1,5 +1,6 @@
import inkex
+
# This is used below and added to the document in ../extensions/base.py.
inkex.NSS['inkstitch'] = 'http://inkstitch.org/namespace'
@@ -13,15 +14,71 @@ SVG_GROUP_TAG = inkex.addNS('g', 'svg')
SVG_SYMBOL_TAG = inkex.addNS('symbol', 'svg')
SVG_USE_TAG = inkex.addNS('use', 'svg')
+EMBROIDERABLE_TAGS = (SVG_PATH_TAG, SVG_POLYLINE_TAG)
+
INKSCAPE_LABEL = inkex.addNS('label', 'inkscape')
INKSCAPE_GROUPMODE = inkex.addNS('groupmode', 'inkscape')
CONNECTION_START = inkex.addNS('connection-start', 'inkscape')
CONNECTION_END = inkex.addNS('connection-end', 'inkscape')
CONNECTOR_TYPE = inkex.addNS('connector-type', 'inkscape')
+
XLINK_HREF = inkex.addNS('href', 'xlink')
+
SODIPODI_NAMEDVIEW = inkex.addNS('namedview', 'sodipodi')
SODIPODI_GUIDE = inkex.addNS('guide', 'sodipodi')
SODIPODI_ROLE = inkex.addNS('role', 'sodipodi')
+
INKSTITCH_LETTERING = inkex.addNS('lettering', 'inkstitch')
-EMBROIDERABLE_TAGS = (SVG_PATH_TAG, SVG_POLYLINE_TAG)
+INKSTITCH_ATTRIBS = {}
+# Fill
+inkstitch_attribs = [
+ 'ties',
+ 'trim_after',
+ 'stop_after',
+ # fill
+ 'angle',
+ 'auto_fill',
+ 'expand_mm',
+ 'fill_underlay',
+ 'fill_underlay_angle',
+ 'fill_underlay_inset_mm',
+ 'fill_underlay_max_stitch_length_mm',
+ 'fill_underlay_row_spacing_mm',
+ 'fill_underlay_skip_last',
+ 'max_stitch_length_mm',
+ 'row_spacing_mm',
+ 'end_row_spacing_mm',
+ 'skip_last',
+ 'staggers',
+ 'underlay_underpath',
+ 'underpath',
+ 'flip',
+ 'expand_mm',
+ # stroke
+ 'manual_stitch',
+ 'bean_stitch_repeats',
+ 'repeats',
+ 'running_stitch_length_mm',
+ # satin column
+ 'satin_column',
+ 'satin_column',
+ 'running_stitch_length_mm',
+ 'center_walk_underlay',
+ 'center_walk_underlay_stitch_length_mm',
+ 'contour_underlay',
+ 'contour_underlay_stitch_length_mm',
+ 'contour_underlay_inset_mm',
+ 'zigzag_underlay',
+ 'zigzag_spacing_mm',
+ 'zigzag_underlay_inset_mm',
+ 'zigzag_underlay_spacing_mm',
+ 'e_stitch',
+ 'pull_compensation_mm',
+ 'stroke_first',
+ # Legacy
+ 'embroider_trim_after',
+ 'embroider_stop_after'
+ ]
+for attrib in inkstitch_attribs:
+ INKSTITCH_ATTRIBS[attrib] = inkex.addNS(attrib, 'inkstitch')
diff --git a/lib/svg/units.py b/lib/svg/units.py
index 739dcbb4..319e018b 100644
--- a/lib/svg/units.py
+++ b/lib/svg/units.py
@@ -3,7 +3,6 @@ import simpletransform
from ..i18n import _
from ..utils import cache
-
# modern versions of Inkscape use 96 pixels per inch as per the CSS standard
PIXELS_PER_MM = 96 / 25.4
@@ -127,6 +126,12 @@ def get_viewbox_transform(node):
try:
sx = doc_width / float(viewbox[2])
sy = doc_height / float(viewbox[3])
+
+ # preserve aspect ratio
+ aspect_ratio = node.get('preserveAspectRatio', 'xMidYMid meet')
+ if aspect_ratio != 'none':
+ sx = sy = max(sx, sy) if 'slice' in aspect_ratio else min(sx, sy)
+
scale_transform = simpletransform.parseTransform("scale(%f, %f)" % (sx, sy))
transform = simpletransform.composeTransform(transform, scale_transform)
except ZeroDivisionError:
diff --git a/lib/threads/catalog.py b/lib/threads/catalog.py
index ece2f8ac..aba2696d 100644
--- a/lib/threads/catalog.py
+++ b/lib/threads/catalog.py
@@ -1,9 +1,10 @@
import os
-from os.path import dirname, realpath
import sys
-from glob import glob
from collections import Sequence
+from glob import glob
+from os.path import dirname, realpath
+from ..utils import guess_inkscape_config_path
from .palette import ThreadPalette
@@ -12,19 +13,32 @@ class _ThreadCatalog(Sequence):
def __init__(self):
self.palettes = []
- self.load_palettes(self.get_palettes_path())
+ self.load_palettes(self.get_palettes_paths())
+
+ def get_palettes_paths(self):
+ """Creates a list containing the path of two directories:
+ 1. Palette directory of Inkscape
+ 2. Palette directory of inkstitch
+ """
+ path = [os.path.join(guess_inkscape_config_path(), 'palettes')]
- def get_palettes_path(self):
if getattr(sys, 'frozen', None) is not None:
- path = os.path.join(sys._MEIPASS, "..")
+ inkstitch_path = os.path.join(sys._MEIPASS, "..")
else:
- path = dirname(dirname(dirname(realpath(__file__))))
+ inkstitch_path = dirname(dirname(dirname(realpath(__file__))))
- return os.path.join(path, 'palettes')
+ path.append(os.path.join(inkstitch_path, 'palettes'))
- def load_palettes(self, path):
- for palette_file in glob(os.path.join(path, '*.gpl')):
- self.palettes.append(ThreadPalette(palette_file))
+ return path
+
+ def load_palettes(self, paths):
+ palettes = []
+ for path in paths:
+ for palette_file in glob(os.path.join(path, 'InkStitch*.gpl')):
+ palette_basename = os.path.basename(palette_file)
+ if palette_basename not in palettes:
+ self.palettes.append(ThreadPalette(palette_file))
+ palettes.append(palette_basename)
def palette_names(self):
return list(sorted(palette.name for palette in self))
@@ -59,6 +73,8 @@ class _ThreadCatalog(Sequence):
chosen if more tha 80% of the thread colors in the stitch plan are
exact matches for threads in the palette.
"""
+ if not self.palettes:
+ return None
threads = [color_block.color for color_block in stitch_plan]
palettes_and_matches = [(palette, self._num_exact_color_matches(palette, threads))
diff --git a/lib/threads/palette.py b/lib/threads/palette.py
index 654c43e5..d685e5bb 100644
--- a/lib/threads/palette.py
+++ b/lib/threads/palette.py
@@ -48,13 +48,16 @@ class ThreadPalette(Set):
palette.readline()
for line in palette:
- fields = line.split("\t", 3)
- thread_color = [int(field) for field in fields[:3]]
- thread_name, thread_number = fields[3].strip().rsplit(" ", 1)
- thread_name = thread_name.strip()
-
- thread = ThreadColor(thread_color, thread_name, thread_number, manufacturer=self.name)
- self.threads[thread] = convert_color(sRGBColor(*thread_color, is_upscaled=True), LabColor)
+ try:
+ fields = line.split(None, 3)
+ thread_color = [int(field) for field in fields[:3]]
+ thread_name, thread_number = fields[3].strip().rsplit(" ", 1)
+ thread_name = thread_name.strip()
+
+ thread = ThreadColor(thread_color, thread_name, thread_number, manufacturer=self.name)
+ self.threads[thread] = convert_color(sRGBColor(*thread_color, is_upscaled=True), LabColor)
+ except ValueError:
+ continue
def __contains__(self, thread):
return thread in self.threads
diff --git a/requirements.txt b/requirements.txt
index 5ab6f5fb..f058e892 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -10,6 +10,7 @@ jinja2>2.9
requests
colormath
stringcase
+tinycss2
# We're not ready for flask 1.0 yet. Logging changed, among othe things.
flask==0.*
diff --git a/stub.py b/stub.py
deleted file mode 100644
index c4627891..00000000
--- a/stub.py
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/usr/bin/env python
-
-import os
-import subprocess
-import sys
-import traceback
-
-# ink/stitch
-#
-# stub.py: pyinstaller execution stub
-#
-# pyinstaller packages the inkstitch extensions into nice tidy executables.
-# That's great, but Inkscape can't execute a plain binary as an extension(!).
-#
-# This Python script exists only to execute the actual extension binary. It
-# can be copied to, e.g., "embroider_params.py", in which case it will look
-# for a binary at inkstitch/bin/embroider_params.
-script_name = os.path.basename(__file__)
-
-if script_name.endswith('.py'):
- binary_name = script_name[:-3]
-else:
- # Probably not right, but we can at least try.
- binary_name = script_name
-
-binary_path = os.path.join("inkstitch", "bin", binary_name)
-
-args = sys.argv[:]
-args[0] = binary_path
-
-# os.execve works here for Linux, but only this seems to get the
-# extension output to Inkscape on Windows
-try:
- extension = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
- stdout, stderr = extension.communicate()
-except BaseException:
- print >> sys.stderr, "Unexpected error launching Ink/Stitch."
- print >> sys.stderr, "If you're having trouble, please file an issue here, including the text below:"
- print >> sys.stderr, " https://github.com/inkstitch/inkstitch/issues\n"
- print >> sys.stderr, "Tried to launch:", binary_path
- print >> sys.stderr, "Arguments:", args
- print >> sys.stderr, "Debugging information:\n"
- print >> sys.stderr, traceback.format_exc()
- sys.exit(1)
-
-if sys.platform == "win32":
- import msvcrt
-
- msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
-
-try:
- # In Python 3, we need to use sys.stdout.buffer to write binary data to stdout.
- sys.stdout.buffer.write(stdout)
- sys.stdout.buffer.flush()
-except AttributeError:
- # Python 2 doesn't have sys.stdout.buffer but we can write binary data to stdout by default.
- sys.stdout.write(stdout)
- sys.stdout.flush()
-
-stderr = stderr.strip()
-if stderr:
- try:
- sys.stderr.buffer.write(stderr)
- sys.stderr.buffer.flush()
- except AttributeError:
- sys.stderr.write(stderr)
- sys.stderr.flush()
-
-sys.exit(extension.returncode)
diff --git a/templates/auto_satin.inx b/templates/auto_satin.inx
index 60ca29cd..673ac51e 100644
--- a/templates/auto_satin.inx
+++ b/templates/auto_satin.inx
@@ -2,8 +2,6 @@
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<name>{% trans %}Auto-Route Satin Columns{% endtrans %}</name>
<id>org.inkstitch.auto_satin.{{ locale }}</id>
- <dependency type="executable" location="extensions">inkstitch.py</dependency>
- <dependency type="executable" location="extensions">inkex.py</dependency>
<param name="trim" type="boolean" _gui-text="{% trans %}Trim jump stitches{% endtrans %}">true</param>
<param name="preserve_order" type="boolean" _gui-text="{% trans %}Preserve order of satin columns{% endtrans %}">false</param>
<param name="extension" type="string" gui-hidden="true">auto_satin</param>
@@ -16,6 +14,6 @@
</effects-menu>
</effect>
<script>
- <command reldir="extensions" interpreter="python">inkstitch.py</command>
+ {{ command_tag | safe }}
</script>
</inkscape-extension>
diff --git a/templates/break_apart.inx b/templates/break_apart.inx
new file mode 100644
index 00000000..2580ddc3
--- /dev/null
+++ b/templates/break_apart.inx
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
+ <name>{% trans %}Break Apart and Retain Holes{% endtrans %}</name>
+ <id>org.inkstitch.break_apart.{{ locale }}</id>
+ <param name="extension" type="string" gui-hidden="true">break_apart</param>
+ <effect>
+ <object-type>all</object-type>
+ <effects-menu>
+ <submenu name="Ink/Stitch">
+ <submenu name="{% trans %}Fill Tools{% endtrans %}" />
+ </submenu>
+ </effects-menu>
+ </effect>
+ <script>
+ {{ command_tag | safe }}
+ </script>
+</inkscape-extension>
diff --git a/templates/convert_to_satin.inx b/templates/convert_to_satin.inx
index d0f87911..80f0b678 100644
--- a/templates/convert_to_satin.inx
+++ b/templates/convert_to_satin.inx
@@ -2,8 +2,6 @@
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<name>{% trans %}Convert Line to Satin{% endtrans %}</name>
<id>org.inkstitch.convert_to_satin.{{ locale }}</id>
- <dependency type="executable" location="extensions">inkstitch.py</dependency>
- <dependency type="executable" location="extensions">inkex.py</dependency>
<param name="extension" type="string" gui-hidden="true">convert_to_satin</param>
<effect>
<object-type>all</object-type>
@@ -14,6 +12,6 @@
</effects-menu>
</effect>
<script>
- <command reldir="extensions" interpreter="python">inkstitch.py</command>
+ {{ command_tag | safe }}
</script>
</inkscape-extension>
diff --git a/templates/cut_satin.inx b/templates/cut_satin.inx
index c96d9092..b780543a 100644
--- a/templates/cut_satin.inx
+++ b/templates/cut_satin.inx
@@ -2,8 +2,6 @@
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<name>{% trans %}Cut Satin Column{% endtrans %}</name>
<id>org.inkstitch.cut_satin.{{ locale }}</id>
- <dependency type="executable" location="extensions">inkstitch.py</dependency>
- <dependency type="executable" location="extensions">inkex.py</dependency>
<param name="extension" type="string" gui-hidden="true">cut_satin</param>
<effect>
<object-type>all</object-type>
@@ -14,6 +12,6 @@
</effects-menu>
</effect>
<script>
- <command reldir="extensions" interpreter="python">inkstitch.py</command>
+ {{ command_tag | safe }}
</script>
</inkscape-extension>
diff --git a/templates/embroider.inx b/templates/embroider.inx
index f030c8d6..ea062aa4 100644
--- a/templates/embroider.inx
+++ b/templates/embroider.inx
@@ -2,8 +2,6 @@
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<name>{% trans %}Embroider{% endtrans %}</name>
<id>org.inkstitch.embroider.{{ locale }}</id>
- <dependency type="executable" location="extensions">inkstitch.py</dependency>
- <dependency type="executable" location="extensions">inkex.py</dependency>
<param name="collapse_len_mm" type="float" min="0.0" max="10.0" _gui-text="{% trans %}Collapse length (mm){% endtrans %}" _gui-description="{% trans %}Jump stitches smaller than this will be treated as normal stitches.{% endtrans %}">3.0</param>
<param name="hide_layers" type="boolean" _gui-text="{% trans %}Hide other layers{% endtrans %}" _gui-description="{% trans %}Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible.{% endtrans %}">true</param>
<param name="output_format" type="optiongroup" _gui-text="{% trans %}Output file format{% endtrans %}" appearance="minimal">
@@ -23,6 +21,6 @@
</effects-menu>
</effect>
<script>
- <command reldir="extensions" interpreter="python">inkstitch.py</command>
+ {{ command_tag | safe }}
</script>
</inkscape-extension>
diff --git a/templates/flip.inx b/templates/flip.inx
index 763cf7cc..29b11457 100644
--- a/templates/flip.inx
+++ b/templates/flip.inx
@@ -2,8 +2,6 @@
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<name>{% trans %}Flip Satin Column Rails{% endtrans %}</name>
<id>org.inkstitch.flip_satins.{{ locale }}</id>
- <dependency type="executable" location="extensions">inkstitch.py</dependency>
- <dependency type="executable" location="extensions">inkex.py</dependency>
<param name="extension" type="string" gui-hidden="true">flip</param>
<effect>
<object-type>all</object-type>
@@ -14,6 +12,6 @@
</effects-menu>
</effect>
<script>
- <command reldir="extensions" interpreter="python">inkstitch.py</command>
+ {{ command_tag | safe }}
</script>
</inkscape-extension>
diff --git a/templates/global_commands.inx b/templates/global_commands.inx
index 24d42c90..d37e2e41 100644
--- a/templates/global_commands.inx
+++ b/templates/global_commands.inx
@@ -2,8 +2,6 @@
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<name>{% trans %}Add Commands{% endtrans %}</name>
<id>org.inkstitch.global_commands.{{ locale }}</id>
- <dependency type="executable" location="extensions">inkstitch.py</dependency>
- <dependency type="executable" location="extensions">inkex.py</dependency>
<param name="description" type="description">{% trans %}These commands affect the entire embroidery design.{% endtrans %}</param>
{% for command, description in global_commands %}
<param name="{{ command }}" type="boolean" _gui-text="{{ _(description) }}">false</param>
@@ -19,6 +17,6 @@
</effects-menu>
</effect>
<script>
- <command reldir="extensions" interpreter="python">inkstitch.py</command>
+ {{ command_tag | safe }}
</script>
</inkscape-extension>
diff --git a/templates/import_threadlist.inx b/templates/import_threadlist.inx
new file mode 100644
index 00000000..081a881a
--- /dev/null
+++ b/templates/import_threadlist.inx
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
+ <name>{% trans %}Import Threadlist{% endtrans %}</name>
+ <id>org.inkstitch.import_threadlist.{{ locale }}</id>
+ <param name="extension" type="string" gui-hidden="true">import_threadlist</param>
+ <!-- This doesn't work at the moment. It's an Inkstitch 1.0 feature, but would be desireable.
+ <param type="path" name="filepath" gui-text="{{ _('Choose file') }}" mode="file" filetypes="txt"/> -->
+ <param name="filepath" type="string" _gui-text="{{ _('File Path') }}">{{ _("Enter path to file") }}</param>
+ <param name="method" type="optiongroup" _gui-text="Choose method">
+ <option value="1">Import Ink/Stitch threadlist</option>
+ <option value="2">Import other threadlist*</option>
+ </param>
+ <param name="palette" type="enum" _gui-text="*Choose color palette">
+ {%- for item in threadcatalog %}
+ <item value="{{ item }}">{{ item }}</item>
+ {%- endfor %}
+ </param>
+ <effect>
+ <object-type>all</object-type>
+ <effects-menu>
+ <submenu name="Ink/Stitch" />
+ </effects-menu>
+ </effect>
+ <script>
+ {{ command_tag | safe }}
+ </script>
+</inkscape-extension>
diff --git a/templates/input.inx b/templates/input.inx
index 6e810a70..5f4a4610 100644
--- a/templates/input.inx
+++ b/templates/input.inx
@@ -2,8 +2,6 @@
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<name>{{ format | upper }} file input</name>
<id>org.inkstitch.input.{{ format }}.{{ locale }}</id>
- <dependency type="executable" location="extensions">inkstitch.py</dependency>
- <dependency type="executable" location="extensions">inkex.py</dependency>
<input>
<extension>.{{ format }}</extension>
<mimetype>application/x-embroidery-{{ format }}</mimetype>
@@ -12,6 +10,6 @@
</input>
<param name="extension" type="string" gui-hidden="true">input</param>
<script>
- <command reldir="extensions" interpreter="python">inkstitch.py</command>
+ {{ command_tag | safe }}
</script>
</inkscape-extension>
diff --git a/templates/install.inx b/templates/install.inx
index adfffd9d..0ab22b0b 100644
--- a/templates/install.inx
+++ b/templates/install.inx
@@ -2,8 +2,6 @@
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<name>{% trans %}Install add-ons for Inkscape{% endtrans %}</name>
<id>org.inkstitch.install.{{ locale }}</id>
- <dependency type="executable" location="extensions">inkstitch.py</dependency>
- <dependency type="executable" location="extensions">inkex.py</dependency>
<param name="extension" type="string" gui-hidden="true">install</param>
<effect>
<object-type>all</object-type>
@@ -12,6 +10,6 @@
</effects-menu>
</effect>
<script>
- <command reldir="extensions" interpreter="python">inkstitch.py</command>
+ {{ command_tag | safe }}
</script>
</inkscape-extension>
diff --git a/templates/layer_commands.inx b/templates/layer_commands.inx
index 6b978e43..249d536e 100644
--- a/templates/layer_commands.inx
+++ b/templates/layer_commands.inx
@@ -2,8 +2,6 @@
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<name>{% trans %}Add Layer Commands{% endtrans %}</name>
<id>org.inkstitch.layer_commands.{{ locale }}</id>
- <dependency type="executable" location="extensions">inkstitch.py</dependency>
- <dependency type="executable" location="extensions">inkex.py</dependency>
<param name="description" type="description">{% trans %}Commands will be added to the currently-selected layer.{% endtrans %}</param>
{% for command, description in layer_commands %}
<param name="{{ command }}" type="boolean" _gui-text="{{ _(description) }}">false</param>
@@ -18,6 +16,6 @@
</effects-menu>
</effect>
<script>
- <command reldir="extensions" interpreter="python">inkstitch.py</command>
+ {{ command_tag | safe }}
</script>
</inkscape-extension>
diff --git a/templates/lettering.inx b/templates/lettering.inx
index 96e90ca0..65eee8a1 100644
--- a/templates/lettering.inx
+++ b/templates/lettering.inx
@@ -2,8 +2,6 @@
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<name>{% trans %}Lettering{% endtrans %}</name>
<id>org.inkstitch.lettering.{{ locale }}</id>
- <dependency type="executable" location="extensions">inkstitch.py</dependency>
- <dependency type="executable" location="extensions">inkex.py</dependency>
<param name="extension" type="string" gui-hidden="true">lettering</param>
<effect>
<object-type>all</object-type>
@@ -12,6 +10,6 @@
</effects-menu>
</effect>
<script>
- <command reldir="extensions" interpreter="python">inkstitch.py</command>
+ {{ command_tag | safe }}
</script>
</inkscape-extension>
diff --git a/templates/object_commands.inx b/templates/object_commands.inx
index 1b1c40d9..affe7584 100644
--- a/templates/object_commands.inx
+++ b/templates/object_commands.inx
@@ -2,8 +2,6 @@
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<name>{% trans %}Attach Commands to Selected Objects{% endtrans %}</name>
<id>org.inkstitch.commands.{{ locale }}</id>
- <dependency type="executable" location="extensions">inkstitch.py</dependency>
- <dependency type="executable" location="extensions">inkex.py</dependency>
{% for command, description in object_commands %}
<param name="{{ command }}" type="boolean" _gui-text="{{ _(description ) }}">false</param>
{% endfor %}
@@ -17,6 +15,6 @@
</effects-menu>
</effect>
<script>
- <command reldir="extensions" interpreter="python">inkstitch.py</command>
+ {{ command_tag | safe }}
</script>
</inkscape-extension>
diff --git a/templates/output.inx b/templates/output.inx
index 6899c5d3..ffff4be9 100644
--- a/templates/output.inx
+++ b/templates/output.inx
@@ -2,8 +2,6 @@
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<name>{{ format | upper }} file output</name>
<id>org.inkstitch.output.{{ format }}.{{ locale }}</id>
- <dependency type="executable" location="extensions">inkstitch.py</dependency>
- <dependency type="executable" location="extensions">inkex.py</dependency>
<output>
<extension>.{{ format }}</extension>
<mimetype>application/x-embroidery-{{ format }}</mimetype>
@@ -16,6 +14,6 @@
{% set params = "output_params_" + format + ".xml" %}
{% include params ignore missing %}
<script>
- <command reldir="extensions" interpreter="python">inkstitch.py</command>
+ {{ command_tag | safe }}
</script>
</inkscape-extension>
diff --git a/templates/output_params_txt.xml b/templates/output_params_txt.xml
index 451a6ca9..22bf3594 100644
--- a/templates/output_params_txt.xml
+++ b/templates/output_params_txt.xml
@@ -1,11 +1,21 @@
{# these parameters are for g-code files (*.txt) #}
- <param name="laser_mode" type="boolean" gui-text="{{ _("laser mode") }}" gui-description="{{ _("Laser mode (generate g-code for grbl laser mode)") }}">false</param>
- <param name="dynamic_laser_power" type="boolean" gui-text="{{ _("dynamic laser power") }}" gui-description="{{ _("Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers.") }}" min="0.0" max="5.0">true</param>
- <param name="laser_warm_up_time" type="float" gui-text="{{ _("laser warm-up time") }}" gui-description="{{ _("When turning on the laser, wait this many seconds for laser to warm up (G4 command)") }}">0.0</param>
- <param name="flip_x" type="boolean" gui-text="{{ _("negate X coordinate values") }}" gui-description="{{ _("Negate x coordinates") }}">false</param>
- <param name="flip_y" type="boolean" gui-text="{{ _("negate Y coordinate values") }}" gui-description="{{ _("Negate y coordinates") }}">false</param>
- <param name="stitch_z_travel" type="float" gui-text="{{ _("Z travel per stitch") }}" gui-description="{{ _("increment z coordinate by this amount per stitch") }}">5.0</param>
- <param name="spindle_speed" type="int" gui-text="{{ _("spindle speed") }}" gui-description="{{ _("spindle speed (laser power for laser mode, set to -1 to omit)") }}" min="-1" max="1000000000">-1</param>
- <param name="min_spindle_speed" type="int" gui-text="{{ _("min spindle speed") }}" gui-description="{{ _("minimum spindle speed value (grbl $31 setting)") }}" min="-1" max="1000000000">-1</param>
- <param name="max_spindle_speed" type="int" gui-text="{{ _("max spindle speed") }}" gui-description="{{ _("minimum spindle speed value (grbl $30 setting)") }}" min="-1" max="1000000000">-1</param>
- <param name="feed_rate" type="int" gui-description="{{ _("feed rate (in mm/min, set to -1 to omit)")}}" min="-1" max="1000000000">-1</param> \ No newline at end of file
+<param type="notebook" name="gcode-settings">
+ <page name="embroidery" gui-text="Coordinate Settings">
+ <param name="flip_x" type="boolean" gui-text="{{ _("negate X coordinate values") }}" gui-description="{{ _("Negate x coordinates") }}">false</param>
+ <param name="flip_y" type="boolean" gui-text="{{ _("negate Y coordinate values") }}" gui-description="{{ _("Negate y coordinates") }}">false</param>
+ <param type="optiongroup" name="alternate_z" gui-text="{{ _("Z coordinate value") }}" gui-description="{{ _("Either alternate Z value between 0 and 1 or travel custom value.") }}">
+ <option value="true">{{ _("alternate Z value") }}</option>
+ <option value="false">{{ _("Z travel per stitch") }}</option>
+ </param>
+ <param name="stitch_z_travel" type="float" gui-text="{{ _("Z travel per stitch") }}" gui-description="{{ _('increment z coordinate by this amount per stitch if "Z travel per stitch" is enabled') }}">5.0</param>
+ </page>
+ <page name="laser" gui-text="Laser Settings">
+ <param name="laser_mode" type="boolean" gui-text="{{ _("laser mode") }}" gui-description="{{ _("Laser mode (generate g-code for grbl laser mode)") }}">false</param>
+ <param name="dynamic_laser_power" type="boolean" gui-text="{{ _("dynamic laser power") }}" gui-description="{{ _("Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers.") }}" min="0.0" max="5.0">true</param>
+ <param name="laser_warm_up_time" type="float" gui-text="{{ _("laser warm-up time") }}" gui-description="{{ _("When turning on the laser, wait this many seconds for laser to warm up (G4 command)") }}">0.0</param>
+ <param name="spindle_speed" type="int" gui-text="{{ _("spindle speed") }}" gui-description="{{ _("spindle speed (laser power for laser mode, set to -1 to omit)") }}" min="-1" max="1000000000">-1</param>
+ <param name="min_spindle_speed" type="int" gui-text="{{ _("min spindle speed") }}" gui-description="{{ _("minimum spindle speed value (grbl $31 setting)") }}" min="-1" max="1000000000">-1</param>
+ <param name="max_spindle_speed" type="int" gui-text="{{ _("max spindle speed") }}" gui-description="{{ _("minimum spindle speed value (grbl $30 setting)") }}" min="-1" max="1000000000">-1</param>
+ <param name="feed_rate" type="int" gui-description="{{ _("feed rate (in mm/min, set to -1 to omit)")}}" min="-1" max="1000000000">-1</param>
+ </page>
+</param>
diff --git a/templates/params.inx b/templates/params.inx
index 9f60f4ae..a2dc89a3 100644
--- a/templates/params.inx
+++ b/templates/params.inx
@@ -2,8 +2,6 @@
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<name>{% trans %}Params{% endtrans %}</name>
<id>org.inkstitch.params.{{ locale }}</id>
- <dependency type="executable" location="extensions">inkstitch.py</dependency>
- <dependency type="executable" location="extensions">inkex.py</dependency>
<param name="extension" type="string" gui-hidden="true">params</param>
<effect>
<object-type>all</object-type>
@@ -12,6 +10,6 @@
</effects-menu>
</effect>
<script>
- <command reldir="extensions" interpreter="python">inkstitch.py</command>
+ {{ command_tag | safe }}
</script>
</inkscape-extension>
diff --git a/templates/print.inx b/templates/print.inx
index 61385129..2aec826b 100644
--- a/templates/print.inx
+++ b/templates/print.inx
@@ -2,8 +2,6 @@
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<name>{% trans %}Print / Realistic Preview{% endtrans %}</name>
<id>org.inkstitch.print.{{ locale }}</id>
- <dependency type="executable" location="extensions">inkstitch.py</dependency>
- <dependency type="executable" location="extensions">inkex.py</dependency>
<param name="extension" type="string" gui-hidden="true">print</param>
<effect>
<object-type>all</object-type>
@@ -12,6 +10,6 @@
</effects-menu>
</effect>
<script>
- <command reldir="extensions" interpreter="python">inkstitch.py</command>
+ {{ command_tag | safe }}
</script>
</inkscape-extension>
diff --git a/templates/remove_embroidery_settings.inx b/templates/remove_embroidery_settings.inx
index d070f34f..44b34ded 100644
--- a/templates/remove_embroidery_settings.inx
+++ b/templates/remove_embroidery_settings.inx
@@ -2,8 +2,6 @@
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<name>{% trans %}Remove embroidery settings{% endtrans %}</name>
<id>org.inkstitch.remove_embroidery_settings.{{ locale }}</id>
- <dependency type="executable" location="extensions">inkstitch.py</dependency>
- <dependency type="executable" location="extensions">inkex.py</dependency>
<param name="description" type="description">{% trans %}Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document.{% endtrans %}</param>
<param name="del_params" type="boolean" _gui-text="{% trans %}Remove Params{% endtrans %}"
_gui-description="{% trans %}Removes params from selected objects or all objects if nothing is selected.{% endtrans %}">true</param>
@@ -19,6 +17,6 @@
</effects-menu>
</effect>
<script>
- <command reldir="extensions" interpreter="python">inkstitch.py</command>
+ {{ command_tag | safe }}
</script>
</inkscape-extension>
diff --git a/templates/simulate.inx b/templates/simulate.inx
index 90f3717c..09f29d38 100644
--- a/templates/simulate.inx
+++ b/templates/simulate.inx
@@ -2,8 +2,6 @@
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<name>{% trans %}Simulate{% endtrans %}</name>
<id>org.inkstitch.simulate.{{ locale }}</id>
- <dependency type="executable" location="extensions">inkstitch.py</dependency>
- <dependency type="executable" location="extensions">inkex.py</dependency>
<param name="extension" type="string" gui-hidden="true">simulate</param>
<effect>
<object-type>all</object-type>
@@ -12,6 +10,6 @@
</effects-menu>
</effect>
<script>
- <command reldir="extensions" interpreter="python">inkstitch.py</command>
+ {{ command_tag | safe }}
</script>
</inkscape-extension>
diff --git a/templates/stitch_plan_preview.inx b/templates/stitch_plan_preview.inx
new file mode 100644
index 00000000..e047af10
--- /dev/null
+++ b/templates/stitch_plan_preview.inx
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
+ <name>{% trans %}Stitch Plan Preview{% endtrans %}</name>
+ <id>org.inkstitch.stitch_plan_preview.{{ locale }}</id>
+ <param name="extension" type="string" gui-hidden="true">stitch_plan_preview</param>
+ <effect>
+ <object-type>all</object-type>
+ <effects-menu>
+ <submenu name="Ink/Stitch" />
+ </effects-menu>
+ </effect>
+ <script>
+ {{ command_tag | safe }}
+ </script>
+</inkscape-extension>
diff --git a/templates/troubleshoot.inx b/templates/troubleshoot.inx
index 6931fb39..64f4ebb0 100644
--- a/templates/troubleshoot.inx
+++ b/templates/troubleshoot.inx
@@ -2,8 +2,6 @@
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<name>{% trans %}Troubleshoot Objects{% endtrans %}</name>
<id>org.inkstitch.troubleshoot.{{ locale }}</id>
- <dependency type="executable" location="extensions">inkstitch.py</dependency>
- <dependency type="executable" location="extensions">inkex.py</dependency>
<param name="extension" type="string" gui-hidden="true">troubleshoot</param>
<effect>
<object-type>all</object-type>
@@ -13,6 +11,6 @@
</effects-menu>
</effect>
<script>
- <command reldir="extensions" interpreter="python">inkstitch.py</command>
+ {{ command_tag | safe }}
</script>
</inkscape-extension>
diff --git a/templates/zip.inx b/templates/zip.inx
index 952123c9..42623019 100644
--- a/templates/zip.inx
+++ b/templates/zip.inx
@@ -2,8 +2,6 @@
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
<name>embroidery ZIP file output</name>
<id>org.inkstitch.output.zip.{{ locale }}</id>
- <dependency type="executable" location="extensions">inkstitch.py</dependency>
- <dependency type="executable" location="extensions">inkex.py</dependency>
<output>
<extension>.zip</extension>
<mimetype>application/zip</mimetype>
@@ -11,11 +9,13 @@
<_filetypetooltip>{{ _("Create a ZIP with multiple embroidery file formats using Ink/Stitch") }}</_filetypetooltip>
<dataloss>true</dataloss>
</output>
- {% for format, description in formats %}
+ {%- for format, description in formats %}
<param name="format-{{ format }}" type="boolean" _gui-text=".{{ format | upper }}: {{ _(description) }}">false</param>
- {% endfor %}
+ {%- endfor %}
+ <param name="format-svg" type="boolean" _gui-text=".SVG: {{ _("Scalable Vector Graphic") }}">false</param>
+ <param name="format-threadlist" type="boolean" _gui-text=".TXT: {{ _("Threadlist") }}">false</param>
<param name="extension" type="string" gui-hidden="true">zip</param>
<script>
- <command reldir="extensions" interpreter="python">inkstitch.py</command>
+ {{ command_tag | safe }}
</script>
</inkscape-extension>
diff --git a/translations/messages_af_ZA.po b/translations/messages_af_ZA.po
index 19906a09..2537d80b 100644
--- a/translations/messages_af_ZA.po
+++ b/translations/messages_af_ZA.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:09\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Afrikaans\n"
"MIME-Version: 1.0\n"
@@ -16,36 +16,36 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: af_ZA\n"
-#. name of font in fonts/small_font
+#. name of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
+msgid "TT Directors"
msgstr ""
-#. description of font in fonts/small_font
+#. description of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgid "A font suited for directing"
msgstr ""
-#. name of font in fonts/tt_directors
+#. name of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:6
-msgid "TT Directors"
+msgid "Ink/Stitch Medium Font"
msgstr ""
-#. description of font in fonts/tt_directors
+#. description of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:8
-msgid "A font suited for directing"
+#, python-format
+msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr ""
-#. name of font in fonts/medium_font
+#. name of font in fonts/small_font
#: inkstitch-fonts-metadata.py:10
-msgid "Ink/Stitch Medium Font"
+msgid "Ink/Stitch Small Font"
msgstr ""
-#. description of font in fonts/medium_font
+#. description of font in fonts/small_font
#: inkstitch-fonts-metadata.py:12
#, python-format
-msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
msgstr ""
#. name of font in fonts/tt_masters
@@ -58,106 +58,70 @@ msgstr ""
msgid "A font suited for heavy typing :)"
msgstr ""
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr ""
-
-#: lib/commands.py:23
-msgid "Fill stitch ending position"
+msgid "Fill stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:26
-msgid "satin_start"
-msgstr ""
-
-#: lib/commands.py:26
-msgid "Auto-route satin stitch starting position"
+msgid "Fill stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:29
-msgid "satin_end"
-msgstr ""
-
-#: lib/commands.py:29
-msgid "Auto-route satin stitch ending position"
+msgid "Auto-route satin stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:32
-msgid "stop"
-msgstr ""
-
-#: lib/commands.py:32
-msgid "Stop (pause machine) after sewing this object"
+msgid "Auto-route satin stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:35
-msgid "trim"
-msgstr ""
-
-#: lib/commands.py:35
-msgid "Trim thread after sewing this object"
+msgid "Stop (pause machine) after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:38
-msgid "ignore_object"
-msgstr ""
-
-#: lib/commands.py:38
-msgid "Ignore this object (do not stitch)"
+msgid "Trim thread after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:41
-msgid "satin_cut_point"
+msgid "Ignore this object (do not stitch)"
msgstr ""
-#: lib/commands.py:41
+#. command attached to an object
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr ""
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr ""
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr ""
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr ""
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr ""
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr ""
@@ -167,22 +131,22 @@ msgstr ""
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr ""
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr ""
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr ""
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr ""
@@ -253,11 +217,11 @@ msgstr ""
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr ""
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr ""
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr ""
@@ -287,12 +251,20 @@ msgstr ""
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr ""
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr ""
@@ -300,7 +272,7 @@ msgstr ""
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr ""
@@ -312,75 +284,79 @@ msgstr ""
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr ""
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+#: lib/elements/fill.py:27
+msgid "Border crosses itself"
msgstr ""
#: lib/elements/fill.py:28
-msgid "Border crosses itself"
+msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr ""
-#: lib/elements/fill.py:29
-msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
+#: lib/elements/fill.py:30
+msgid "* Path > Union (Ctrl++)"
msgstr ""
#: lib/elements/fill.py:31
-msgid "* Path > Union (Ctrl++)"
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr ""
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr ""
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr ""
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr ""
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr ""
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr ""
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr ""
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr ""
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr ""
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr ""
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr ""
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr ""
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr ""
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr ""
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr ""
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr ""
@@ -675,6 +650,22 @@ msgstr ""
msgid "Please select one or more satin columns to flip."
msgstr ""
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -858,10 +849,42 @@ msgstr ""
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr ""
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr ""
@@ -997,7 +1020,7 @@ msgstr ""
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr ""
@@ -1008,34 +1031,34 @@ msgstr ""
msgid "Error writing to %(path)s: %(error)s"
msgstr ""
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr ""
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr ""
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr ""
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr ""
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr ""
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr ""
@@ -1577,19 +1600,27 @@ msgstr ""
msgid "Auto-Route Satin Columns"
msgstr ""
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr ""
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr ""
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr ""
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr ""
@@ -1602,35 +1633,35 @@ msgstr ""
msgid "Embroider"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr ""
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr ""
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr ""
@@ -1642,17 +1673,33 @@ msgstr ""
msgid "Add Commands"
msgstr ""
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr ""
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr ""
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr ""
@@ -1665,7 +1712,7 @@ msgstr ""
msgid "Add Layer Commands"
msgstr ""
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr ""
@@ -1677,84 +1724,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr ""
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr ""
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr ""
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
+msgid "negate X coordinate values"
msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr ""
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1770,27 +1829,27 @@ msgstr ""
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1798,15 +1857,27 @@ msgstr ""
msgid "Simulate"
msgstr ""
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr ""
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr ""
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr ""
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_ar_SA.po b/translations/messages_ar_SA.po
index 05ad8227..e4ba0be2 100644
--- a/translations/messages_ar_SA.po
+++ b/translations/messages_ar_SA.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:09\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Arabic\n"
"MIME-Version: 1.0\n"
@@ -16,36 +16,36 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: ar_SA\n"
-#. name of font in fonts/small_font
+#. name of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
+msgid "TT Directors"
msgstr ""
-#. description of font in fonts/small_font
+#. description of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgid "A font suited for directing"
msgstr ""
-#. name of font in fonts/tt_directors
+#. name of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:6
-msgid "TT Directors"
+msgid "Ink/Stitch Medium Font"
msgstr ""
-#. description of font in fonts/tt_directors
+#. description of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:8
-msgid "A font suited for directing"
+#, python-format
+msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr ""
-#. name of font in fonts/medium_font
+#. name of font in fonts/small_font
#: inkstitch-fonts-metadata.py:10
-msgid "Ink/Stitch Medium Font"
+msgid "Ink/Stitch Small Font"
msgstr ""
-#. description of font in fonts/medium_font
+#. description of font in fonts/small_font
#: inkstitch-fonts-metadata.py:12
#, python-format
-msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
msgstr ""
#. name of font in fonts/tt_masters
@@ -58,106 +58,70 @@ msgstr ""
msgid "A font suited for heavy typing :)"
msgstr ""
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr ""
-
-#: lib/commands.py:23
-msgid "Fill stitch ending position"
+msgid "Fill stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:26
-msgid "satin_start"
-msgstr ""
-
-#: lib/commands.py:26
-msgid "Auto-route satin stitch starting position"
+msgid "Fill stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:29
-msgid "satin_end"
-msgstr ""
-
-#: lib/commands.py:29
-msgid "Auto-route satin stitch ending position"
+msgid "Auto-route satin stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:32
-msgid "stop"
-msgstr ""
-
-#: lib/commands.py:32
-msgid "Stop (pause machine) after sewing this object"
+msgid "Auto-route satin stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:35
-msgid "trim"
-msgstr ""
-
-#: lib/commands.py:35
-msgid "Trim thread after sewing this object"
+msgid "Stop (pause machine) after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:38
-msgid "ignore_object"
-msgstr ""
-
-#: lib/commands.py:38
-msgid "Ignore this object (do not stitch)"
+msgid "Trim thread after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:41
-msgid "satin_cut_point"
+msgid "Ignore this object (do not stitch)"
msgstr ""
-#: lib/commands.py:41
+#. command attached to an object
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr ""
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr ""
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr ""
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr ""
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr ""
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr ""
@@ -167,22 +131,22 @@ msgstr ""
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr ""
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr ""
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr ""
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr ""
@@ -253,11 +217,11 @@ msgstr ""
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr ""
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr ""
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr ""
@@ -287,12 +251,20 @@ msgstr ""
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr ""
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr ""
@@ -300,7 +272,7 @@ msgstr ""
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr ""
@@ -312,75 +284,79 @@ msgstr ""
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr ""
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+#: lib/elements/fill.py:27
+msgid "Border crosses itself"
msgstr ""
#: lib/elements/fill.py:28
-msgid "Border crosses itself"
+msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr ""
-#: lib/elements/fill.py:29
-msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
+#: lib/elements/fill.py:30
+msgid "* Path > Union (Ctrl++)"
msgstr ""
#: lib/elements/fill.py:31
-msgid "* Path > Union (Ctrl++)"
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr ""
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr ""
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr ""
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr ""
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr ""
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr ""
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr ""
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr ""
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr ""
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr ""
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr ""
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr ""
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr ""
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr ""
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr ""
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr ""
@@ -675,6 +650,22 @@ msgstr ""
msgid "Please select one or more satin columns to flip."
msgstr ""
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -858,10 +849,42 @@ msgstr ""
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr ""
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr ""
@@ -997,7 +1020,7 @@ msgstr ""
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr ""
@@ -1008,34 +1031,34 @@ msgstr ""
msgid "Error writing to %(path)s: %(error)s"
msgstr ""
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr ""
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr ""
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr ""
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr ""
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr ""
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr ""
@@ -1577,19 +1600,27 @@ msgstr ""
msgid "Auto-Route Satin Columns"
msgstr ""
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr ""
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr ""
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr ""
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr ""
@@ -1602,35 +1633,35 @@ msgstr ""
msgid "Embroider"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr ""
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr ""
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr ""
@@ -1642,17 +1673,33 @@ msgstr ""
msgid "Add Commands"
msgstr ""
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr ""
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr ""
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr ""
@@ -1665,7 +1712,7 @@ msgstr ""
msgid "Add Layer Commands"
msgstr ""
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr ""
@@ -1677,84 +1724,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr ""
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr ""
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr ""
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
+msgid "negate X coordinate values"
msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr ""
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1770,27 +1829,27 @@ msgstr ""
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1798,15 +1857,27 @@ msgstr ""
msgid "Simulate"
msgstr ""
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr ""
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr ""
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr ""
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_ca_ES.po b/translations/messages_ca_ES.po
index fc01615b..2d059f0e 100644
--- a/translations/messages_ca_ES.po
+++ b/translations/messages_ca_ES.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:09\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Catalan\n"
"MIME-Version: 1.0\n"
@@ -16,36 +16,36 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: ca_ES\n"
-#. name of font in fonts/small_font
+#. name of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
+msgid "TT Directors"
msgstr ""
-#. description of font in fonts/small_font
+#. description of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgid "A font suited for directing"
msgstr ""
-#. name of font in fonts/tt_directors
+#. name of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:6
-msgid "TT Directors"
+msgid "Ink/Stitch Medium Font"
msgstr ""
-#. description of font in fonts/tt_directors
+#. description of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:8
-msgid "A font suited for directing"
+#, python-format
+msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr ""
-#. name of font in fonts/medium_font
+#. name of font in fonts/small_font
#: inkstitch-fonts-metadata.py:10
-msgid "Ink/Stitch Medium Font"
+msgid "Ink/Stitch Small Font"
msgstr ""
-#. description of font in fonts/medium_font
+#. description of font in fonts/small_font
#: inkstitch-fonts-metadata.py:12
#, python-format
-msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
msgstr ""
#. name of font in fonts/tt_masters
@@ -58,106 +58,70 @@ msgstr ""
msgid "A font suited for heavy typing :)"
msgstr ""
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr ""
-
-#: lib/commands.py:23
-msgid "Fill stitch ending position"
+msgid "Fill stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:26
-msgid "satin_start"
-msgstr ""
-
-#: lib/commands.py:26
-msgid "Auto-route satin stitch starting position"
+msgid "Fill stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:29
-msgid "satin_end"
-msgstr ""
-
-#: lib/commands.py:29
-msgid "Auto-route satin stitch ending position"
+msgid "Auto-route satin stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:32
-msgid "stop"
-msgstr ""
-
-#: lib/commands.py:32
-msgid "Stop (pause machine) after sewing this object"
+msgid "Auto-route satin stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:35
-msgid "trim"
-msgstr ""
-
-#: lib/commands.py:35
-msgid "Trim thread after sewing this object"
+msgid "Stop (pause machine) after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:38
-msgid "ignore_object"
-msgstr ""
-
-#: lib/commands.py:38
-msgid "Ignore this object (do not stitch)"
+msgid "Trim thread after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:41
-msgid "satin_cut_point"
+msgid "Ignore this object (do not stitch)"
msgstr ""
-#: lib/commands.py:41
+#. command attached to an object
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr ""
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr ""
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr ""
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr ""
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr ""
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr ""
@@ -167,22 +131,22 @@ msgstr ""
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr ""
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr ""
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr ""
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr ""
@@ -253,11 +217,11 @@ msgstr ""
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr ""
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr ""
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr ""
@@ -287,12 +251,20 @@ msgstr ""
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr ""
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr ""
@@ -300,7 +272,7 @@ msgstr ""
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr ""
@@ -312,75 +284,79 @@ msgstr ""
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr ""
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+#: lib/elements/fill.py:27
+msgid "Border crosses itself"
msgstr ""
#: lib/elements/fill.py:28
-msgid "Border crosses itself"
+msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr ""
-#: lib/elements/fill.py:29
-msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
+#: lib/elements/fill.py:30
+msgid "* Path > Union (Ctrl++)"
msgstr ""
#: lib/elements/fill.py:31
-msgid "* Path > Union (Ctrl++)"
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr ""
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr ""
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr ""
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr ""
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr ""
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr ""
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr ""
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr ""
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr ""
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr ""
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr ""
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr ""
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr ""
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr ""
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr ""
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr ""
@@ -675,6 +650,22 @@ msgstr ""
msgid "Please select one or more satin columns to flip."
msgstr ""
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -858,10 +849,42 @@ msgstr ""
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr ""
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr ""
@@ -997,7 +1020,7 @@ msgstr ""
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr ""
@@ -1008,34 +1031,34 @@ msgstr ""
msgid "Error writing to %(path)s: %(error)s"
msgstr ""
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr ""
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr ""
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr ""
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr ""
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr ""
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr ""
@@ -1577,19 +1600,27 @@ msgstr ""
msgid "Auto-Route Satin Columns"
msgstr ""
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr ""
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr ""
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr ""
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr ""
@@ -1602,35 +1633,35 @@ msgstr ""
msgid "Embroider"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr ""
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr ""
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr ""
@@ -1642,17 +1673,33 @@ msgstr ""
msgid "Add Commands"
msgstr ""
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr ""
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr ""
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr ""
@@ -1665,7 +1712,7 @@ msgstr ""
msgid "Add Layer Commands"
msgstr ""
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr ""
@@ -1677,84 +1724,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr ""
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr ""
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr ""
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
+msgid "negate X coordinate values"
msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr ""
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1770,27 +1829,27 @@ msgstr ""
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1798,15 +1857,27 @@ msgstr ""
msgid "Simulate"
msgstr ""
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr ""
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr ""
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr ""
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_cs_CZ.po b/translations/messages_cs_CZ.po
index 60295c58..20d485cd 100644
--- a/translations/messages_cs_CZ.po
+++ b/translations/messages_cs_CZ.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:09\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Czech\n"
"MIME-Version: 1.0\n"
@@ -16,36 +16,36 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: cs_CZ\n"
-#. name of font in fonts/small_font
+#. name of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
+msgid "TT Directors"
msgstr ""
-#. description of font in fonts/small_font
+#. description of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgid "A font suited for directing"
msgstr ""
-#. name of font in fonts/tt_directors
+#. name of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:6
-msgid "TT Directors"
+msgid "Ink/Stitch Medium Font"
msgstr ""
-#. description of font in fonts/tt_directors
+#. description of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:8
-msgid "A font suited for directing"
+#, python-format
+msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr ""
-#. name of font in fonts/medium_font
+#. name of font in fonts/small_font
#: inkstitch-fonts-metadata.py:10
-msgid "Ink/Stitch Medium Font"
+msgid "Ink/Stitch Small Font"
msgstr ""
-#. description of font in fonts/medium_font
+#. description of font in fonts/small_font
#: inkstitch-fonts-metadata.py:12
#, python-format
-msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
msgstr ""
#. name of font in fonts/tt_masters
@@ -58,106 +58,70 @@ msgstr ""
msgid "A font suited for heavy typing :)"
msgstr ""
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr ""
-
-#: lib/commands.py:23
-msgid "Fill stitch ending position"
+msgid "Fill stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:26
-msgid "satin_start"
-msgstr ""
-
-#: lib/commands.py:26
-msgid "Auto-route satin stitch starting position"
+msgid "Fill stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:29
-msgid "satin_end"
-msgstr ""
-
-#: lib/commands.py:29
-msgid "Auto-route satin stitch ending position"
+msgid "Auto-route satin stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:32
-msgid "stop"
-msgstr ""
-
-#: lib/commands.py:32
-msgid "Stop (pause machine) after sewing this object"
+msgid "Auto-route satin stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:35
-msgid "trim"
-msgstr ""
-
-#: lib/commands.py:35
-msgid "Trim thread after sewing this object"
+msgid "Stop (pause machine) after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:38
-msgid "ignore_object"
-msgstr ""
-
-#: lib/commands.py:38
-msgid "Ignore this object (do not stitch)"
+msgid "Trim thread after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:41
-msgid "satin_cut_point"
+msgid "Ignore this object (do not stitch)"
msgstr ""
-#: lib/commands.py:41
+#. command attached to an object
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr ""
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr ""
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr ""
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr ""
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr ""
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr ""
@@ -167,22 +131,22 @@ msgstr ""
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr ""
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr ""
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr ""
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr ""
@@ -253,11 +217,11 @@ msgstr ""
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr ""
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr ""
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr ""
@@ -287,12 +251,20 @@ msgstr ""
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr ""
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr ""
@@ -300,7 +272,7 @@ msgstr ""
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr ""
@@ -312,75 +284,79 @@ msgstr ""
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr ""
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+#: lib/elements/fill.py:27
+msgid "Border crosses itself"
msgstr ""
#: lib/elements/fill.py:28
-msgid "Border crosses itself"
+msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr ""
-#: lib/elements/fill.py:29
-msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
+#: lib/elements/fill.py:30
+msgid "* Path > Union (Ctrl++)"
msgstr ""
#: lib/elements/fill.py:31
-msgid "* Path > Union (Ctrl++)"
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr ""
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr ""
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr ""
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr ""
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr ""
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr ""
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr ""
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr ""
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr ""
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr ""
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr ""
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr ""
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr ""
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr ""
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr ""
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr ""
@@ -675,6 +650,22 @@ msgstr ""
msgid "Please select one or more satin columns to flip."
msgstr ""
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -858,10 +849,42 @@ msgstr ""
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr ""
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr ""
@@ -997,7 +1020,7 @@ msgstr ""
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr ""
@@ -1008,34 +1031,34 @@ msgstr ""
msgid "Error writing to %(path)s: %(error)s"
msgstr ""
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr ""
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr ""
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr ""
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr ""
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr ""
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr ""
@@ -1577,19 +1600,27 @@ msgstr ""
msgid "Auto-Route Satin Columns"
msgstr ""
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr ""
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr ""
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr ""
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr ""
@@ -1602,35 +1633,35 @@ msgstr ""
msgid "Embroider"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr ""
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr ""
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr ""
@@ -1642,17 +1673,33 @@ msgstr ""
msgid "Add Commands"
msgstr ""
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr ""
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr ""
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr ""
@@ -1665,7 +1712,7 @@ msgstr ""
msgid "Add Layer Commands"
msgstr ""
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr ""
@@ -1677,84 +1724,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr ""
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr ""
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr ""
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
+msgid "negate X coordinate values"
msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr ""
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1770,27 +1829,27 @@ msgstr ""
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1798,15 +1857,27 @@ msgstr ""
msgid "Simulate"
msgstr ""
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr ""
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr ""
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr ""
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_da_DK.po b/translations/messages_da_DK.po
index 72d6423a..af70a355 100644
--- a/translations/messages_da_DK.po
+++ b/translations/messages_da_DK.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:09\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Danish\n"
"MIME-Version: 1.0\n"
@@ -16,36 +16,36 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: da_DK\n"
-#. name of font in fonts/small_font
+#. name of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
+msgid "TT Directors"
msgstr ""
-#. description of font in fonts/small_font
+#. description of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgid "A font suited for directing"
msgstr ""
-#. name of font in fonts/tt_directors
+#. name of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:6
-msgid "TT Directors"
+msgid "Ink/Stitch Medium Font"
msgstr ""
-#. description of font in fonts/tt_directors
+#. description of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:8
-msgid "A font suited for directing"
+#, python-format
+msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr ""
-#. name of font in fonts/medium_font
+#. name of font in fonts/small_font
#: inkstitch-fonts-metadata.py:10
-msgid "Ink/Stitch Medium Font"
+msgid "Ink/Stitch Small Font"
msgstr ""
-#. description of font in fonts/medium_font
+#. description of font in fonts/small_font
#: inkstitch-fonts-metadata.py:12
#, python-format
-msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
msgstr ""
#. name of font in fonts/tt_masters
@@ -58,106 +58,70 @@ msgstr ""
msgid "A font suited for heavy typing :)"
msgstr ""
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr ""
-
-#: lib/commands.py:23
-msgid "Fill stitch ending position"
+msgid "Fill stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:26
-msgid "satin_start"
-msgstr ""
-
-#: lib/commands.py:26
-msgid "Auto-route satin stitch starting position"
+msgid "Fill stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:29
-msgid "satin_end"
-msgstr ""
-
-#: lib/commands.py:29
-msgid "Auto-route satin stitch ending position"
+msgid "Auto-route satin stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:32
-msgid "stop"
-msgstr ""
-
-#: lib/commands.py:32
-msgid "Stop (pause machine) after sewing this object"
+msgid "Auto-route satin stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:35
-msgid "trim"
-msgstr ""
-
-#: lib/commands.py:35
-msgid "Trim thread after sewing this object"
+msgid "Stop (pause machine) after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:38
-msgid "ignore_object"
-msgstr ""
-
-#: lib/commands.py:38
-msgid "Ignore this object (do not stitch)"
+msgid "Trim thread after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:41
-msgid "satin_cut_point"
+msgid "Ignore this object (do not stitch)"
msgstr ""
-#: lib/commands.py:41
+#. command attached to an object
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr ""
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr ""
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr ""
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr ""
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr ""
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr ""
@@ -167,22 +131,22 @@ msgstr ""
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr ""
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr ""
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr ""
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr ""
@@ -253,11 +217,11 @@ msgstr ""
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr ""
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr ""
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr ""
@@ -287,12 +251,20 @@ msgstr ""
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr ""
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr ""
@@ -300,7 +272,7 @@ msgstr ""
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr ""
@@ -312,75 +284,79 @@ msgstr ""
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr ""
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+#: lib/elements/fill.py:27
+msgid "Border crosses itself"
msgstr ""
#: lib/elements/fill.py:28
-msgid "Border crosses itself"
+msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr ""
-#: lib/elements/fill.py:29
-msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
+#: lib/elements/fill.py:30
+msgid "* Path > Union (Ctrl++)"
msgstr ""
#: lib/elements/fill.py:31
-msgid "* Path > Union (Ctrl++)"
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr ""
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr ""
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr ""
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr ""
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr ""
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr ""
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr ""
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr ""
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr ""
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr ""
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr ""
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr ""
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr ""
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr ""
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr ""
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr ""
@@ -675,6 +650,22 @@ msgstr ""
msgid "Please select one or more satin columns to flip."
msgstr ""
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -858,10 +849,42 @@ msgstr ""
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr ""
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr ""
@@ -997,7 +1020,7 @@ msgstr ""
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr ""
@@ -1008,34 +1031,34 @@ msgstr ""
msgid "Error writing to %(path)s: %(error)s"
msgstr ""
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr ""
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr ""
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr ""
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr ""
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr ""
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr ""
@@ -1577,19 +1600,27 @@ msgstr ""
msgid "Auto-Route Satin Columns"
msgstr ""
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr ""
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr ""
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr ""
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr ""
@@ -1602,35 +1633,35 @@ msgstr ""
msgid "Embroider"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr ""
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr ""
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr ""
@@ -1642,17 +1673,33 @@ msgstr ""
msgid "Add Commands"
msgstr ""
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr ""
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr ""
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr ""
@@ -1665,7 +1712,7 @@ msgstr ""
msgid "Add Layer Commands"
msgstr ""
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr ""
@@ -1677,84 +1724,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr ""
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr ""
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr ""
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
+msgid "negate X coordinate values"
msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr ""
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1770,27 +1829,27 @@ msgstr ""
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1798,15 +1857,27 @@ msgstr ""
msgid "Simulate"
msgstr ""
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr ""
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr ""
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr ""
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_de_DE.po b/translations/messages_de_DE.po
index 3ed82d99..ee1a8e09 100644
--- a/translations/messages_de_DE.po
+++ b/translations/messages_de_DE.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:09\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: German\n"
"MIME-Version: 1.0\n"
@@ -16,38 +16,38 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: de_DE\n"
-#. name of font in fonts/small_font
-#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
-msgstr "Ink/Stitch Kleine Schrift"
-
-#. description of font in fonts/small_font
-#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
-msgstr "Für kleine Schriftgrößen geeignet. Der Großbuchstabe \"M\" ist bei 100% Skalierung 5,08 mm breit. Die Schrift kann bis auf 300% skaliert werden."
-
#. name of font in fonts/tt_directors
-#: inkstitch-fonts-metadata.py:6
+#: inkstitch-fonts-metadata.py:2
msgid "TT Directors"
msgstr "TT Directors"
#. description of font in fonts/tt_directors
-#: inkstitch-fonts-metadata.py:8
+#: inkstitch-fonts-metadata.py:4
msgid "A font suited for directing"
msgstr "Eine Schrift geeignete für wichtiges"
#. name of font in fonts/medium_font
-#: inkstitch-fonts-metadata.py:10
+#: inkstitch-fonts-metadata.py:6
msgid "Ink/Stitch Medium Font"
msgstr "Ink/Stitch Mittelgroße Schrift"
#. description of font in fonts/medium_font
-#: inkstitch-fonts-metadata.py:12
+#: inkstitch-fonts-metadata.py:8
#, python-format
msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr "Für mittelgroße Schriftgrößen geeignet. Der Großbuchstabe \"M\" ist bei 100% Skalierung 15,24 mm breit. Die Schrift kann von 75% bis auf 150% skaliert werden. Alle Satinkolumnen haben eine Konturunterlage."
+#. name of font in fonts/small_font
+#: inkstitch-fonts-metadata.py:10
+msgid "Ink/Stitch Small Font"
+msgstr "Ink/Stitch Kleine Schrift"
+
+#. description of font in fonts/small_font
+#: inkstitch-fonts-metadata.py:12
+#, python-format
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgstr "Für kleine Schriftgrößen geeignet. Der Großbuchstabe \"M\" ist bei 100% Skalierung 5,08 mm breit. Die Schrift kann bis auf 300% skaliert werden."
+
#. name of font in fonts/tt_masters
#: inkstitch-fonts-metadata.py:14
msgid "TT Masters"
@@ -58,106 +58,70 @@ msgstr "TT Meister"
msgid "A font suited for heavy typing :)"
msgstr "Eine Schrift geeignete für fett geschriebenes :)"
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
-msgstr "fill_start"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
+msgstr "Ink/Stitch hat einen unerwarteten Fehler zurückgegeben."
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
-msgstr "Füllstich Startposition"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
+msgstr "Wenn du uns bei der Fehlerbehebung helfen willst, gehe auf https://github.com/inkstitch/inkstitch/issues. Klicke auf \"New Issue\" und füge unten stehende Fehlermeldung in das Textfeld ein:"
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr "fill_end"
+msgid "Fill stitch starting position"
+msgstr "Füllstich Startposition"
-#: lib/commands.py:23
+#. command attached to an object
+#: lib/commands.py:26
msgid "Fill stitch ending position"
msgstr "Füllstich Endposition"
#. command attached to an object
-#: lib/commands.py:26
-msgid "satin_start"
-msgstr "satin_start"
-
-#: lib/commands.py:26
+#: lib/commands.py:29
msgid "Auto-route satin stitch starting position"
msgstr "Startposition für automatisch geführte Satinkolumne"
#. command attached to an object
-#: lib/commands.py:29
-msgid "satin_end"
-msgstr "satin_end"
-
-#: lib/commands.py:29
+#: lib/commands.py:32
msgid "Auto-route satin stitch ending position"
msgstr "Endposition für automatisch geführte Satinkolumne"
#. command attached to an object
-#: lib/commands.py:32
-msgid "stop"
-msgstr "stop"
-
-#: lib/commands.py:32
+#: lib/commands.py:35
msgid "Stop (pause machine) after sewing this object"
msgstr "Stoppen (Pause) nach dem Nähen diesem Objekts"
#. command attached to an object
-#: lib/commands.py:35
-msgid "trim"
-msgstr "trim"
-
-#: lib/commands.py:35
+#: lib/commands.py:38
msgid "Trim thread after sewing this object"
msgstr "Faden abschneiden nach diesem Objekt"
#. command attached to an object
-#: lib/commands.py:38
-msgid "ignore_object"
-msgstr "ignore_object"
-
-#: lib/commands.py:38
+#: lib/commands.py:41
msgid "Ignore this object (do not stitch)"
msgstr "Ignoriere dieses Objekt (nicht nähen)"
#. command attached to an object
-#: lib/commands.py:41
-msgid "satin_cut_point"
-msgstr "satin_cut_point"
-
-#: lib/commands.py:41
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr "Satin Schnittpunkt (mit \"Satinkolumne schneiden\" benutzen)"
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr "ignore_layer"
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr "Ebene ignorieren (keine Objekte in dieser Ebene nähen)"
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr "origin"
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr "Nullpunkt für exportierte Stickdateien"
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr "stop_position"
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr "Rahmenposition nach Stop-Befehlen."
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr "Fehler: Es gibt mehr als einen %(command)s-Befehl in dem Dokument, aber es darf nur einen geben. Bitte alle bis auf einen entfernen."
@@ -167,22 +131,22 @@ msgstr "Fehler: Es gibt mehr als einen %(command)s-Befehl in dem Dokument, aber
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr "%(command)s: %(description)s"
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr "Ink/Stitch Befehl"
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr "Verknüpfung"
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr "Befehlszeichen"
@@ -227,7 +191,7 @@ msgstr "Füllwinkel"
#: lib/elements/auto_fill.py:63
msgid "Default: fill angle + 90 deg. Insert comma-seperated list for multiple layers."
-msgstr ""
+msgstr "Standard: Füllwinkel + 90 Grad. Füge durch Kommata getrennte Werte ein, um mehrere Unterlagen zu erzeugen (z.B. 45, -45)."
#: lib/elements/auto_fill.py:84
msgid "Row spacing"
@@ -253,11 +217,11 @@ msgstr "Einzug"
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr "Schrumpfen Sie die Form vor der Unterlage, um zu verhindern, dass die Unterlage um die Außenseite der Füllung herum sichtbar wird."
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr "Letzten Stich in jeder Reihe überspringen"
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr "Der letzte Stich einer Reihe ist sehr nah an dem ersten Stich der nächsten Reihe. Ihn zu überspringen verringert Stichanzahl und Dichte."
@@ -287,12 +251,20 @@ msgstr "Es ist ein Fehler bei der AutoFüllung aufgetreten! Das bedeutet, es gib
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr "Wenn du uns helfen willst Ink/Stitch zu verbessern, kopiere die gesamte Nachricht und erstelle einen neuen Fehlerbericht (Issue) auf: "
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr "Vernähen"
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr "Faden vernähen. Bei manueller Stichplatzierung hat diese Einstellung keinen Effekt."
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr "Objekt %(id)s hat ein leeres Attribut 'd'. Bitte lösche dieses Objekt aus dem Dokument."
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr "%(id)s beinhaltet mehr als einen Befehl vom Typ '%(command)s'"
@@ -300,7 +272,7 @@ msgstr "%(id)s beinhaltet mehr als einen Befehl vom Typ '%(command)s'"
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr "Fehler:"
@@ -312,75 +284,79 @@ msgstr "Nicht verbunden"
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr "Füllung: Dieses Objekt besteht aus unzusammenhängenden Formen. Das ist nicht erlaubt, da Ink/Stitch nicht weiß, in welcher Reihenfolge diese Objekte gestickt werden sollen. Bitte zerlege den Pfad in separate Teile."
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
-msgstr "* Pfad > Pfad zerlegen (Strg + Shift + K)"
-
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
-msgstr "* (Optional) Formen mit Löchern wieder zusammenfügen (Strg + K)."
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
+msgstr ""
-#: lib/elements/fill.py:28
+#: lib/elements/fill.py:27
msgid "Border crosses itself"
msgstr "Außenlinien überkreuzen sich selbst"
-#: lib/elements/fill.py:29
+#: lib/elements/fill.py:28
msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr "Füllung: Form ist ungültig. Das kann passieren, wenn sich die Außenlinien selbst überkreuzen."
-#: lib/elements/fill.py:31
+#: lib/elements/fill.py:30
msgid "* Path > Union (Ctrl++)"
msgstr "* Pfad > Vereinigung (Strg + +)"
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:31
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr "* Pfad > Pfad zerlegen (Strg + Shift + K)"
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+msgstr "* (Optional) Formen mit Löchern wieder zusammenfügen (Strg + K)."
+
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr "Füllung"
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr "Manuell geführte Füllstiche"
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr "AutoFill ist die Standardmethode zum Erstellen von Füllstichen."
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr "Winkel der Stichlinien"
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr "Der Winkel nimmt gegen den Uhrzeigersinn zu. 0 ist horizontal. Negative Winkel sind erlaubt."
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr "Rückwärtsfüllung (von rechts nach links)"
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr "Die Umkehr-Option kann bei der Reihenfolge des Stichpfads helfen. Wenn Umdrehen aktiviert wird, wird das Sticken von rechts nach links anstatt von links nach rechts ausgeführt."
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr "Reihenabstand"
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr "Abstand zwischen den Stichreihen."
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr "Maximale Füllstichlänge"
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr "Die Stichlänge in einer Reihe. Ein kürzerer Stich kann am Anfang oder am Ende einer Reihe verwendet werden."
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr "Reihenanzahl bis sich das Muster wiederholt"
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr "Die Einstellung bestimmt, wie viele Reihen die Stiche voneinander entfernt sind, bevor sie in die gleiche Kolumneposition münden."
@@ -642,6 +618,10 @@ msgstr "Ink/Stitch kann nur mit Pfaden arbeiten, nicht aber mit Objekten wie Tex
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr "Tipp: Markiere einige Objekte und nutze die Funktion \"Pfad > Objekt in Pfad umwandeln\"."
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr "Um unverbundene Flächen voneinander zu trennen, wähle bitte ein oder mehrere Füllobjekte aus."
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr "Bitte wähle mindestens eine Zeile aus, die in eine Satinkolumne konvertiert werden soll."
@@ -652,11 +632,6 @@ msgstr "Bitte wähle mindestens eine Zeile aus, die in eine Satinkolumne konvert
msgid "Only simple lines may be converted to satin columns."
msgstr "Nur einfache Linien können in Satinkolumnen konvertiert werden."
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr "%s kann nicht in eine Satinkolumne konvertiert werden, da sie sich selbst berührt. Versuche es in mehrere Pfade aufzuteilen."
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr "Bitte wähle eine oder mehrere Satinkolumnen zum schneiden aus."
@@ -677,6 +652,22 @@ msgstr "\n\n"
msgid "Please select one or more satin columns to flip."
msgstr "Bitte wählen Sie eine oder mehrere Satinkolumnen zum drehen aus."
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr "Ink/Stitch kann Dateien (\"Erweiterungen\") installieren, um das Erstellen von Maschinenstickdateien unter Inkscape zu erleichtern. Diese Erweiterungen werden installiert:"
@@ -860,10 +851,42 @@ msgstr "Warnungen"
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr "Es ist möglich, dass ein Objekt mehr als einen Fehler enthält. Trotzdem wird in einigen Fällen nur ein Fehler pro Objekt angezeigt. Tauchen noch weitere Fehlermeldungen auf, führe diese Funktion einfach erneut aus. Entferne diese Hinweise durch das Löschen der Ebene \"Troubleshoot\" im Dialogfenster Objekte (Objekt > Objekte...)."
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr "Garnliste"
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr "Keine Stick-Dateiformate ausgewählt."
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr "Design Details"
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr "Titel"
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr "Größe"
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr "Stiche"
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr "Farben"
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr "Garnabfolge"
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr "Verwendetes Garn"
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr "Voreinstellungen"
@@ -999,7 +1022,7 @@ msgstr "Stick Simulation"
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr "Erzeuge INX Dateien"
@@ -1010,34 +1033,34 @@ msgstr "Erzeuge INX Dateien"
msgid "Error writing to %(path)s: %(error)s"
msgstr "Fehler beim Schreiben in %(path)s: %(error)s"
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr "Automatischer Satinstich"
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr "AutoSatin %d"
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr "AutoSatin Laufstich %d"
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr "Stich-Plan"
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr "AnalysiereLängeMitEinheiten: Unbekannte Einheit %s"
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr "Unbekannte Einheit: %s"
@@ -1579,19 +1602,27 @@ msgstr "G-Code Format"
msgid "Auto-Route Satin Columns"
msgstr "Automatisch geführte Satinkolumnen"
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr "Schneide Faden bei Sprungstichen"
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr "Behalte Reihenfolge der Satinkolumnen bei"
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr "Satin Werkzeuge"
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr "Unverbundene Flächen voneinander trennen"
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr "Füllstitch Werkzeuge"
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr "Konvertierung Linie zu Satinstich"
@@ -1604,35 +1635,35 @@ msgstr "Satinkolumne schneiden"
msgid "Embroider"
msgstr "Sticken"
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr "Mindestlänge (mm)"
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr "Sprungstiche, die kleiner sind, werden als normale Stiche behandelt."
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr "Andere Ebenen ausblenden"
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr "Verberge alle anderen Ebenen, wenn die Stickebene erstellt wird, um die Nähte sichtbar zu machen."
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr "Ausgabeformat"
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr "DEBUG"
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr "Verzeichnis"
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr "Leer lassen, um die Ausgabe im Erweiterungsverzeichnis von Inkscape zu speichern."
@@ -1644,17 +1675,33 @@ msgstr "Konturen der Satinkolumne umkehren"
msgid "Add Commands"
msgstr "Befehle hinzufügen"
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr "Diese Befehle wirken sich auf das gesamte Stickdesign aus."
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr "Befehle"
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr "Konvertierung der %(file_extension)s Datei in Ink/Stitch manuelle Stichpfade"
@@ -1667,7 +1714,7 @@ msgstr "Installiere Erweiterungen für Inkscape"
msgid "Add Layer Commands"
msgstr "Ebenenbefehle hinzufügen"
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr "Befehle werden zur aktuell ausgewählten Ebene hinzugefügt."
@@ -1679,84 +1726,96 @@ msgstr "Text"
msgid "Attach Commands to Selected Objects"
msgstr "Befehle mit gewählten Objekten verknüpfen"
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr "Speichern des Designs ins %(file_extension)s Format mit Ink/Stitch"
-#: templates/output_params_txt.xml:2
+#: templates/output_params_txt.xml:4
+msgid "negate X coordinate values"
+msgstr "x-Koordinatenwerte negieren"
+
+#: templates/output_params_txt.xml:4
+msgid "Negate x coordinates"
+msgstr "X-Koordinaten negieren"
+
+#: templates/output_params_txt.xml:5
+msgid "negate Y coordinate values"
+msgstr "y-Koordinatenwerte negieren"
+
+#: templates/output_params_txt.xml:5
+msgid "Negate y coordinates"
+msgstr "Y-Koordinaten negieren"
+
+#: templates/output_params_txt.xml:6
+msgid "Z coordinate value"
+msgstr "Wert für Z-Koordinate"
+
+#: templates/output_params_txt.xml:6
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
+msgstr "Nutze entweder alternierende Z Werte (0 und 1) oder addiere jeweils den vordefinierten Wert."
+
+#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr "alternierender Z Wert"
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
+msgid "Z travel per stitch"
+msgstr "Z Wert pro Stich"
+
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr "Erhöhe die Z-Koordinate um diesen Wert pro Stitch, wenn \"Z Wert pro Stich\" aktiviert ist"
+
+#: templates/output_params_txt.xml:13
msgid "laser mode"
msgstr "Lasermodus"
-#: templates/output_params_txt.xml:2
+#: templates/output_params_txt.xml:13
msgid "Laser mode (generate g-code for grbl laser mode)"
msgstr "Lasermodus (G-Code für den GRBL Lasermodus generieren)"
-#: templates/output_params_txt.xml:3
+#: templates/output_params_txt.xml:14
msgid "dynamic laser power"
msgstr "dynamische Kraft des Lasers"
-#: templates/output_params_txt.xml:3
+#: templates/output_params_txt.xml:14
msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
msgstr "Verwende den dynamischen Laserleistungsmodus M4 von GRBL. Gewährleistet eine konstante Laserschneidleistung unabhängig von der Motordrehzahl. Nur für PWM-fähige Laser."
-#: templates/output_params_txt.xml:4
+#: templates/output_params_txt.xml:15
msgid "laser warm-up time"
msgstr "Laser Aufwärmzeit"
-#: templates/output_params_txt.xml:4
+#: templates/output_params_txt.xml:15
msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
msgstr "Warte so viele Sekunden nach dem Einschalten des Lasers - Aufwärmphase (G4 Befehl)"
-#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
-msgstr "x-Koordinatenwerte negieren"
-
-#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
-msgstr "X-Koordinaten negieren"
-
-#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
-msgstr "y-Koordinatenwerte negieren"
-
-#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
-msgstr "Y-Koordinaten negieren"
-
-#: templates/output_params_txt.xml:7
-msgid "Z travel per stitch"
-msgstr "Z Weg pro Stich"
-
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
-msgstr "Erhöhe z-Koordinate um diesen Wert pro Stich"
-
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr "Spindeldrehzahl"
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr "Spindeldrehzahl (Laserpower für Lasermodus, setze auf -1 um es auszulassen)"
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr "minimale Spindeldrehzahl"
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr "minimale Spindeldrehzahl Wert (grbl $31 setting)"
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr "maximale Spindeldrehzahl"
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr "minimale Spindeldrehzahl Wert (grbl $30 setting)"
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr "Vorschubsrate (in mm/min, setzte auf -1 um es auszulassen)"
@@ -1772,27 +1831,27 @@ msgstr "Drucken / Realistische Vorschau"
msgid "Remove embroidery settings"
msgstr "Stickeinstellungen entfernen"
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr "Entfernt Informationen, die Ink/Stitch in diesem Dokument gespeichert hat. Das kann besonders dann hilfreich sein, wenn du Objekte aus einem Stickdesign in ein anderes Dokument kopierst."
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr "Parameter entfernen"
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr "Entfernt Parameter von ausgewählten Objekten oder allen Objekten, wenn keines ausgewählt ist."
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr "Befehle entfernen"
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr "Entfernt Befehle von ausgewählten Objekten oder allen Objekten, wenn keines ausgewählt ist."
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr "Druckeinstellungen aus den SVG Metadaten entfernen"
@@ -1800,15 +1859,27 @@ msgstr "Druckeinstellungen aus den SVG Metadaten entfernen"
msgid "Simulate"
msgstr "Simulation"
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr "Stich-Plan Vorschau"
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr "Fehlerbehebung an den Objekten"
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr "Ink/Stitch: Export von mehreren Formaten (.zip)"
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr "Erstellen einer ZIP-Datei mit mehreren Stickformaten die Ink/Stitch unterstützt"
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr "Skalierbare Vektorgrafik"
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr "Garnliste"
+
diff --git a/translations/messages_el_GR.po b/translations/messages_el_GR.po
index 2d923aff..6829b3cd 100644
--- a/translations/messages_el_GR.po
+++ b/translations/messages_el_GR.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:10\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Greek\n"
"MIME-Version: 1.0\n"
@@ -16,36 +16,36 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: el_GR\n"
-#. name of font in fonts/small_font
+#. name of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
+msgid "TT Directors"
msgstr ""
-#. description of font in fonts/small_font
+#. description of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgid "A font suited for directing"
msgstr ""
-#. name of font in fonts/tt_directors
+#. name of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:6
-msgid "TT Directors"
+msgid "Ink/Stitch Medium Font"
msgstr ""
-#. description of font in fonts/tt_directors
+#. description of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:8
-msgid "A font suited for directing"
+#, python-format
+msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr ""
-#. name of font in fonts/medium_font
+#. name of font in fonts/small_font
#: inkstitch-fonts-metadata.py:10
-msgid "Ink/Stitch Medium Font"
+msgid "Ink/Stitch Small Font"
msgstr ""
-#. description of font in fonts/medium_font
+#. description of font in fonts/small_font
#: inkstitch-fonts-metadata.py:12
#, python-format
-msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
msgstr ""
#. name of font in fonts/tt_masters
@@ -58,106 +58,70 @@ msgstr ""
msgid "A font suited for heavy typing :)"
msgstr ""
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr ""
-
-#: lib/commands.py:23
-msgid "Fill stitch ending position"
+msgid "Fill stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:26
-msgid "satin_start"
-msgstr ""
-
-#: lib/commands.py:26
-msgid "Auto-route satin stitch starting position"
+msgid "Fill stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:29
-msgid "satin_end"
-msgstr ""
-
-#: lib/commands.py:29
-msgid "Auto-route satin stitch ending position"
+msgid "Auto-route satin stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:32
-msgid "stop"
-msgstr ""
-
-#: lib/commands.py:32
-msgid "Stop (pause machine) after sewing this object"
+msgid "Auto-route satin stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:35
-msgid "trim"
-msgstr ""
-
-#: lib/commands.py:35
-msgid "Trim thread after sewing this object"
+msgid "Stop (pause machine) after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:38
-msgid "ignore_object"
-msgstr ""
-
-#: lib/commands.py:38
-msgid "Ignore this object (do not stitch)"
+msgid "Trim thread after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:41
-msgid "satin_cut_point"
+msgid "Ignore this object (do not stitch)"
msgstr ""
-#: lib/commands.py:41
+#. command attached to an object
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr ""
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr ""
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr ""
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr ""
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr ""
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr ""
@@ -167,22 +131,22 @@ msgstr ""
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr ""
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr ""
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr ""
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr ""
@@ -253,11 +217,11 @@ msgstr ""
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr ""
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr ""
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr ""
@@ -287,12 +251,20 @@ msgstr ""
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr ""
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr ""
@@ -300,7 +272,7 @@ msgstr ""
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr ""
@@ -312,75 +284,79 @@ msgstr ""
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr ""
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+#: lib/elements/fill.py:27
+msgid "Border crosses itself"
msgstr ""
#: lib/elements/fill.py:28
-msgid "Border crosses itself"
+msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr ""
-#: lib/elements/fill.py:29
-msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
+#: lib/elements/fill.py:30
+msgid "* Path > Union (Ctrl++)"
msgstr ""
#: lib/elements/fill.py:31
-msgid "* Path > Union (Ctrl++)"
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr ""
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr ""
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr ""
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr ""
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr ""
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr ""
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr ""
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr ""
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr ""
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr ""
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr ""
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr ""
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr ""
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr ""
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr ""
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr ""
@@ -675,6 +650,22 @@ msgstr ""
msgid "Please select one or more satin columns to flip."
msgstr ""
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -858,10 +849,42 @@ msgstr ""
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr ""
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr ""
@@ -997,7 +1020,7 @@ msgstr ""
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr ""
@@ -1008,34 +1031,34 @@ msgstr ""
msgid "Error writing to %(path)s: %(error)s"
msgstr ""
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr ""
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr ""
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr ""
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr ""
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr ""
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr ""
@@ -1577,19 +1600,27 @@ msgstr ""
msgid "Auto-Route Satin Columns"
msgstr ""
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr ""
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr ""
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr ""
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr ""
@@ -1602,35 +1633,35 @@ msgstr ""
msgid "Embroider"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr ""
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr ""
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr ""
@@ -1642,17 +1673,33 @@ msgstr ""
msgid "Add Commands"
msgstr ""
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr ""
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr ""
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr ""
@@ -1665,7 +1712,7 @@ msgstr ""
msgid "Add Layer Commands"
msgstr ""
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr ""
@@ -1677,84 +1724,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr ""
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr ""
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr ""
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
+msgid "negate X coordinate values"
msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr ""
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1770,27 +1829,27 @@ msgstr ""
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1798,15 +1857,27 @@ msgstr ""
msgid "Simulate"
msgstr ""
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr ""
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr ""
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr ""
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_en_US.po b/translations/messages_en_US.po
index 5fb2f598..9c681a05 100644
--- a/translations/messages_en_US.po
+++ b/translations/messages_en_US.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:09\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: English\n"
"MIME-Version: 1.0\n"
@@ -16,36 +16,36 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: en_US\n"
-#. name of font in fonts/small_font
+#. name of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
+msgid "TT Directors"
msgstr ""
-#. description of font in fonts/small_font
+#. description of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgid "A font suited for directing"
msgstr ""
-#. name of font in fonts/tt_directors
+#. name of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:6
-msgid "TT Directors"
+msgid "Ink/Stitch Medium Font"
msgstr ""
-#. description of font in fonts/tt_directors
+#. description of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:8
-msgid "A font suited for directing"
+#, python-format
+msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr ""
-#. name of font in fonts/medium_font
+#. name of font in fonts/small_font
#: inkstitch-fonts-metadata.py:10
-msgid "Ink/Stitch Medium Font"
+msgid "Ink/Stitch Small Font"
msgstr ""
-#. description of font in fonts/medium_font
+#. description of font in fonts/small_font
#: inkstitch-fonts-metadata.py:12
#, python-format
-msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
msgstr ""
#. name of font in fonts/tt_masters
@@ -58,106 +58,70 @@ msgstr ""
msgid "A font suited for heavy typing :)"
msgstr ""
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr ""
-
-#: lib/commands.py:23
-msgid "Fill stitch ending position"
+msgid "Fill stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:26
-msgid "satin_start"
-msgstr ""
-
-#: lib/commands.py:26
-msgid "Auto-route satin stitch starting position"
+msgid "Fill stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:29
-msgid "satin_end"
-msgstr ""
-
-#: lib/commands.py:29
-msgid "Auto-route satin stitch ending position"
+msgid "Auto-route satin stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:32
-msgid "stop"
-msgstr ""
-
-#: lib/commands.py:32
-msgid "Stop (pause machine) after sewing this object"
+msgid "Auto-route satin stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:35
-msgid "trim"
-msgstr ""
-
-#: lib/commands.py:35
-msgid "Trim thread after sewing this object"
+msgid "Stop (pause machine) after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:38
-msgid "ignore_object"
-msgstr ""
-
-#: lib/commands.py:38
-msgid "Ignore this object (do not stitch)"
+msgid "Trim thread after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:41
-msgid "satin_cut_point"
+msgid "Ignore this object (do not stitch)"
msgstr ""
-#: lib/commands.py:41
+#. command attached to an object
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr ""
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr ""
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr ""
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr ""
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr ""
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr ""
@@ -167,22 +131,22 @@ msgstr ""
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr ""
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr ""
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr ""
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr ""
@@ -253,11 +217,11 @@ msgstr ""
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr ""
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr ""
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr ""
@@ -287,12 +251,20 @@ msgstr ""
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr ""
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr ""
@@ -300,7 +272,7 @@ msgstr ""
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr ""
@@ -312,75 +284,79 @@ msgstr ""
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr ""
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+#: lib/elements/fill.py:27
+msgid "Border crosses itself"
msgstr ""
#: lib/elements/fill.py:28
-msgid "Border crosses itself"
+msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr ""
-#: lib/elements/fill.py:29
-msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
+#: lib/elements/fill.py:30
+msgid "* Path > Union (Ctrl++)"
msgstr ""
#: lib/elements/fill.py:31
-msgid "* Path > Union (Ctrl++)"
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr ""
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr ""
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr ""
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr ""
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr ""
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr ""
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr ""
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr ""
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr ""
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr ""
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr ""
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr ""
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr ""
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr ""
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr ""
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr ""
@@ -675,6 +650,22 @@ msgstr ""
msgid "Please select one or more satin columns to flip."
msgstr ""
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -858,10 +849,42 @@ msgstr ""
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr ""
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr ""
@@ -997,7 +1020,7 @@ msgstr ""
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr ""
@@ -1008,34 +1031,34 @@ msgstr ""
msgid "Error writing to %(path)s: %(error)s"
msgstr ""
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr ""
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr ""
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr ""
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr ""
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr ""
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr ""
@@ -1577,19 +1600,27 @@ msgstr ""
msgid "Auto-Route Satin Columns"
msgstr ""
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr ""
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr ""
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr ""
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr ""
@@ -1602,35 +1633,35 @@ msgstr ""
msgid "Embroider"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr ""
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr ""
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr ""
@@ -1642,17 +1673,33 @@ msgstr ""
msgid "Add Commands"
msgstr ""
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr ""
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr ""
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr ""
@@ -1665,7 +1712,7 @@ msgstr ""
msgid "Add Layer Commands"
msgstr ""
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr ""
@@ -1677,84 +1724,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr ""
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr ""
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr ""
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
+msgid "negate X coordinate values"
msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr ""
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1770,27 +1829,27 @@ msgstr ""
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1798,15 +1857,27 @@ msgstr ""
msgid "Simulate"
msgstr ""
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr ""
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr ""
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr ""
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_es_ES.po b/translations/messages_es_ES.po
index a5279fc9..9d48598d 100644
--- a/translations/messages_es_ES.po
+++ b/translations/messages_es_ES.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:10\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Spanish\n"
"MIME-Version: 1.0\n"
@@ -16,38 +16,38 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: es_ES\n"
-#. name of font in fonts/small_font
-#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
-msgstr "Ink/Stitch Fuente Pequeña"
-
-#. description of font in fonts/small_font
-#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
-msgstr "Fuente adecuada para caracteres pequeños. La \"M\", eme mayúscula, tiene 5,08mm de ancho en la escala 100%. Se puede escalar hasta 300%."
-
#. name of font in fonts/tt_directors
-#: inkstitch-fonts-metadata.py:6
+#: inkstitch-fonts-metadata.py:2
msgid "TT Directors"
msgstr "TT Directors"
#. description of font in fonts/tt_directors
-#: inkstitch-fonts-metadata.py:8
+#: inkstitch-fonts-metadata.py:4
msgid "A font suited for directing"
msgstr ""
#. name of font in fonts/medium_font
-#: inkstitch-fonts-metadata.py:10
+#: inkstitch-fonts-metadata.py:6
msgid "Ink/Stitch Medium Font"
msgstr "Ink/Stitch Fuente Tamaño Medio"
#. description of font in fonts/medium_font
-#: inkstitch-fonts-metadata.py:12
+#: inkstitch-fonts-metadata.py:8
#, python-format
msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr "Una fuente básica adecuada para caracteres de tamaño medio. La \"M\", eme mayúscula, tiene un ancho de 15,24mm en una ecala de 100%. Puede escalarse entre 75% y 150%. Los puntos de satín tienen un contorno base."
+#. name of font in fonts/small_font
+#: inkstitch-fonts-metadata.py:10
+msgid "Ink/Stitch Small Font"
+msgstr "Ink/Stitch Fuente Pequeña"
+
+#. description of font in fonts/small_font
+#: inkstitch-fonts-metadata.py:12
+#, python-format
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgstr "Fuente adecuada para caracteres pequeños. La \"M\", eme mayúscula, tiene 5,08mm de ancho en la escala 100%. Se puede escalar hasta 300%."
+
#. name of font in fonts/tt_masters
#: inkstitch-fonts-metadata.py:14
msgid "TT Masters"
@@ -58,106 +58,70 @@ msgstr "TT Masters"
msgid "A font suited for heavy typing :)"
msgstr ""
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
-msgstr "inicio_relleno"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
+msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
-msgstr "Posición de inicio de puntada de relleno"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
+msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr "fin_relleno"
+msgid "Fill stitch starting position"
+msgstr "Posición de inicio de puntada de relleno"
-#: lib/commands.py:23
+#. command attached to an object
+#: lib/commands.py:26
msgid "Fill stitch ending position"
msgstr "Posicion final de puntada de relleno"
#. command attached to an object
-#: lib/commands.py:26
-msgid "satin_start"
-msgstr "inicio_satín"
-
-#: lib/commands.py:26
+#: lib/commands.py:29
msgid "Auto-route satin stitch starting position"
msgstr "Posición de inicio de puntada de satín automática"
#. command attached to an object
-#: lib/commands.py:29
-msgid "satin_end"
-msgstr "fin_satín"
-
-#: lib/commands.py:29
+#: lib/commands.py:32
msgid "Auto-route satin stitch ending position"
msgstr "Posición de fin de puntada de satín automática"
#. command attached to an object
-#: lib/commands.py:32
-msgid "stop"
-msgstr "parada"
-
-#: lib/commands.py:32
+#: lib/commands.py:35
msgid "Stop (pause machine) after sewing this object"
msgstr "Parar (pausar máquina) después de coser este objeto"
#. command attached to an object
-#: lib/commands.py:35
-msgid "trim"
-msgstr "recortar"
-
-#: lib/commands.py:35
+#: lib/commands.py:38
msgid "Trim thread after sewing this object"
msgstr "Recortar hilo después de coser este objeto"
#. command attached to an object
-#: lib/commands.py:38
-msgid "ignore_object"
-msgstr "ignorar_objeto"
-
-#: lib/commands.py:38
+#: lib/commands.py:41
msgid "Ignore this object (do not stitch)"
msgstr "Ignorar este objeto (no dar puntada)"
#. command attached to an object
-#: lib/commands.py:41
-msgid "satin_cut_point"
-msgstr "punto_corte_satín"
-
-#: lib/commands.py:41
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr "Punto de corte de satín (usar con Cortar Columna Satín)"
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr "ignorar_capa"
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr "Ignorar capa (no coser ningún objeto en esta capa)"
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr "origen"
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr "Origen para archivos de bordado exportados"
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr "posición_parada"
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr ""
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr "Error: hay más de un comando de %(command)s en el documento, pero sólo puede haber uno. Por favor eliminar todos menos uno."
@@ -167,22 +131,22 @@ msgstr "Error: hay más de un comando de %(command)s en el documento, pero sólo
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr "%(command)s: %(description)s"
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr "Ink/Stich Instrucción"
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr "conector"
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr "marcador de instrucción"
@@ -227,7 +191,7 @@ msgstr "Ángulo de relleno"
#: lib/elements/auto_fill.py:63
msgid "Default: fill angle + 90 deg. Insert comma-seperated list for multiple layers."
-msgstr ""
+msgstr "Por defecto: rellenar el ángulo + 90 grados. Insertar lista de elementos separados por coma para capas múltiples."
#: lib/elements/auto_fill.py:84
msgid "Row spacing"
@@ -235,7 +199,7 @@ msgstr "Espaciado de la fila"
#: lib/elements/auto_fill.py:85
msgid "default: 3x fill row spacing"
-msgstr ""
+msgstr "por defecto: rellenar el espaciado de línea x3"
#: lib/elements/auto_fill.py:95
msgid "Max stitch length"
@@ -243,7 +207,7 @@ msgstr "Longitud de puntada máxima"
#: lib/elements/auto_fill.py:96
msgid "default: equal to fill max stitch length"
-msgstr ""
+msgstr "por defecto: igual a rellenar la longitud máxima de puntada"
#: lib/elements/auto_fill.py:105
msgid "Inset"
@@ -253,21 +217,21 @@ msgstr "Recuadro"
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr ""
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr "Saltar última puntada de cada fila"
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr ""
#: lib/elements/auto_fill.py:128
msgid "Expand"
-msgstr ""
+msgstr "Expandir"
#: lib/elements/auto_fill.py:129
msgid "Expand the shape before fill stitching, to compensate for gaps between shapes."
-msgstr ""
+msgstr "Expandir la forma antes de rellenar el bordado, para compensar los espacios entre figuras."
#: lib/elements/auto_fill.py:138 lib/elements/auto_fill.py:150
msgid "Underpath"
@@ -279,20 +243,28 @@ msgstr ""
#: lib/elements/auto_fill.py:233
msgid "Error during autofill! This means that there is a problem with Ink/Stitch."
-msgstr ""
+msgstr "Error durante Auto-Relleno! Esto significa que hubo un problema con Ink/Stitch."
#. this message is followed by a URL:
#. https://github.com/inkstitch/inkstitch/issues/new
#: lib/elements/auto_fill.py:236
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
+msgstr "Si quieres ayudarnos a mejorar Ink/Stitch, por favor pega este completo mensaje a un nuevo tema en: "
+
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
msgstr ""
-#: lib/elements/element.py:202
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr "%(id)s tiene más de un comando de tipo '%(command)s' ligado a él"
@@ -300,87 +272,91 @@ msgstr "%(id)s tiene más de un comando de tipo '%(command)s' ligado a él"
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr "error:"
#: lib/elements/fill.py:17
msgid "Unconnected"
-msgstr ""
+msgstr "Desconectado"
#: lib/elements/fill.py:18
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr ""
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+#: lib/elements/fill.py:27
+msgid "Border crosses itself"
msgstr ""
#: lib/elements/fill.py:28
-msgid "Border crosses itself"
+msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr ""
-#: lib/elements/fill.py:29
-msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
+#: lib/elements/fill.py:30
+msgid "* Path > Union (Ctrl++)"
msgstr ""
#: lib/elements/fill.py:31
-msgid "* Path > Union (Ctrl++)"
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr ""
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr ""
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr ""
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr ""
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr ""
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr ""
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr ""
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr ""
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr ""
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr ""
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr ""
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr ""
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr ""
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr ""
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr ""
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr ""
@@ -675,6 +650,22 @@ msgstr ""
msgid "Please select one or more satin columns to flip."
msgstr ""
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -858,10 +849,42 @@ msgstr ""
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr ""
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr ""
@@ -997,7 +1020,7 @@ msgstr ""
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr ""
@@ -1008,34 +1031,34 @@ msgstr ""
msgid "Error writing to %(path)s: %(error)s"
msgstr ""
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr ""
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr ""
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr ""
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr ""
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr ""
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr ""
@@ -1145,7 +1168,7 @@ msgstr "Introduzca número de orden de compra..."
#: print/templates/headline.html:15
#, python-format
msgid "%m/%d/%Y"
-msgstr ""
+msgstr "%d-%m-%Y"
#: print/templates/operator_detailedview.html:10
msgid "Thread Consumption"
@@ -1577,19 +1600,27 @@ msgstr "Formato G-code"
msgid "Auto-Route Satin Columns"
msgstr ""
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr ""
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr ""
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr ""
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr ""
@@ -1602,35 +1633,35 @@ msgstr ""
msgid "Embroider"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr ""
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr ""
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr ""
@@ -1642,17 +1673,33 @@ msgstr ""
msgid "Add Commands"
msgstr ""
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr ""
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr ""
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr ""
@@ -1665,7 +1712,7 @@ msgstr ""
msgid "Add Layer Commands"
msgstr ""
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr ""
@@ -1677,84 +1724,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr ""
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr ""
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr ""
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
+msgid "negate X coordinate values"
msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr ""
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1770,27 +1829,27 @@ msgstr ""
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1798,15 +1857,27 @@ msgstr ""
msgid "Simulate"
msgstr ""
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr ""
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr ""
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr "Crear un archivo ZIP con múltiples formatos de archivos de bordado usando Ink/Stitch"
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_fi_FI.po b/translations/messages_fi_FI.po
index d65d52e3..5ed651b1 100644
--- a/translations/messages_fi_FI.po
+++ b/translations/messages_fi_FI.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:09\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Finnish\n"
"MIME-Version: 1.0\n"
@@ -16,38 +16,38 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: fi_FI\n"
-#. name of font in fonts/small_font
-#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
-msgstr "Ink/Stitch Small Font"
-
-#. description of font in fonts/small_font
-#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
-msgstr "Pienikirjasin tyyppi."
-
#. name of font in fonts/tt_directors
-#: inkstitch-fonts-metadata.py:6
+#: inkstitch-fonts-metadata.py:2
msgid "TT Directors"
msgstr "TT Directors"
#. description of font in fonts/tt_directors
-#: inkstitch-fonts-metadata.py:8
+#: inkstitch-fonts-metadata.py:4
msgid "A font suited for directing"
msgstr "Ohjaus kirjasin tyyppi"
#. name of font in fonts/medium_font
-#: inkstitch-fonts-metadata.py:10
+#: inkstitch-fonts-metadata.py:6
msgid "Ink/Stitch Medium Font"
msgstr "Ink/Stitch Keskikokoinen kirjasin"
#. description of font in fonts/medium_font
-#: inkstitch-fonts-metadata.py:12
+#: inkstitch-fonts-metadata.py:8
#, python-format
msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr ""
+#. name of font in fonts/small_font
+#: inkstitch-fonts-metadata.py:10
+msgid "Ink/Stitch Small Font"
+msgstr "Ink/Stitch Small Font"
+
+#. description of font in fonts/small_font
+#: inkstitch-fonts-metadata.py:12
+#, python-format
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgstr "Pienikirjasin tyyppi."
+
#. name of font in fonts/tt_masters
#: inkstitch-fonts-metadata.py:14
msgid "TT Masters"
@@ -58,106 +58,70 @@ msgstr "TT Masters"
msgid "A font suited for heavy typing :)"
msgstr "Raskaampaan käyttöön"
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
-msgstr "täyttö_aloitus"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
+msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
-msgstr "Täyttötikki aloitus paikka"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
+msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr "täytön_lopetus"
+msgid "Fill stitch starting position"
+msgstr "Täyttötikki aloitus paikka"
-#: lib/commands.py:23
+#. command attached to an object
+#: lib/commands.py:26
msgid "Fill stitch ending position"
msgstr "Täyttötikki lopetus paikka"
#. command attached to an object
-#: lib/commands.py:26
-msgid "satin_start"
-msgstr "satiinin_aloitus"
-
-#: lib/commands.py:26
+#: lib/commands.py:29
msgid "Auto-route satin stitch starting position"
msgstr "Automaattisen satiinin reitityksen aloitus paikka"
#. command attached to an object
-#: lib/commands.py:29
-msgid "satin_end"
-msgstr "satiinin_lopetus"
-
-#: lib/commands.py:29
+#: lib/commands.py:32
msgid "Auto-route satin stitch ending position"
msgstr "Automaattisen satiinin reitityksen lopetus paikka"
#. command attached to an object
-#: lib/commands.py:32
-msgid "stop"
-msgstr "pysäytä"
-
-#: lib/commands.py:32
+#: lib/commands.py:35
msgid "Stop (pause machine) after sewing this object"
msgstr "Pysäytä objektin jälkeen"
#. command attached to an object
-#: lib/commands.py:35
-msgid "trim"
-msgstr "katkaise"
-
-#: lib/commands.py:35
+#: lib/commands.py:38
msgid "Trim thread after sewing this object"
msgstr "Katkaise objektin jälkeen"
#. command attached to an object
-#: lib/commands.py:38
-msgid "ignore_object"
-msgstr "ohita_objekti"
-
-#: lib/commands.py:38
+#: lib/commands.py:41
msgid "Ignore this object (do not stitch)"
msgstr "Ohita tämä objekti (ei tikata)"
#. command attached to an object
-#: lib/commands.py:41
-msgid "satin_cut_point"
-msgstr "satiinin_leikkaus_piste"
-
-#: lib/commands.py:41
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr "Satiinin leikkauspiste (käytä satiinin leikkaus työkalua)"
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr "ohita_taso"
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr "Ohita taso (ei tikata mitään tältä tasolta)"
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr "origo"
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr "Viedyn brodeeraus tiedoston origo"
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr "pysäytys_paikka"
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr "Hyppää pysäytyspaikkaan (kehyksen irrotus paikka)."
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr ""
@@ -167,22 +131,22 @@ msgstr ""
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr ""
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr "Ink/Stitch komento"
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr "yhdistäjä"
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr "komento merkki"
@@ -253,11 +217,11 @@ msgstr "Sisennys"
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr "Kutista muotoa ennen pohjan tikkaamista, estääksesi pohjatikkien näkymisen täyttötikin ulkopuolelta."
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr "Hyppää yli joka rivin viimenen tikki"
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr "Viimenen tikki jokaisessa rivissä on melko lähellä ensimmäistä tikkiä seuraavassa rivissä. Viimeisen tikin ohitus vähentää tikkimäärää ja tiheyttä."
@@ -287,12 +251,20 @@ msgstr "Virhe automaattisessa täytössä! Virhe ohjelmistossa."
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr ""
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr ""
@@ -300,7 +272,7 @@ msgstr ""
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr "virhe:"
@@ -312,75 +284,79 @@ msgstr "Ei yhteyttä"
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr ""
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
-msgstr ""
-
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:28
+#: lib/elements/fill.py:27
msgid "Border crosses itself"
msgstr "Reuna ylittää itsensä"
-#: lib/elements/fill.py:29
+#: lib/elements/fill.py:28
msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr "Täyttö; muoto ei ole sallittu. Tämä voi tapahtua jos reuna ylittää itsensä."
-#: lib/elements/fill.py:31
+#: lib/elements/fill.py:30
msgid "* Path > Union (Ctrl++)"
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:31
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr ""
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+msgstr ""
+
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr "Täyttö"
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr "Manuaalisesti reititetty täyttö"
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr "Automaattinentäyttö on vakio metodi generoitaessa täyttöä."
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr "Tikkien kulma"
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr ""
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr "Käännä täytön suunta (aloita oikealta vasemmalle)"
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr ""
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr "Rivien väli"
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr "Tikkirivien välinen etäisyys."
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr "Tikin maksimi pituus"
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr ""
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr "Erota rivit näin monta kertaa ennenkuin toistetaan"
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr "Tämä määritys määrittää kuinka monta riviä eroa tikeissä on ennenkuin palataan samaan polun asentoon."
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr "Vain yksinkertaiset viivat voidaan muuntaa satiinimuotoviivoiksi."
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr "Valitse yksi tai useampi satiinimuoto leikataksesi."
@@ -676,6 +651,22 @@ msgstr "\n\n"
msgid "Please select one or more satin columns to flip."
msgstr "Valitse yksi tai useampi satiinimuoto leikataksesi."
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -859,10 +850,42 @@ msgstr "Varoitukset"
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr "Ei brodeeraus tiedostomuotoa valittuna."
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr "Esiasetukset"
@@ -998,7 +1021,7 @@ msgstr "Brodeeraus simulaatio"
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr "Generoi INX tiedostot"
@@ -1009,34 +1032,34 @@ msgstr "Generoi INX tiedostot"
msgid "Error writing to %(path)s: %(error)s"
msgstr "Virhe kirjoitettaessa %(path)s: %(error)s"
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr "Automaattinen satiini"
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr "Automaattinen satiini %d"
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr "Automaattinen satiini juoksevatikki %d"
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr "Tikkaus suunnitelma"
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr ""
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr "Tunnistamaton yksikkö: %s"
@@ -1578,19 +1601,27 @@ msgstr "G-code brodeeraus tiedostomuoto"
msgid "Auto-Route Satin Columns"
msgstr "Satiinipolun automaattinen reititys"
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr "Trimmaa hyppytikki"
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr "Säilytä satiinien järjestys"
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr "Satiini työkalut"
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr "Muunna viiva satiiniksi"
@@ -1603,35 +1634,35 @@ msgstr "Leikkaa satiini"
msgid "Embroider"
msgstr "Brodeeraus"
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr "Tätä yhemmän hyppytikit tulkitaan normaaliksi tikiksi."
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr "Piilota muut kerrokset"
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr ""
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr "Tallennus muoto"
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr "DEBUG"
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr "Hakemisto"
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr "Jätä tyhjäksi tallentaaksesi inkscapen lisäosien hakemistoon."
@@ -1643,17 +1674,33 @@ msgstr "Käännä satiinin suunta"
msgid "Add Commands"
msgstr "Lisää käsky"
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr "Nämä käskyt vaikuttavat koko brodeeraus malliin."
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr "Käskyt"
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr "muunna %(file_extension)s tiedosto Ink/Stitch manuaali tikiksi"
@@ -1666,7 +1713,7 @@ msgstr "Asenna lisäosa inkscapeen"
msgid "Add Layer Commands"
msgstr "Lisää taso komento"
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr "Käsky lisätään valittuun tasoon."
@@ -1678,84 +1725,96 @@ msgstr "Kirjaimet"
msgid "Attach Commands to Selected Objects"
msgstr "Liitä komento valittuihin objekteihin"
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr "Tallenna malli %(file_extension)s muodossa käyttäen Ink/Stitch"
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr "laser moodi"
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr "Laser moodi (generoi G-koodi Grbl laaserille)"
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr "dynaaminen laaserin teho"
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
-msgstr "laaserin lämmitys aika"
+msgid "negate X coordinate values"
+msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
-msgstr "lisää Z koordinaattia tämän verran jokaisella tikillä"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr "laser moodi"
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr "Laser moodi (generoi G-koodi Grbl laaserille)"
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
+msgstr "dynaaminen laaserin teho"
+
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr "laaserin lämmitys aika"
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr "karan nopeus"
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr "pienin karan nopeus"
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr "pienin karan nopeus arvo (grbl $31)"
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr "maksimi karan nopeus"
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr "pienin karan nopeus (grbl $30 asetus)"
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1771,27 +1830,27 @@ msgstr "Tulosta/realistisempi esikatselu"
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1799,15 +1858,27 @@ msgstr ""
msgid "Simulate"
msgstr "Simuloi"
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr "Tutki virheitä objekteista"
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr "Ink/Stitch: ZIP vie monta formaattia"
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr "Tee ZIP paketti monesta eri tiedostomuodosta"
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_fr_FR.po b/translations/messages_fr_FR.po
index e7a5d943..a5365f3e 100644
--- a/translations/messages_fr_FR.po
+++ b/translations/messages_fr_FR.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:09\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: French\n"
"MIME-Version: 1.0\n"
@@ -16,38 +16,38 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: fr_FR\n"
-#. name of font in fonts/small_font
-#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
-msgstr "Petite fonte Ink/Stitch"
-
-#. description of font in fonts/small_font
-#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
-msgstr "Une fonte adaptée pour les petits caractères. Le \"M\" a une largeur de 5,08mm à une échelle de 100%. Il est possible de l’agrandir de 300%."
-
#. name of font in fonts/tt_directors
-#: inkstitch-fonts-metadata.py:6
+#: inkstitch-fonts-metadata.py:2
msgid "TT Directors"
msgstr "TT directors"
#. description of font in fonts/tt_directors
-#: inkstitch-fonts-metadata.py:8
+#: inkstitch-fonts-metadata.py:4
msgid "A font suited for directing"
msgstr "Une fonte faite pour des metteurs en scène"
#. name of font in fonts/medium_font
-#: inkstitch-fonts-metadata.py:10
+#: inkstitch-fonts-metadata.py:6
msgid "Ink/Stitch Medium Font"
msgstr "Fonte médium pour Ink/Stitch"
#. description of font in fonts/medium_font
-#: inkstitch-fonts-metadata.py:12
+#: inkstitch-fonts-metadata.py:8
#, python-format
msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr "Une fonte idéale pour des caractères de taille moyenne. La lettre \"M\" (majuscule) a une largeur de 15,24 mm à une échelle de 100%. On peut transformer la taille entre 75% et 150%. Les points satin utilisent une sous-couches avec des lignes de contour."
+#. name of font in fonts/small_font
+#: inkstitch-fonts-metadata.py:10
+msgid "Ink/Stitch Small Font"
+msgstr "Petite fonte Ink/Stitch"
+
+#. description of font in fonts/small_font
+#: inkstitch-fonts-metadata.py:12
+#, python-format
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgstr "Une fonte adaptée pour les petits caractères. Le \"M\" a une largeur de 5,08mm à une échelle de 100%. Il est possible de l’agrandir de 300%."
+
#. name of font in fonts/tt_masters
#: inkstitch-fonts-metadata.py:14
msgid "TT Masters"
@@ -58,106 +58,70 @@ msgstr "TT masters"
msgid "A font suited for heavy typing :)"
msgstr "Une fonte \"lourde\""
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
-msgstr "début_remplissage"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
+msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
-msgstr "Position de départ du remplissage"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
+msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr "fin_remplissage"
+msgid "Fill stitch starting position"
+msgstr "Position de départ du remplissage"
-#: lib/commands.py:23
+#. command attached to an object
+#: lib/commands.py:26
msgid "Fill stitch ending position"
msgstr "Position de fin de remplissage"
#. command attached to an object
-#: lib/commands.py:26
-msgid "satin_start"
-msgstr "début_satin"
-
-#: lib/commands.py:26
+#: lib/commands.py:29
msgid "Auto-route satin stitch starting position"
msgstr "Position de départ pour points satins auto-générés"
#. command attached to an object
-#: lib/commands.py:29
-msgid "satin_end"
-msgstr "fin_satin"
-
-#: lib/commands.py:29
+#: lib/commands.py:32
msgid "Auto-route satin stitch ending position"
msgstr "Position de fin pour points satins auto-générés"
#. command attached to an object
-#: lib/commands.py:32
-msgid "stop"
-msgstr "stop"
-
-#: lib/commands.py:32
+#: lib/commands.py:35
msgid "Stop (pause machine) after sewing this object"
msgstr "Stop (pause machine) après avoir brodé cet objet"
#. command attached to an object
-#: lib/commands.py:35
-msgid "trim"
-msgstr "couper"
-
-#: lib/commands.py:35
+#: lib/commands.py:38
msgid "Trim thread after sewing this object"
msgstr "Couper le fil après avoir brodé cet objet"
#. command attached to an object
-#: lib/commands.py:38
-msgid "ignore_object"
-msgstr "ignorer_objet"
-
-#: lib/commands.py:38
+#: lib/commands.py:41
msgid "Ignore this object (do not stitch)"
msgstr "Ignorer cet objet (ne pas le broder)"
#. command attached to an object
-#: lib/commands.py:41
-msgid "satin_cut_point"
-msgstr "point de coupe satin"
-
-#: lib/commands.py:41
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr "Point de partage (à utiliser avec scinder colonne satin)"
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr "ignorer_calque"
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr "Ignorer le calque (broder aucun objet dans cette couche)"
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr "origine"
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr "Origine des fichiers broderie exportés"
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr "position_stop"
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr "Destination de saut pour les commandes stop (\"position en dehors du cadre\")."
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr "Erreur : il y a plus d’une commande de %(command)s dans le document, mais il ne peut être un. S’il vous plaît supprimer tous sauf un."
@@ -167,22 +131,22 @@ msgstr "Erreur : il y a plus d’une commande de %(command)s dans le document,
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr "%(command)s: %(description)s"
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr "Commande Ink/Stitch"
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr "connecteur"
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr "marqueur de commande"
@@ -253,11 +217,11 @@ msgstr "Incrustation"
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr "Rétrécir la forme avant de faire la sous-couche, pour empêcher que la sous-couche se montre en dehors du remplissage."
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr "Sauter le dernier point dans chaque ligne"
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr "Le dernier point dans chaque ligne est très proche du premier point dans la ligne suivante. Le sauter diminue le nombre de points et la densité."
@@ -287,12 +251,20 @@ msgstr "Erreur pendant l'auto-remplissage. Cela veut dire que Ink/Stitch a un pr
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr "Si vous désirez nous aider à améliorer Ink/Stitch, veuillez SVP copier/coller ce message dans un nouveau rapport d'erreur (issue) ici: "
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr "L'objet %(id)s a un attribut 'd' vide. S’il vous plaît supprimer cet objet dans votre document."
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr "Plus d’une commande de type «%(command)s» est liée à %(id)s"
@@ -300,7 +272,7 @@ msgstr "Plus d’une commande de type «%(command)s» est liée à %(id)s"
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr "erreur :"
@@ -312,75 +284,79 @@ msgstr "Déconnecté"
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr "Remplissage: Cet objet est constitué de formes non connectées. Ce n'est pas permis parce qu'Ink/Stitch ne sait pas dans quel ordre les broder. Partager cet objet en forme séparées."
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
-msgstr "* Chemin > Séparer (Maj+Ctrl+K)"
-
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
-msgstr "* (Optionnel) Recombiner les formes avec des trous (Ctrl+K)."
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
+msgstr ""
-#: lib/elements/fill.py:28
+#: lib/elements/fill.py:27
msgid "Border crosses itself"
msgstr "La bordure se croise"
-#: lib/elements/fill.py:29
+#: lib/elements/fill.py:28
msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr "Remplissage: La forme n'est pas valide. Cela peut arriver si la bordure se croise elle-même."
-#: lib/elements/fill.py:31
+#: lib/elements/fill.py:30
msgid "* Path > Union (Ctrl++)"
msgstr "* Chemin > Union (Ctrl++)"
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:31
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr "* Chemin > Séparer (Maj+Ctrl+K)"
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+msgstr "* (Optionnel) Recombiner les formes avec des trous (Ctrl+K)."
+
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr "Remplir"
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr "Remplir automatiquement la couture"
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr "Remplissage auto est la méthode par défaut pour générer des points de remplissage."
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr "Angle des lignes de points"
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr "L’angle augmente dans un sens anti-horaire. 0 est horizontal. Les angles négatifs sont autorisés."
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr "Intervertir le remplissage (début à la droite vers la gauche)"
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr "L’option intervertir peut vous aider avec le routage de votre chemin de broderie. Lorsque vous activez l'inversion, la broderie va de droite à gauche au lieu de gauche à droite."
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr "Espacement entre les lignes"
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr "Distance entre les rangées de points."
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr "Longueur maximale du point de remplissage"
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr "La longueur de points dans une rangée. Des point plus courts peuvent être utilisés au début ou à la fin d’une ligne."
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr "Décaler les rangs autant de fois avant de répéter"
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr "Ce paramétrage définit l’écart entre les points en tant que nombre de rangs, avant de se retrouver dans la même position de colonne."
@@ -641,6 +617,10 @@ msgstr "Ink/Stitch sait seulement traiter des chemins. Il ne peut pas traiter le
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr "Astuce: sélectionner des objets et utiliser -> Objet en chemin pour les convertir en chemin."
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr "Veuillez sélectionner au moins une ligne pour convertir en colonne satinée."
@@ -651,11 +631,6 @@ msgstr "Veuillez sélectionner au moins une ligne pour convertir en colonne sati
msgid "Only simple lines may be converted to satin columns."
msgstr "Seulement les lignes simples peuvent être converties en colonnes satinées."
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr "Impossible de convertir %s à une colonne satinée, car elle se croise elle-même. Essayez de la séparer en plusieurs chemins."
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr "Veuillez sélectionner une ou plusieurs colonnes satin à scinder."
@@ -676,6 +651,22 @@ msgstr "\n\n"
msgid "Please select one or more satin columns to flip."
msgstr "Veuillez sélectionner une ou plusieurs colonnes satin pour intervertir leur rails."
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr "Ink/Stitch peut installer des fichiers (« extensions ») qui permettent de créer plus facilement des motifs de broderie machine. Ces extensions seront installés :"
@@ -859,10 +850,42 @@ msgstr "Avertissements"
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr "Il est possible qu'un objet contienne plus d'une erreur, même s'il n'y a qu'un conseil par objet. Relancer cette fonction quand il y a plus d'erreurs. Enlever les conseils en supprimant le calque \"Résolution de problèmes\" dans le dialogue objets (Objet -> Objets...)."
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr "Aucun format de fichier broderie sélectionné."
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr "Présélection"
@@ -998,7 +1021,7 @@ msgstr "Simulation de broderie"
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr "Générer les fichiers INX"
@@ -1009,34 +1032,34 @@ msgstr "Générer les fichiers INX"
msgid "Error writing to %(path)s: %(error)s"
msgstr "Erreur d’écriture pour %(path)s: %(error)s"
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr "Satin automatique"
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr "Auto-remplissage satin %d"
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr "Points droits pour auto-remplissage satin %d"
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr "Plan de broderie"
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr "analyser Longueur avec Unités: unité inconnue %s"
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr "Unité inconnue: %s"
@@ -1578,19 +1601,27 @@ msgstr "Format G-code"
msgid "Auto-Route Satin Columns"
msgstr "Remplissage automatique de colonnes satin"
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr "Couper après des sauts"
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr "Préserver l’ordre des colonnes satin"
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr "Outils de satin"
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr "Convertir ligne en satin"
@@ -1603,35 +1634,35 @@ msgstr "Scinder colonne satin"
msgid "Embroider"
msgstr "Broder"
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr "Distance maximale sans points d'arrêt (mm)"
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr "Des points sautés plus petits que cela seront considérés comme des points ordinaires."
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr "Masquer les autres calques"
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr "Masquer toutes les autres calques de niveau supérieur lorsque la couche de broderie est générée, afin de rendre les broderies discernables."
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr "Format de fichier de sortie"
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr "DÉBOGAGE"
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr "Dossier"
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr "Laissez vide pour enregistrer la sortie dans le dossier d’Inkscape."
@@ -1643,17 +1674,33 @@ msgstr "Intervertir les rails satin"
msgid "Add Commands"
msgstr "Ajouter des commandes"
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr "Ces commandes affecteront tout le design de broderie."
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr "Commandes"
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr "Convertir fichier %(file_extension)s en chemins de points manuels Ink/Stitch"
@@ -1666,7 +1713,7 @@ msgstr "Installer des extensions pour Inkscape"
msgid "Add Layer Commands"
msgstr "Ajouter des commandes à des calques"
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr "Les commandes s’ajouteront au calque sélectionné."
@@ -1678,84 +1725,96 @@ msgstr "Lettrage"
msgid "Attach Commands to Selected Objects"
msgstr "Attacher des commandes à des objets sélectionnés"
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr "Enregistrer la création au format %(file_extension)s à l’aide d’Ink/Stitch"
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr "mode laser"
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr "Mode laser (générer du G-code pour le mode laser grbl)"
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr "puissance dynamique du laser"
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr "Utiliser le mode puissance laser dynamique du Grbl. Assure une puissance consistante indépendamment de la vitesse du moteur. Seulement pour des laser capables PWM."
-
-#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
-msgstr "temps de réchauffement du laser"
-
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
-msgstr "Lorsque vous allumez le laser, attendez X secondes pour qu'il se réchauffe (commande G4)"
-
-#: templates/output_params_txt.xml:5
msgid "negate X coordinate values"
msgstr "intervertir les valeurs des coordonnées X"
-#: templates/output_params_txt.xml:5
+#: templates/output_params_txt.xml:4
msgid "Negate x coordinates"
msgstr "Négativer coordonnés x"
-#: templates/output_params_txt.xml:6
+#: templates/output_params_txt.xml:5
msgid "negate Y coordinate values"
msgstr "intervertir les valeurs des coordonnées Y"
-#: templates/output_params_txt.xml:6
+#: templates/output_params_txt.xml:5
msgid "Negate y coordinates"
msgstr "Négativer coordonnés y"
+#: templates/output_params_txt.xml:6
+msgid "Z coordinate value"
+msgstr ""
+
+#: templates/output_params_txt.xml:6
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
+msgstr ""
+
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr "déplacement Z par point"
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
-msgstr "augmenter coordonné z par ce montant par point"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr "mode laser"
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr "Mode laser (générer du G-code pour le mode laser grbl)"
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
+msgstr "puissance dynamique du laser"
+
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr "Utiliser le mode puissance laser dynamique du Grbl. Assure une puissance consistante indépendamment de la vitesse du moteur. Seulement pour des laser capables PWM."
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr "temps de réchauffement du laser"
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr "Lorsque vous allumez le laser, attendez X secondes pour qu'il se réchauffe (commande G4)"
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr "vitesse de la broche"
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr "vitesse de la broche (puissance du laser pour le mode laser, mettre à -1 pour l'omettre)"
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr "vitesse minimale de la broche"
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr "valeur maximale de vitesse de la broche (réglage grbl $1)"
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr "vitesse de broche maximale"
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr "vitesse de broche minimale (spindle speed, valeur grbl $30)"
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr "vitesse de déplacement (en mm/min, mettre à -1 pour omettre)"
@@ -1771,27 +1830,27 @@ msgstr "Imprimer / Prévisualisation réaliste"
msgid "Remove embroidery settings"
msgstr "Supprimer tous les paramètres de broderie"
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr "Utilisez cette extension pour supprimer les informations que Ink/Stitch a stockées dans votre document. Cela peut être particulièrement utile si vous copiez et collez des objets d'un dessin de broderie dans un autre document."
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr "Supprimer les paramètres"
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr "Supprime les paramètres des objets sélectionnés ou de tous les objets si rien n'est sélectionné."
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr "Supprimer les commandes"
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr "Supprime les commandes visuelles des objets sélectionnés ou de tous les objets si rien n'est sélectionné."
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr "Supprimer les paramètres d'impression des métadonnées SVG"
@@ -1799,15 +1858,27 @@ msgstr "Supprimer les paramètres d'impression des métadonnées SVG"
msgid "Simulate"
msgstr "Simuler"
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr "Dépistage de problèmes avec des objets"
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr "Ink/Stitch : ZIP exporter plusieurs formats (.zip)"
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr "Créer un ZIP avec des formats de fichiers de broderie multiples à l’aide d’encre/Stitch"
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_he_IL.po b/translations/messages_he_IL.po
index 0a6046bd..5bd97ccb 100644
--- a/translations/messages_he_IL.po
+++ b/translations/messages_he_IL.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:10\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Hebrew\n"
"MIME-Version: 1.0\n"
@@ -16,36 +16,36 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: he_IL\n"
-#. name of font in fonts/small_font
+#. name of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
+msgid "TT Directors"
msgstr ""
-#. description of font in fonts/small_font
+#. description of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgid "A font suited for directing"
msgstr ""
-#. name of font in fonts/tt_directors
+#. name of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:6
-msgid "TT Directors"
+msgid "Ink/Stitch Medium Font"
msgstr ""
-#. description of font in fonts/tt_directors
+#. description of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:8
-msgid "A font suited for directing"
+#, python-format
+msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr ""
-#. name of font in fonts/medium_font
+#. name of font in fonts/small_font
#: inkstitch-fonts-metadata.py:10
-msgid "Ink/Stitch Medium Font"
+msgid "Ink/Stitch Small Font"
msgstr ""
-#. description of font in fonts/medium_font
+#. description of font in fonts/small_font
#: inkstitch-fonts-metadata.py:12
#, python-format
-msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
msgstr ""
#. name of font in fonts/tt_masters
@@ -58,106 +58,70 @@ msgstr ""
msgid "A font suited for heavy typing :)"
msgstr ""
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr ""
-
-#: lib/commands.py:23
-msgid "Fill stitch ending position"
+msgid "Fill stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:26
-msgid "satin_start"
-msgstr ""
-
-#: lib/commands.py:26
-msgid "Auto-route satin stitch starting position"
+msgid "Fill stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:29
-msgid "satin_end"
-msgstr ""
-
-#: lib/commands.py:29
-msgid "Auto-route satin stitch ending position"
+msgid "Auto-route satin stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:32
-msgid "stop"
-msgstr ""
-
-#: lib/commands.py:32
-msgid "Stop (pause machine) after sewing this object"
+msgid "Auto-route satin stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:35
-msgid "trim"
-msgstr ""
-
-#: lib/commands.py:35
-msgid "Trim thread after sewing this object"
+msgid "Stop (pause machine) after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:38
-msgid "ignore_object"
-msgstr ""
-
-#: lib/commands.py:38
-msgid "Ignore this object (do not stitch)"
+msgid "Trim thread after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:41
-msgid "satin_cut_point"
+msgid "Ignore this object (do not stitch)"
msgstr ""
-#: lib/commands.py:41
+#. command attached to an object
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr ""
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr ""
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr ""
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr ""
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr ""
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr ""
@@ -167,22 +131,22 @@ msgstr ""
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr ""
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr ""
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr ""
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr ""
@@ -253,11 +217,11 @@ msgstr ""
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr ""
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr ""
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr ""
@@ -287,12 +251,20 @@ msgstr ""
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr ""
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr ""
@@ -300,7 +272,7 @@ msgstr ""
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr ""
@@ -312,75 +284,79 @@ msgstr ""
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr ""
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+#: lib/elements/fill.py:27
+msgid "Border crosses itself"
msgstr ""
#: lib/elements/fill.py:28
-msgid "Border crosses itself"
+msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr ""
-#: lib/elements/fill.py:29
-msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
+#: lib/elements/fill.py:30
+msgid "* Path > Union (Ctrl++)"
msgstr ""
#: lib/elements/fill.py:31
-msgid "* Path > Union (Ctrl++)"
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr ""
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr ""
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr ""
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr ""
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr ""
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr ""
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr ""
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr ""
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr ""
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr ""
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr ""
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr ""
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr ""
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr ""
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr ""
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr ""
@@ -675,6 +650,22 @@ msgstr ""
msgid "Please select one or more satin columns to flip."
msgstr ""
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -858,10 +849,42 @@ msgstr ""
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr ""
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr ""
@@ -997,7 +1020,7 @@ msgstr ""
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr ""
@@ -1008,34 +1031,34 @@ msgstr ""
msgid "Error writing to %(path)s: %(error)s"
msgstr ""
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr ""
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr ""
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr ""
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr ""
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr ""
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr ""
@@ -1577,19 +1600,27 @@ msgstr ""
msgid "Auto-Route Satin Columns"
msgstr ""
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr ""
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr ""
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr ""
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr ""
@@ -1602,35 +1633,35 @@ msgstr ""
msgid "Embroider"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr ""
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr ""
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr ""
@@ -1642,17 +1673,33 @@ msgstr ""
msgid "Add Commands"
msgstr ""
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr ""
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr ""
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr ""
@@ -1665,7 +1712,7 @@ msgstr ""
msgid "Add Layer Commands"
msgstr ""
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr ""
@@ -1677,84 +1724,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr ""
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr ""
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr ""
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
+msgid "negate X coordinate values"
msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr ""
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1770,27 +1829,27 @@ msgstr ""
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1798,15 +1857,27 @@ msgstr ""
msgid "Simulate"
msgstr ""
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr ""
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr ""
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr ""
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_hu_HU.po b/translations/messages_hu_HU.po
index e691e8f4..3d34fce8 100644
--- a/translations/messages_hu_HU.po
+++ b/translations/messages_hu_HU.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:10\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Hungarian\n"
"MIME-Version: 1.0\n"
@@ -16,36 +16,36 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: hu_HU\n"
-#. name of font in fonts/small_font
+#. name of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
+msgid "TT Directors"
msgstr ""
-#. description of font in fonts/small_font
+#. description of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgid "A font suited for directing"
msgstr ""
-#. name of font in fonts/tt_directors
+#. name of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:6
-msgid "TT Directors"
+msgid "Ink/Stitch Medium Font"
msgstr ""
-#. description of font in fonts/tt_directors
+#. description of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:8
-msgid "A font suited for directing"
+#, python-format
+msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr ""
-#. name of font in fonts/medium_font
+#. name of font in fonts/small_font
#: inkstitch-fonts-metadata.py:10
-msgid "Ink/Stitch Medium Font"
+msgid "Ink/Stitch Small Font"
msgstr ""
-#. description of font in fonts/medium_font
+#. description of font in fonts/small_font
#: inkstitch-fonts-metadata.py:12
#, python-format
-msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
msgstr ""
#. name of font in fonts/tt_masters
@@ -58,106 +58,70 @@ msgstr ""
msgid "A font suited for heavy typing :)"
msgstr ""
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr ""
-
-#: lib/commands.py:23
-msgid "Fill stitch ending position"
+msgid "Fill stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:26
-msgid "satin_start"
-msgstr ""
-
-#: lib/commands.py:26
-msgid "Auto-route satin stitch starting position"
+msgid "Fill stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:29
-msgid "satin_end"
-msgstr ""
-
-#: lib/commands.py:29
-msgid "Auto-route satin stitch ending position"
+msgid "Auto-route satin stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:32
-msgid "stop"
-msgstr ""
-
-#: lib/commands.py:32
-msgid "Stop (pause machine) after sewing this object"
+msgid "Auto-route satin stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:35
-msgid "trim"
-msgstr ""
-
-#: lib/commands.py:35
-msgid "Trim thread after sewing this object"
+msgid "Stop (pause machine) after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:38
-msgid "ignore_object"
-msgstr ""
-
-#: lib/commands.py:38
-msgid "Ignore this object (do not stitch)"
+msgid "Trim thread after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:41
-msgid "satin_cut_point"
+msgid "Ignore this object (do not stitch)"
msgstr ""
-#: lib/commands.py:41
+#. command attached to an object
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr ""
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr ""
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr ""
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr ""
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr ""
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr ""
@@ -167,22 +131,22 @@ msgstr ""
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr ""
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr ""
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr ""
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr ""
@@ -253,11 +217,11 @@ msgstr ""
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr ""
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr ""
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr ""
@@ -287,12 +251,20 @@ msgstr ""
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr ""
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr ""
@@ -300,7 +272,7 @@ msgstr ""
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr ""
@@ -312,75 +284,79 @@ msgstr ""
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr ""
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+#: lib/elements/fill.py:27
+msgid "Border crosses itself"
msgstr ""
#: lib/elements/fill.py:28
-msgid "Border crosses itself"
+msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr ""
-#: lib/elements/fill.py:29
-msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
+#: lib/elements/fill.py:30
+msgid "* Path > Union (Ctrl++)"
msgstr ""
#: lib/elements/fill.py:31
-msgid "* Path > Union (Ctrl++)"
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr ""
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr ""
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr ""
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr ""
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr ""
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr ""
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr ""
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr ""
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr ""
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr ""
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr ""
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr ""
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr ""
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr ""
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr ""
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr ""
@@ -675,6 +650,22 @@ msgstr ""
msgid "Please select one or more satin columns to flip."
msgstr ""
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -858,10 +849,42 @@ msgstr ""
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr ""
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr ""
@@ -997,7 +1020,7 @@ msgstr ""
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr ""
@@ -1008,34 +1031,34 @@ msgstr ""
msgid "Error writing to %(path)s: %(error)s"
msgstr ""
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr ""
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr ""
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr ""
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr ""
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr ""
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr ""
@@ -1577,19 +1600,27 @@ msgstr ""
msgid "Auto-Route Satin Columns"
msgstr ""
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr ""
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr ""
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr ""
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr ""
@@ -1602,35 +1633,35 @@ msgstr ""
msgid "Embroider"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr ""
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr ""
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr ""
@@ -1642,17 +1673,33 @@ msgstr ""
msgid "Add Commands"
msgstr ""
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr ""
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr ""
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr ""
@@ -1665,7 +1712,7 @@ msgstr ""
msgid "Add Layer Commands"
msgstr ""
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr ""
@@ -1677,84 +1724,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr ""
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr ""
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr ""
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
+msgid "negate X coordinate values"
msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr ""
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1770,27 +1829,27 @@ msgstr ""
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1798,15 +1857,27 @@ msgstr ""
msgid "Simulate"
msgstr ""
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr ""
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr ""
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr ""
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_it_IT.po b/translations/messages_it_IT.po
index 1e6a1c76..6cd7af0f 100644
--- a/translations/messages_it_IT.po
+++ b/translations/messages_it_IT.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:10\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Italian\n"
"MIME-Version: 1.0\n"
@@ -16,38 +16,38 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: it_IT\n"
-#. name of font in fonts/small_font
-#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
-msgstr "Ink/Stitch Font Piccolo"
-
-#. description of font in fonts/small_font
-#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
-msgstr "Un font adatto per caratteri piccoli. L'em maiuscolo è largo 0.5 cm al 100%. Può essere ampliato fino a 300%."
-
#. name of font in fonts/tt_directors
-#: inkstitch-fonts-metadata.py:6
+#: inkstitch-fonts-metadata.py:2
msgid "TT Directors"
msgstr "TT Direttori"
#. description of font in fonts/tt_directors
-#: inkstitch-fonts-metadata.py:8
+#: inkstitch-fonts-metadata.py:4
msgid "A font suited for directing"
msgstr "Un font adatto a dare direzione"
#. name of font in fonts/medium_font
-#: inkstitch-fonts-metadata.py:10
+#: inkstitch-fonts-metadata.py:6
msgid "Ink/Stitch Medium Font"
msgstr "Ink/Stitch Font Medio"
#. description of font in fonts/medium_font
-#: inkstitch-fonts-metadata.py:12
+#: inkstitch-fonts-metadata.py:8
#, python-format
msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr "Font di base adatto per caratteri di medie dimensioni. L'em maiuscolo è largo 1,5 cm a scala 100%. Può essere ridotto al 75% o ampliato al 150%. Ogni satinato ha un contorno sul livello inferiore."
+#. name of font in fonts/small_font
+#: inkstitch-fonts-metadata.py:10
+msgid "Ink/Stitch Small Font"
+msgstr "Ink/Stitch Font Piccolo"
+
+#. description of font in fonts/small_font
+#: inkstitch-fonts-metadata.py:12
+#, python-format
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgstr "Un font adatto per caratteri piccoli. L'em maiuscolo è largo 0.5 cm al 100%. Può essere ampliato fino a 300%."
+
#. name of font in fonts/tt_masters
#: inkstitch-fonts-metadata.py:14
msgid "TT Masters"
@@ -58,106 +58,70 @@ msgstr "TT Masters"
msgid "A font suited for heavy typing :)"
msgstr "Un font adatto a chi batte forte sui tasti :)"
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
-msgstr "riempi_inizio"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
+msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
-msgstr "Posizione di partenza del punto di riempimento"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
+msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr "riempi_fine"
+msgid "Fill stitch starting position"
+msgstr "Posizione di partenza del punto di riempimento"
-#: lib/commands.py:23
+#. command attached to an object
+#: lib/commands.py:26
msgid "Fill stitch ending position"
msgstr "Posizione finale del punto di riempimento"
#. command attached to an object
-#: lib/commands.py:26
-msgid "satin_start"
-msgstr "raso_inizio"
-
-#: lib/commands.py:26
+#: lib/commands.py:29
msgid "Auto-route satin stitch starting position"
msgstr "Posizione di partenza del riempimento satinato in modalità percorso automatico"
#. command attached to an object
-#: lib/commands.py:29
-msgid "satin_end"
-msgstr "raso_fine"
-
-#: lib/commands.py:29
+#: lib/commands.py:32
msgid "Auto-route satin stitch ending position"
msgstr "Posizione di arrivo del riempimento satinato in modalità percorso automatico"
#. command attached to an object
-#: lib/commands.py:32
-msgid "stop"
-msgstr "stop"
-
-#: lib/commands.py:32
+#: lib/commands.py:35
msgid "Stop (pause machine) after sewing this object"
msgstr "Ferma (metti in pausa) la macchina dopo aver ricamato questo oggetto"
#. command attached to an object
-#: lib/commands.py:35
-msgid "trim"
-msgstr "togli_spazi"
-
-#: lib/commands.py:35
+#: lib/commands.py:38
msgid "Trim thread after sewing this object"
msgstr "Taglia il filo dopo aver ricamato questo oggetto"
#. command attached to an object
-#: lib/commands.py:38
-msgid "ignore_object"
-msgstr "ignora_oggetto"
-
-#: lib/commands.py:38
+#: lib/commands.py:41
msgid "Ignore this object (do not stitch)"
msgstr "Ignora questo oggetto (non ricamare)"
#. command attached to an object
-#: lib/commands.py:41
-msgid "satin_cut_point"
-msgstr "punto_per_taglio_raso"
-
-#: lib/commands.py:41
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr "Punto di taglio del ricamo satinato (da usare con il comando \"Taglia Colonna Satinata\")"
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr "ignora_livello"
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr "Ignora livello (non ricamare alcun oggetto del livello selezionato)"
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr "origine"
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr "Punto di origine per file di ricamo da esportare"
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr "stop_posizione"
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr "Posizione di destinazione per i comandi Stop (anche: \"Posizione fuori quadro\")."
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr "Errore: esiste più d'un comando %(command)s nel documento ma ne è ammesso solo uno. Per favore rimuovili tutti meno uno."
@@ -167,22 +131,22 @@ msgstr "Errore: esiste più d'un comando %(command)s nel documento ma ne è amme
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr "%(command)s: %(description)s"
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr "Comando Ink/Stitch"
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr "raccordo"
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr "indicatore di comando"
@@ -253,11 +217,11 @@ msgstr "Intarsio"
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr "Restringe la forma prima di eseguire il sottostrato per evitare che quest'ultimo sia visibile all'esterno del riempimento."
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr "Salta l'ultimo punto in ogni fila"
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr "L'ultimo punto di ogni fila è molto vicino al primo punto della fila successiva. Saltandolo si riduce il numero di punti e la loro densità."
@@ -287,12 +251,20 @@ msgstr "Errore durante l'auto-riempimento! C'è un problema con Ink/Stitch."
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr "Se vuoi contribuire a migliorare Ink/Stitch, copia questo messaggio in una nuova issue a questo link: "
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr "L'oggetto %(id)s ha un attributo vuoto. Cancella questo oggetto dal tuo documento."
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr "%(id)s ha più di un comando del tipo '%(command)s' collegato ad esso"
@@ -300,7 +272,7 @@ msgstr "%(id)s ha più di un comando del tipo '%(command)s' collegato ad esso"
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr "errore:"
@@ -312,75 +284,79 @@ msgstr "Disconnesso"
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr "Riempimento: questo oggetto è composto da forme non collegate. Questo non è permesso in quanto Ink/Stich non può sapere l'ordine con cui devono essere cucite. Scomponi l'oggetto."
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
-msgstr "* Percorso > Scomponi (Shift+Ctrl+K)"
-
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
-msgstr "* (Opzionale) Ricomponi le forme con spazi (Ctrl+K)."
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
+msgstr ""
-#: lib/elements/fill.py:28
+#: lib/elements/fill.py:27
msgid "Border crosses itself"
msgstr "Il bordo incrocia se stesso"
-#: lib/elements/fill.py:29
+#: lib/elements/fill.py:28
msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr "Riempimento: forma non valida. Può accadere se i bordi incrociano se stessi."
-#: lib/elements/fill.py:31
+#: lib/elements/fill.py:30
msgid "* Path > Union (Ctrl++)"
msgstr "* Percorso > Unione (Ctrl++)"
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:31
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr "* Percorso > Scomponi (Shift+Ctrl+K)"
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+msgstr "* (Opzionale) Ricomponi le forme con spazi (Ctrl+K)."
+
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr "Riempi"
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr "Riempimento impunture indirizzato manualmente"
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr "AutoFill è il metodo di default per generare cuciture di riempimento."
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr "Angolo delle linee dei punti"
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr "L'angolo si incrementa in senso anti-orario. Zero è orizzontale. Sono ammessi valori negativi."
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr "Capovolgi il riempimento (parti da destra a sinistra)"
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr "L'opzione di inversione può facilitare l'instradamento del percorso di cucitura. Quando è abilitata, l'ago va da destra a sinistra invece che da sinistra a destra."
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr "Spaziatura tra le righe"
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr "Distanza tra righe di cucitura."
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr "Lunghezza massima del punto di riempimento"
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr "La lunghezza di ogni punto di una riga. I punti più corti potrebbero essere usati all'inizio o alla fine della riga."
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr "Scorri le file questo tanto di volte prima di ripetere"
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr "Questa impostazione determina quante righe ci saranno dalla cucitura prima di arrivare alla stessa colonna."
@@ -641,6 +617,10 @@ msgstr "Ink/Stitch è in grado di lavorare solo con percorsi. Non può lavorare
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr "Consiglio: seleziona degli oggetti ed utilizza il comando \"Percorso -> Oggetti a percorso\" per convertirli in percorsi."
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr "Seleziona almeno una linea per convertirla in una colonna raso."
@@ -651,11 +631,6 @@ msgstr "Seleziona almeno una linea per convertirla in una colonna raso."
msgid "Only simple lines may be converted to satin columns."
msgstr "Solo linee semplici possono essere convertite in colonne raso."
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr "Non è possibile convertire %s in una colonna raso perchè interseca se stesso. Provare a suddividerlo in percorsi multipli."
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr "Selezionare una o più colonne raso da tagliare."
@@ -676,6 +651,22 @@ msgstr "\n\n"
msgid "Please select one or more satin columns to flip."
msgstr "Selezionare una o più colonne raso da ribaltare."
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr "Ink/Stitch può installare file (\"add-on\") che facilitano l'utilizzo di Inkscape per creare disegni per ricamatrici. I seguenti add-on saranno installati:"
@@ -859,10 +850,42 @@ msgstr "Avvertimenti"
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr "Potrebbe accadere che un oggetto contenga più di un errore, ma ci sarà comunque un solo puntatore per oggetto. Eseguire questa funzione un'altra volta, se si verificano ulteriori errori. Rimuovere i puntatori cancellando il livello chiamato \"Risoluzione problemi\" attraverso il pannello degli oggetti (Oggetto -> Oggetti...)."
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr "Non è stato selezionato nessun formato di file per il ricamo."
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr "Impostazioni iniziali"
@@ -998,7 +1021,7 @@ msgstr "Simulazione di ricamo"
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr "Genera file INX"
@@ -1009,34 +1032,34 @@ msgstr "Genera file INX"
msgid "Error writing to %(path)s: %(error)s"
msgstr "Errore scrivendo in %(path)s: %(error)s"
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr "Auto-raso"
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr "AutoRaso %d"
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr "Punto progressivo AutoRase %d"
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr "Piano di cucitura"
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr "parseLengthWithUnits: unità sconosciuta %s"
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr "Unità sconosciuta: %s"
@@ -1578,19 +1601,27 @@ msgstr "Formato G-code"
msgid "Auto-Route Satin Columns"
msgstr "Colonne raso con instradamento automatico"
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr ""
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr "Conserva l'ordine delle colonne raso"
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr "Strumanti raso"
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr "Converti linea in raso"
@@ -1603,35 +1634,35 @@ msgstr "Taglia colonna raso"
msgid "Embroider"
msgstr "Ricamatrice"
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr "Punti salto più piccoli di questo saranno trattati come punti normali."
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr "Nascondi gli altri livelli"
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr "Nascondi i livelli più alti quando il livello di ricamo viene generato, in modo da rendere visibile il cucito."
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr "Formato del file di output"
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr "DEBUG"
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr "Cartella"
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr "Lasciare vuoto per salvare l'output nella cartella delle estensioni Inkscape."
@@ -1643,17 +1674,33 @@ msgstr "Ribalta i binari della colonna raso"
msgid "Add Commands"
msgstr "Aggiungi comandi"
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr "Questi comandi agiscono sull'intero disegno di ricamo."
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr "Comandi"
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr "convertire il file %(file_extension)s in percorsi di cucito manuale Ink/Stitch"
@@ -1666,7 +1713,7 @@ msgstr "Installa add-ons per Inkscap"
msgid "Add Layer Commands"
msgstr "Aggiungi comandi di livello"
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr "I comnadi saranno aggiunti al livello attualmente selezionato."
@@ -1678,84 +1725,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr "Collega i comandi agli oggetti selezionati"
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr "Salva il disegno nel formato %(file_extension)s usando Ink/Stitch"
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr "modalità laser"
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr "Modalità laser (genera g-code per la modalità laser grbl)"
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr "potenza laser dinamica"
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr "Utilizza la modalità di potenza laser dinamica M4 di Grbl. Assicura una potenza di laser affidabile indipendentemente dalla velocità del motore. Solo per laser abilitati PWM."
-
-#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
-msgstr "tempo di riscaldamento del laser"
-
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
-msgstr "Tempo di attesa in secondi per il riscaldamento del laser dopo l'accensione (comando G4)"
-
-#: templates/output_params_txt.xml:5
msgid "negate X coordinate values"
msgstr "negazione dei valori della coordinata X"
-#: templates/output_params_txt.xml:5
+#: templates/output_params_txt.xml:4
msgid "Negate x coordinates"
msgstr "Negazione delle coordinate x"
-#: templates/output_params_txt.xml:6
+#: templates/output_params_txt.xml:5
msgid "negate Y coordinate values"
msgstr "negazione dei valori della coordinata Y"
-#: templates/output_params_txt.xml:6
+#: templates/output_params_txt.xml:5
msgid "Negate y coordinates"
msgstr "Negazione delle coordinate y"
+#: templates/output_params_txt.xml:6
+msgid "Z coordinate value"
+msgstr ""
+
+#: templates/output_params_txt.xml:6
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
+msgstr ""
+
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
-msgstr "incremento della coordinata z di questo quantitativo per punto"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr "modalità laser"
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr "Modalità laser (genera g-code per la modalità laser grbl)"
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
+msgstr "potenza laser dinamica"
+
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr "Utilizza la modalità di potenza laser dinamica M4 di Grbl. Assicura una potenza di laser affidabile indipendentemente dalla velocità del motore. Solo per laser abilitati PWM."
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr "tempo di riscaldamento del laser"
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr "Tempo di attesa in secondi per il riscaldamento del laser dopo l'accensione (comando G4)"
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr "velocità del mandrino"
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr "velocità del mandrino (potenza laser nella modalità laser, impostare a -1 per omettere)"
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr "velocità minima mandrino"
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr "velocità minima mandrino (impostazione grbl $31)"
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr "velocità massima mandrino"
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr "velocità minima mandrino (impostazione grbl $30)"
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr "velocità di alimentazione (in mm/min, impostare a -1 per omettere)"
@@ -1771,27 +1830,27 @@ msgstr "Stampa / Anteprima realistica"
msgid "Remove embroidery settings"
msgstr "Rimuovi impostazioni di ricamo"
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr "Utilizza questa estensione per rimuovere le informazioni che Ink/Stitch ha archiviato nel tuo documento. Questo può essere particolarmente utile in caso di copia di oggetti da un altro disegno di ricamo."
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr "Rimuovere i parametri"
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr "Rimuovi i parametri dagli oggetti selezionati o da tutto se non è selezionato nulla."
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr "Rimuovi i comandi"
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr "Rimuovi i comandi visuali dagli oggetti selezionati o da tutti gli oggetti se non è selezionato nulla."
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr "Rimuovi le impostazioni di stampa dai metadati SVG"
@@ -1799,15 +1858,27 @@ msgstr "Rimuovi le impostazioni di stampa dai metadati SVG"
msgid "Simulate"
msgstr "Simulare"
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr "Oggetti per la risoluzione dei problemi"
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr "Ink/Stitch: esportazione ZIP formati multipli (.zip)"
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr "Creare un file ZIP con formati di ricamo multipli usando Ink/Stitch"
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_ja_JP.po b/translations/messages_ja_JP.po
index b1058a43..605ea8fd 100644
--- a/translations/messages_ja_JP.po
+++ b/translations/messages_ja_JP.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:10\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Japanese\n"
"MIME-Version: 1.0\n"
@@ -16,36 +16,36 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: ja_JP\n"
-#. name of font in fonts/small_font
+#. name of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
+msgid "TT Directors"
msgstr ""
-#. description of font in fonts/small_font
+#. description of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgid "A font suited for directing"
msgstr ""
-#. name of font in fonts/tt_directors
+#. name of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:6
-msgid "TT Directors"
+msgid "Ink/Stitch Medium Font"
msgstr ""
-#. description of font in fonts/tt_directors
+#. description of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:8
-msgid "A font suited for directing"
+#, python-format
+msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr ""
-#. name of font in fonts/medium_font
+#. name of font in fonts/small_font
#: inkstitch-fonts-metadata.py:10
-msgid "Ink/Stitch Medium Font"
+msgid "Ink/Stitch Small Font"
msgstr ""
-#. description of font in fonts/medium_font
+#. description of font in fonts/small_font
#: inkstitch-fonts-metadata.py:12
#, python-format
-msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
msgstr ""
#. name of font in fonts/tt_masters
@@ -58,106 +58,70 @@ msgstr ""
msgid "A font suited for heavy typing :)"
msgstr ""
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr ""
-
-#: lib/commands.py:23
-msgid "Fill stitch ending position"
+msgid "Fill stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:26
-msgid "satin_start"
-msgstr ""
-
-#: lib/commands.py:26
-msgid "Auto-route satin stitch starting position"
+msgid "Fill stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:29
-msgid "satin_end"
-msgstr ""
-
-#: lib/commands.py:29
-msgid "Auto-route satin stitch ending position"
+msgid "Auto-route satin stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:32
-msgid "stop"
-msgstr ""
-
-#: lib/commands.py:32
-msgid "Stop (pause machine) after sewing this object"
+msgid "Auto-route satin stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:35
-msgid "trim"
-msgstr ""
-
-#: lib/commands.py:35
-msgid "Trim thread after sewing this object"
+msgid "Stop (pause machine) after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:38
-msgid "ignore_object"
-msgstr ""
-
-#: lib/commands.py:38
-msgid "Ignore this object (do not stitch)"
+msgid "Trim thread after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:41
-msgid "satin_cut_point"
+msgid "Ignore this object (do not stitch)"
msgstr ""
-#: lib/commands.py:41
+#. command attached to an object
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr ""
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr ""
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr ""
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr ""
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr ""
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr ""
@@ -167,22 +131,22 @@ msgstr ""
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr ""
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr ""
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr ""
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr ""
@@ -253,11 +217,11 @@ msgstr ""
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr ""
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr ""
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr ""
@@ -287,12 +251,20 @@ msgstr ""
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr ""
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr ""
@@ -300,7 +272,7 @@ msgstr ""
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr ""
@@ -312,75 +284,79 @@ msgstr ""
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr ""
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+#: lib/elements/fill.py:27
+msgid "Border crosses itself"
msgstr ""
#: lib/elements/fill.py:28
-msgid "Border crosses itself"
+msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr ""
-#: lib/elements/fill.py:29
-msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
+#: lib/elements/fill.py:30
+msgid "* Path > Union (Ctrl++)"
msgstr ""
#: lib/elements/fill.py:31
-msgid "* Path > Union (Ctrl++)"
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr ""
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr ""
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr ""
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr ""
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr ""
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr ""
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr ""
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr ""
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr ""
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr ""
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr ""
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr ""
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr ""
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr ""
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr ""
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr ""
@@ -675,6 +650,22 @@ msgstr ""
msgid "Please select one or more satin columns to flip."
msgstr ""
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -858,10 +849,42 @@ msgstr ""
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr ""
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr ""
@@ -997,7 +1020,7 @@ msgstr ""
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr ""
@@ -1008,34 +1031,34 @@ msgstr ""
msgid "Error writing to %(path)s: %(error)s"
msgstr ""
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr ""
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr ""
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr ""
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr ""
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr ""
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr ""
@@ -1577,19 +1600,27 @@ msgstr ""
msgid "Auto-Route Satin Columns"
msgstr ""
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr ""
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr ""
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr ""
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr ""
@@ -1602,35 +1633,35 @@ msgstr ""
msgid "Embroider"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr ""
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr ""
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr ""
@@ -1642,17 +1673,33 @@ msgstr ""
msgid "Add Commands"
msgstr ""
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr ""
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr ""
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr ""
@@ -1665,7 +1712,7 @@ msgstr ""
msgid "Add Layer Commands"
msgstr ""
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr ""
@@ -1677,84 +1724,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr ""
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr ""
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr ""
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
+msgid "negate X coordinate values"
msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr ""
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1770,27 +1829,27 @@ msgstr ""
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1798,15 +1857,27 @@ msgstr ""
msgid "Simulate"
msgstr ""
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr ""
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr ""
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr ""
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_ko_KR.po b/translations/messages_ko_KR.po
index ce418012..535f7ea6 100644
--- a/translations/messages_ko_KR.po
+++ b/translations/messages_ko_KR.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:10\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Korean\n"
"MIME-Version: 1.0\n"
@@ -16,36 +16,36 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: ko_KR\n"
-#. name of font in fonts/small_font
+#. name of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
+msgid "TT Directors"
msgstr ""
-#. description of font in fonts/small_font
+#. description of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgid "A font suited for directing"
msgstr ""
-#. name of font in fonts/tt_directors
+#. name of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:6
-msgid "TT Directors"
+msgid "Ink/Stitch Medium Font"
msgstr ""
-#. description of font in fonts/tt_directors
+#. description of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:8
-msgid "A font suited for directing"
+#, python-format
+msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr ""
-#. name of font in fonts/medium_font
+#. name of font in fonts/small_font
#: inkstitch-fonts-metadata.py:10
-msgid "Ink/Stitch Medium Font"
+msgid "Ink/Stitch Small Font"
msgstr ""
-#. description of font in fonts/medium_font
+#. description of font in fonts/small_font
#: inkstitch-fonts-metadata.py:12
#, python-format
-msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
msgstr ""
#. name of font in fonts/tt_masters
@@ -58,106 +58,70 @@ msgstr ""
msgid "A font suited for heavy typing :)"
msgstr ""
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr ""
-
-#: lib/commands.py:23
-msgid "Fill stitch ending position"
+msgid "Fill stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:26
-msgid "satin_start"
-msgstr ""
-
-#: lib/commands.py:26
-msgid "Auto-route satin stitch starting position"
+msgid "Fill stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:29
-msgid "satin_end"
-msgstr ""
-
-#: lib/commands.py:29
-msgid "Auto-route satin stitch ending position"
+msgid "Auto-route satin stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:32
-msgid "stop"
-msgstr ""
-
-#: lib/commands.py:32
-msgid "Stop (pause machine) after sewing this object"
+msgid "Auto-route satin stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:35
-msgid "trim"
-msgstr ""
-
-#: lib/commands.py:35
-msgid "Trim thread after sewing this object"
+msgid "Stop (pause machine) after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:38
-msgid "ignore_object"
-msgstr ""
-
-#: lib/commands.py:38
-msgid "Ignore this object (do not stitch)"
+msgid "Trim thread after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:41
-msgid "satin_cut_point"
+msgid "Ignore this object (do not stitch)"
msgstr ""
-#: lib/commands.py:41
+#. command attached to an object
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr ""
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr ""
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr ""
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr ""
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr ""
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr ""
@@ -167,22 +131,22 @@ msgstr ""
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr ""
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr ""
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr ""
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr ""
@@ -253,11 +217,11 @@ msgstr ""
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr ""
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr ""
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr ""
@@ -287,12 +251,20 @@ msgstr ""
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr ""
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr ""
@@ -300,7 +272,7 @@ msgstr ""
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr ""
@@ -312,75 +284,79 @@ msgstr ""
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr ""
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+#: lib/elements/fill.py:27
+msgid "Border crosses itself"
msgstr ""
#: lib/elements/fill.py:28
-msgid "Border crosses itself"
+msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr ""
-#: lib/elements/fill.py:29
-msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
+#: lib/elements/fill.py:30
+msgid "* Path > Union (Ctrl++)"
msgstr ""
#: lib/elements/fill.py:31
-msgid "* Path > Union (Ctrl++)"
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr ""
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr ""
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr ""
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr ""
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr ""
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr ""
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr ""
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr ""
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr ""
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr ""
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr ""
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr ""
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr ""
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr ""
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr ""
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr ""
@@ -675,6 +650,22 @@ msgstr ""
msgid "Please select one or more satin columns to flip."
msgstr ""
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -858,10 +849,42 @@ msgstr ""
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr ""
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr ""
@@ -997,7 +1020,7 @@ msgstr ""
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr ""
@@ -1008,34 +1031,34 @@ msgstr ""
msgid "Error writing to %(path)s: %(error)s"
msgstr ""
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr ""
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr ""
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr ""
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr ""
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr ""
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr ""
@@ -1577,19 +1600,27 @@ msgstr ""
msgid "Auto-Route Satin Columns"
msgstr ""
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr ""
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr ""
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr ""
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr ""
@@ -1602,35 +1633,35 @@ msgstr ""
msgid "Embroider"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr ""
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr ""
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr ""
@@ -1642,17 +1673,33 @@ msgstr ""
msgid "Add Commands"
msgstr ""
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr ""
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr ""
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr ""
@@ -1665,7 +1712,7 @@ msgstr ""
msgid "Add Layer Commands"
msgstr ""
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr ""
@@ -1677,84 +1724,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr ""
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr ""
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr ""
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
+msgid "negate X coordinate values"
msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr ""
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1770,27 +1829,27 @@ msgstr ""
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1798,15 +1857,27 @@ msgstr ""
msgid "Simulate"
msgstr ""
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr ""
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr ""
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr ""
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_nl_NL.po b/translations/messages_nl_NL.po
index aa475b5a..1a969ff2 100644
--- a/translations/messages_nl_NL.po
+++ b/translations/messages_nl_NL.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:09\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Dutch\n"
"MIME-Version: 1.0\n"
@@ -16,36 +16,36 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: nl_NL\n"
-#. name of font in fonts/small_font
+#. name of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
+msgid "TT Directors"
msgstr ""
-#. description of font in fonts/small_font
+#. description of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgid "A font suited for directing"
msgstr ""
-#. name of font in fonts/tt_directors
+#. name of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:6
-msgid "TT Directors"
+msgid "Ink/Stitch Medium Font"
msgstr ""
-#. description of font in fonts/tt_directors
+#. description of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:8
-msgid "A font suited for directing"
+#, python-format
+msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr ""
-#. name of font in fonts/medium_font
+#. name of font in fonts/small_font
#: inkstitch-fonts-metadata.py:10
-msgid "Ink/Stitch Medium Font"
+msgid "Ink/Stitch Small Font"
msgstr ""
-#. description of font in fonts/medium_font
+#. description of font in fonts/small_font
#: inkstitch-fonts-metadata.py:12
#, python-format
-msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
msgstr ""
#. name of font in fonts/tt_masters
@@ -58,106 +58,70 @@ msgstr ""
msgid "A font suited for heavy typing :)"
msgstr ""
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr ""
-
-#: lib/commands.py:23
-msgid "Fill stitch ending position"
+msgid "Fill stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:26
-msgid "satin_start"
-msgstr ""
-
-#: lib/commands.py:26
-msgid "Auto-route satin stitch starting position"
+msgid "Fill stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:29
-msgid "satin_end"
-msgstr ""
-
-#: lib/commands.py:29
-msgid "Auto-route satin stitch ending position"
+msgid "Auto-route satin stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:32
-msgid "stop"
-msgstr ""
-
-#: lib/commands.py:32
-msgid "Stop (pause machine) after sewing this object"
+msgid "Auto-route satin stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:35
-msgid "trim"
-msgstr ""
-
-#: lib/commands.py:35
-msgid "Trim thread after sewing this object"
+msgid "Stop (pause machine) after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:38
-msgid "ignore_object"
-msgstr ""
-
-#: lib/commands.py:38
-msgid "Ignore this object (do not stitch)"
+msgid "Trim thread after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:41
-msgid "satin_cut_point"
+msgid "Ignore this object (do not stitch)"
msgstr ""
-#: lib/commands.py:41
+#. command attached to an object
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr ""
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr ""
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr ""
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr ""
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr ""
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr ""
@@ -167,22 +131,22 @@ msgstr ""
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr ""
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr ""
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr ""
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr ""
@@ -253,11 +217,11 @@ msgstr ""
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr ""
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr ""
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr ""
@@ -287,12 +251,20 @@ msgstr ""
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr ""
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr ""
@@ -300,7 +272,7 @@ msgstr ""
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr ""
@@ -312,75 +284,79 @@ msgstr ""
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr ""
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+#: lib/elements/fill.py:27
+msgid "Border crosses itself"
msgstr ""
#: lib/elements/fill.py:28
-msgid "Border crosses itself"
+msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr ""
-#: lib/elements/fill.py:29
-msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
+#: lib/elements/fill.py:30
+msgid "* Path > Union (Ctrl++)"
msgstr ""
#: lib/elements/fill.py:31
-msgid "* Path > Union (Ctrl++)"
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr ""
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr ""
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr ""
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr ""
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr ""
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr ""
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr ""
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr ""
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr ""
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr ""
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr ""
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr ""
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr ""
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr ""
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr ""
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr ""
@@ -675,6 +650,22 @@ msgstr ""
msgid "Please select one or more satin columns to flip."
msgstr ""
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -858,10 +849,42 @@ msgstr ""
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr ""
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr ""
@@ -997,7 +1020,7 @@ msgstr ""
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr ""
@@ -1008,34 +1031,34 @@ msgstr ""
msgid "Error writing to %(path)s: %(error)s"
msgstr ""
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr ""
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr ""
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr ""
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr ""
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr ""
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr ""
@@ -1577,19 +1600,27 @@ msgstr ""
msgid "Auto-Route Satin Columns"
msgstr ""
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr ""
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr ""
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr ""
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr ""
@@ -1602,35 +1633,35 @@ msgstr ""
msgid "Embroider"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr ""
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr ""
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr ""
@@ -1642,17 +1673,33 @@ msgstr ""
msgid "Add Commands"
msgstr ""
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr ""
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr ""
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr ""
@@ -1665,7 +1712,7 @@ msgstr ""
msgid "Add Layer Commands"
msgstr ""
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr ""
@@ -1677,84 +1724,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr ""
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr ""
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr ""
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
+msgid "negate X coordinate values"
msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr ""
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1770,27 +1829,27 @@ msgstr ""
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1798,15 +1857,27 @@ msgstr ""
msgid "Simulate"
msgstr ""
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr ""
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr ""
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr ""
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_no_NO.po b/translations/messages_no_NO.po
index b2e9499a..9ef2cf05 100644
--- a/translations/messages_no_NO.po
+++ b/translations/messages_no_NO.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:10\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Norwegian\n"
"MIME-Version: 1.0\n"
@@ -16,36 +16,36 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: no_NO\n"
-#. name of font in fonts/small_font
+#. name of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
+msgid "TT Directors"
msgstr ""
-#. description of font in fonts/small_font
+#. description of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgid "A font suited for directing"
msgstr ""
-#. name of font in fonts/tt_directors
+#. name of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:6
-msgid "TT Directors"
+msgid "Ink/Stitch Medium Font"
msgstr ""
-#. description of font in fonts/tt_directors
+#. description of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:8
-msgid "A font suited for directing"
+#, python-format
+msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr ""
-#. name of font in fonts/medium_font
+#. name of font in fonts/small_font
#: inkstitch-fonts-metadata.py:10
-msgid "Ink/Stitch Medium Font"
+msgid "Ink/Stitch Small Font"
msgstr ""
-#. description of font in fonts/medium_font
+#. description of font in fonts/small_font
#: inkstitch-fonts-metadata.py:12
#, python-format
-msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
msgstr ""
#. name of font in fonts/tt_masters
@@ -58,106 +58,70 @@ msgstr ""
msgid "A font suited for heavy typing :)"
msgstr ""
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr ""
-
-#: lib/commands.py:23
-msgid "Fill stitch ending position"
+msgid "Fill stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:26
-msgid "satin_start"
-msgstr ""
-
-#: lib/commands.py:26
-msgid "Auto-route satin stitch starting position"
+msgid "Fill stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:29
-msgid "satin_end"
-msgstr ""
-
-#: lib/commands.py:29
-msgid "Auto-route satin stitch ending position"
+msgid "Auto-route satin stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:32
-msgid "stop"
-msgstr ""
-
-#: lib/commands.py:32
-msgid "Stop (pause machine) after sewing this object"
+msgid "Auto-route satin stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:35
-msgid "trim"
-msgstr ""
-
-#: lib/commands.py:35
-msgid "Trim thread after sewing this object"
+msgid "Stop (pause machine) after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:38
-msgid "ignore_object"
-msgstr ""
-
-#: lib/commands.py:38
-msgid "Ignore this object (do not stitch)"
+msgid "Trim thread after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:41
-msgid "satin_cut_point"
+msgid "Ignore this object (do not stitch)"
msgstr ""
-#: lib/commands.py:41
+#. command attached to an object
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr ""
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr ""
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr ""
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr ""
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr ""
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr ""
@@ -167,22 +131,22 @@ msgstr ""
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr ""
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr ""
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr ""
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr ""
@@ -253,11 +217,11 @@ msgstr ""
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr ""
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr ""
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr ""
@@ -287,12 +251,20 @@ msgstr ""
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr ""
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr ""
@@ -300,7 +272,7 @@ msgstr ""
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr ""
@@ -312,75 +284,79 @@ msgstr ""
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr ""
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+#: lib/elements/fill.py:27
+msgid "Border crosses itself"
msgstr ""
#: lib/elements/fill.py:28
-msgid "Border crosses itself"
+msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr ""
-#: lib/elements/fill.py:29
-msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
+#: lib/elements/fill.py:30
+msgid "* Path > Union (Ctrl++)"
msgstr ""
#: lib/elements/fill.py:31
-msgid "* Path > Union (Ctrl++)"
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr ""
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr ""
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr ""
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr ""
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr ""
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr ""
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr ""
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr ""
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr ""
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr ""
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr ""
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr ""
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr ""
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr ""
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr ""
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr ""
@@ -675,6 +650,22 @@ msgstr ""
msgid "Please select one or more satin columns to flip."
msgstr ""
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -858,10 +849,42 @@ msgstr ""
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr ""
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr ""
@@ -997,7 +1020,7 @@ msgstr ""
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr ""
@@ -1008,34 +1031,34 @@ msgstr ""
msgid "Error writing to %(path)s: %(error)s"
msgstr ""
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr ""
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr ""
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr ""
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr ""
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr ""
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr ""
@@ -1577,19 +1600,27 @@ msgstr ""
msgid "Auto-Route Satin Columns"
msgstr ""
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr ""
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr ""
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr ""
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr ""
@@ -1602,35 +1633,35 @@ msgstr ""
msgid "Embroider"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr ""
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr ""
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr ""
@@ -1642,17 +1673,33 @@ msgstr ""
msgid "Add Commands"
msgstr ""
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr ""
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr ""
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr ""
@@ -1665,7 +1712,7 @@ msgstr ""
msgid "Add Layer Commands"
msgstr ""
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr ""
@@ -1677,84 +1724,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr ""
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr ""
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr ""
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
+msgid "negate X coordinate values"
msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr ""
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1770,27 +1829,27 @@ msgstr ""
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1798,15 +1857,27 @@ msgstr ""
msgid "Simulate"
msgstr ""
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr ""
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr ""
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr ""
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_pl_PL.po b/translations/messages_pl_PL.po
index 1cb059f2..79645dd1 100644
--- a/translations/messages_pl_PL.po
+++ b/translations/messages_pl_PL.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:10\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Polish\n"
"MIME-Version: 1.0\n"
@@ -16,38 +16,38 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: pl_PL\n"
-#. name of font in fonts/small_font
-#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
-msgstr "Ink/Stitch mała czcionka"
-
-#. description of font in fonts/small_font
-#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
-msgstr "Czcionka dostosowana do małych znaków. Przy skali 100% wysokość wynosi 5,08 mm. Można skalować do 300%."
-
#. name of font in fonts/tt_directors
-#: inkstitch-fonts-metadata.py:6
+#: inkstitch-fonts-metadata.py:2
msgid "TT Directors"
msgstr ""
#. description of font in fonts/tt_directors
-#: inkstitch-fonts-metadata.py:8
+#: inkstitch-fonts-metadata.py:4
msgid "A font suited for directing"
msgstr ""
#. name of font in fonts/medium_font
-#: inkstitch-fonts-metadata.py:10
+#: inkstitch-fonts-metadata.py:6
msgid "Ink/Stitch Medium Font"
msgstr "Ink/Stitch średnia czcionka"
#. description of font in fonts/medium_font
-#: inkstitch-fonts-metadata.py:12
+#: inkstitch-fonts-metadata.py:8
#, python-format
msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr "Podstawowa czcionka do średniej wielkości znaków. Wielkość w skali 100% wynosi 15,24 mm. Można skalować od 75% do 150%. Każda satyna ma podkład konturowy."
+#. name of font in fonts/small_font
+#: inkstitch-fonts-metadata.py:10
+msgid "Ink/Stitch Small Font"
+msgstr "Ink/Stitch mała czcionka"
+
+#. description of font in fonts/small_font
+#: inkstitch-fonts-metadata.py:12
+#, python-format
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgstr "Czcionka dostosowana do małych znaków. Przy skali 100% wysokość wynosi 5,08 mm. Można skalować do 300%."
+
#. name of font in fonts/tt_masters
#: inkstitch-fonts-metadata.py:14
msgid "TT Masters"
@@ -58,106 +58,70 @@ msgstr "TT Metry"
msgid "A font suited for heavy typing :)"
msgstr "Czcionka dostosowana do ciężkiego pisania :)"
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
-msgstr "start_wypełnienia"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
+msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
-msgstr "Punkt startowy ściegu wypełnienia"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
+msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr "koniec_wypełnienia"
+msgid "Fill stitch starting position"
+msgstr "Punkt startowy ściegu wypełnienia"
-#: lib/commands.py:23
+#. command attached to an object
+#: lib/commands.py:26
msgid "Fill stitch ending position"
msgstr "Punkt końcowy ściegu wypełnienia"
#. command attached to an object
-#: lib/commands.py:26
-msgid "satin_start"
-msgstr "start_satyny"
-
-#: lib/commands.py:26
+#: lib/commands.py:29
msgid "Auto-route satin stitch starting position"
msgstr "Automatycznie trasuj pozycję początkową ściegu satynowego"
#. command attached to an object
-#: lib/commands.py:29
-msgid "satin_end"
-msgstr "koniec_satyny"
-
-#: lib/commands.py:29
+#: lib/commands.py:32
msgid "Auto-route satin stitch ending position"
msgstr "Automatycznie trasuj pozycję końcową ściegu satynowego"
#. command attached to an object
-#: lib/commands.py:32
-msgid "stop"
-msgstr "stop"
-
-#: lib/commands.py:32
+#: lib/commands.py:35
msgid "Stop (pause machine) after sewing this object"
msgstr "Zatrzymaj (wstrzymaj maszynę) po wyhaftowaniu tego obiektu"
#. command attached to an object
-#: lib/commands.py:35
-msgid "trim"
-msgstr "trym"
-
-#: lib/commands.py:35
+#: lib/commands.py:38
msgid "Trim thread after sewing this object"
msgstr "Po wyszyciu tego obiektu obetnij nić"
#. command attached to an object
-#: lib/commands.py:38
-msgid "ignore_object"
-msgstr "ignoruj_obiekt"
-
-#: lib/commands.py:38
+#: lib/commands.py:41
msgid "Ignore this object (do not stitch)"
msgstr "Ignoruj ten obiekt (nie wyszywaj)"
#. command attached to an object
-#: lib/commands.py:41
-msgid "satin_cut_point"
-msgstr ""
-
-#: lib/commands.py:41
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr ""
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr ""
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr ""
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr ""
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr ""
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr ""
@@ -167,22 +131,22 @@ msgstr ""
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr ""
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr ""
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr ""
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr ""
@@ -253,11 +217,11 @@ msgstr ""
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr ""
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr ""
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr ""
@@ -287,12 +251,20 @@ msgstr ""
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr ""
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr ""
@@ -300,7 +272,7 @@ msgstr ""
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr ""
@@ -312,75 +284,79 @@ msgstr ""
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr ""
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+#: lib/elements/fill.py:27
+msgid "Border crosses itself"
msgstr ""
#: lib/elements/fill.py:28
-msgid "Border crosses itself"
+msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr ""
-#: lib/elements/fill.py:29
-msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
+#: lib/elements/fill.py:30
+msgid "* Path > Union (Ctrl++)"
msgstr ""
#: lib/elements/fill.py:31
-msgid "* Path > Union (Ctrl++)"
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr ""
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr ""
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr ""
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr ""
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr ""
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr ""
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr ""
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr ""
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr ""
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr ""
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr ""
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr ""
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr ""
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr ""
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr ""
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr ""
@@ -675,6 +650,22 @@ msgstr ""
msgid "Please select one or more satin columns to flip."
msgstr ""
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -858,10 +849,42 @@ msgstr ""
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr ""
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr ""
@@ -997,7 +1020,7 @@ msgstr ""
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr ""
@@ -1008,34 +1031,34 @@ msgstr ""
msgid "Error writing to %(path)s: %(error)s"
msgstr ""
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr ""
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr ""
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr ""
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr ""
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr ""
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr ""
@@ -1577,19 +1600,27 @@ msgstr ""
msgid "Auto-Route Satin Columns"
msgstr ""
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr ""
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr ""
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr ""
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr ""
@@ -1602,35 +1633,35 @@ msgstr ""
msgid "Embroider"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr ""
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr ""
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr ""
@@ -1642,17 +1673,33 @@ msgstr ""
msgid "Add Commands"
msgstr ""
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr ""
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr ""
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr ""
@@ -1665,7 +1712,7 @@ msgstr ""
msgid "Add Layer Commands"
msgstr ""
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr ""
@@ -1677,84 +1724,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr ""
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr ""
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr ""
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
+msgid "negate X coordinate values"
msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr ""
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1770,27 +1829,27 @@ msgstr "Wydruk / Podgląd realistyczny"
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1798,15 +1857,27 @@ msgstr ""
msgid "Simulate"
msgstr "Wykonaj symulację"
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr "Znajdź problematyczne obiekty"
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr "Ink/Stitch: ZIP eksport wielu formatów (.zip)"
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr "Stwórz ZIP z wieloma plikami ściegu dla różnych hafciarek używając Ink/Stitch"
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_pt_BR.po b/translations/messages_pt_BR.po
index 77d5b9f0..7f3a393f 100644
--- a/translations/messages_pt_BR.po
+++ b/translations/messages_pt_BR.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:10\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Portuguese, Brazilian\n"
"MIME-Version: 1.0\n"
@@ -16,36 +16,36 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: pt_BR\n"
-#. name of font in fonts/small_font
+#. name of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
+msgid "TT Directors"
msgstr ""
-#. description of font in fonts/small_font
+#. description of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgid "A font suited for directing"
msgstr ""
-#. name of font in fonts/tt_directors
+#. name of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:6
-msgid "TT Directors"
+msgid "Ink/Stitch Medium Font"
msgstr ""
-#. description of font in fonts/tt_directors
+#. description of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:8
-msgid "A font suited for directing"
+#, python-format
+msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr ""
-#. name of font in fonts/medium_font
+#. name of font in fonts/small_font
#: inkstitch-fonts-metadata.py:10
-msgid "Ink/Stitch Medium Font"
+msgid "Ink/Stitch Small Font"
msgstr ""
-#. description of font in fonts/medium_font
+#. description of font in fonts/small_font
#: inkstitch-fonts-metadata.py:12
#, python-format
-msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
msgstr ""
#. name of font in fonts/tt_masters
@@ -58,106 +58,70 @@ msgstr ""
msgid "A font suited for heavy typing :)"
msgstr ""
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr ""
-
-#: lib/commands.py:23
-msgid "Fill stitch ending position"
+msgid "Fill stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:26
-msgid "satin_start"
-msgstr ""
-
-#: lib/commands.py:26
-msgid "Auto-route satin stitch starting position"
+msgid "Fill stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:29
-msgid "satin_end"
-msgstr ""
-
-#: lib/commands.py:29
-msgid "Auto-route satin stitch ending position"
+msgid "Auto-route satin stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:32
-msgid "stop"
-msgstr ""
-
-#: lib/commands.py:32
-msgid "Stop (pause machine) after sewing this object"
+msgid "Auto-route satin stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:35
-msgid "trim"
-msgstr ""
-
-#: lib/commands.py:35
-msgid "Trim thread after sewing this object"
+msgid "Stop (pause machine) after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:38
-msgid "ignore_object"
-msgstr ""
-
-#: lib/commands.py:38
-msgid "Ignore this object (do not stitch)"
+msgid "Trim thread after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:41
-msgid "satin_cut_point"
+msgid "Ignore this object (do not stitch)"
msgstr ""
-#: lib/commands.py:41
+#. command attached to an object
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr ""
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr ""
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr ""
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr ""
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr ""
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr ""
@@ -167,22 +131,22 @@ msgstr ""
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr ""
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr ""
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr ""
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr ""
@@ -253,11 +217,11 @@ msgstr ""
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr ""
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr ""
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr ""
@@ -287,12 +251,20 @@ msgstr ""
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr ""
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr ""
@@ -300,7 +272,7 @@ msgstr ""
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr ""
@@ -312,75 +284,79 @@ msgstr ""
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr ""
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+#: lib/elements/fill.py:27
+msgid "Border crosses itself"
msgstr ""
#: lib/elements/fill.py:28
-msgid "Border crosses itself"
+msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr ""
-#: lib/elements/fill.py:29
-msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
+#: lib/elements/fill.py:30
+msgid "* Path > Union (Ctrl++)"
msgstr ""
#: lib/elements/fill.py:31
-msgid "* Path > Union (Ctrl++)"
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr ""
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr ""
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr ""
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr ""
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr ""
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr ""
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr ""
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr ""
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr ""
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr ""
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr ""
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr ""
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr ""
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr ""
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr ""
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr ""
@@ -675,6 +650,22 @@ msgstr ""
msgid "Please select one or more satin columns to flip."
msgstr ""
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -858,10 +849,42 @@ msgstr ""
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr ""
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr ""
@@ -997,7 +1020,7 @@ msgstr ""
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr ""
@@ -1008,34 +1031,34 @@ msgstr ""
msgid "Error writing to %(path)s: %(error)s"
msgstr ""
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr ""
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr ""
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr ""
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr ""
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr ""
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr ""
@@ -1577,19 +1600,27 @@ msgstr ""
msgid "Auto-Route Satin Columns"
msgstr ""
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr ""
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr ""
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr ""
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr ""
@@ -1602,35 +1633,35 @@ msgstr ""
msgid "Embroider"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr ""
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr ""
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr ""
@@ -1642,17 +1673,33 @@ msgstr ""
msgid "Add Commands"
msgstr ""
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr ""
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr ""
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr ""
@@ -1665,7 +1712,7 @@ msgstr ""
msgid "Add Layer Commands"
msgstr ""
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr ""
@@ -1677,84 +1724,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr ""
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr ""
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr ""
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
+msgid "negate X coordinate values"
msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr ""
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1770,27 +1829,27 @@ msgstr ""
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1798,15 +1857,27 @@ msgstr ""
msgid "Simulate"
msgstr ""
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr ""
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr ""
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr ""
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_pt_PT.po b/translations/messages_pt_PT.po
index 4adf80ba..e368a6a2 100644
--- a/translations/messages_pt_PT.po
+++ b/translations/messages_pt_PT.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:10\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Portuguese\n"
"MIME-Version: 1.0\n"
@@ -16,36 +16,36 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: pt_PT\n"
-#. name of font in fonts/small_font
+#. name of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
+msgid "TT Directors"
msgstr ""
-#. description of font in fonts/small_font
+#. description of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgid "A font suited for directing"
msgstr ""
-#. name of font in fonts/tt_directors
+#. name of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:6
-msgid "TT Directors"
+msgid "Ink/Stitch Medium Font"
msgstr ""
-#. description of font in fonts/tt_directors
+#. description of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:8
-msgid "A font suited for directing"
+#, python-format
+msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr ""
-#. name of font in fonts/medium_font
+#. name of font in fonts/small_font
#: inkstitch-fonts-metadata.py:10
-msgid "Ink/Stitch Medium Font"
+msgid "Ink/Stitch Small Font"
msgstr ""
-#. description of font in fonts/medium_font
+#. description of font in fonts/small_font
#: inkstitch-fonts-metadata.py:12
#, python-format
-msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
msgstr ""
#. name of font in fonts/tt_masters
@@ -58,106 +58,70 @@ msgstr ""
msgid "A font suited for heavy typing :)"
msgstr ""
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr ""
-
-#: lib/commands.py:23
-msgid "Fill stitch ending position"
+msgid "Fill stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:26
-msgid "satin_start"
-msgstr ""
-
-#: lib/commands.py:26
-msgid "Auto-route satin stitch starting position"
+msgid "Fill stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:29
-msgid "satin_end"
-msgstr ""
-
-#: lib/commands.py:29
-msgid "Auto-route satin stitch ending position"
+msgid "Auto-route satin stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:32
-msgid "stop"
-msgstr ""
-
-#: lib/commands.py:32
-msgid "Stop (pause machine) after sewing this object"
+msgid "Auto-route satin stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:35
-msgid "trim"
-msgstr ""
-
-#: lib/commands.py:35
-msgid "Trim thread after sewing this object"
+msgid "Stop (pause machine) after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:38
-msgid "ignore_object"
-msgstr ""
-
-#: lib/commands.py:38
-msgid "Ignore this object (do not stitch)"
+msgid "Trim thread after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:41
-msgid "satin_cut_point"
+msgid "Ignore this object (do not stitch)"
msgstr ""
-#: lib/commands.py:41
+#. command attached to an object
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr ""
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr ""
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr ""
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr ""
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr ""
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr ""
@@ -167,22 +131,22 @@ msgstr ""
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr ""
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr ""
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr ""
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr ""
@@ -253,11 +217,11 @@ msgstr ""
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr ""
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr ""
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr ""
@@ -287,12 +251,20 @@ msgstr ""
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr ""
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr ""
@@ -300,7 +272,7 @@ msgstr ""
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr ""
@@ -312,75 +284,79 @@ msgstr ""
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr ""
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+#: lib/elements/fill.py:27
+msgid "Border crosses itself"
msgstr ""
#: lib/elements/fill.py:28
-msgid "Border crosses itself"
+msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr ""
-#: lib/elements/fill.py:29
-msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
+#: lib/elements/fill.py:30
+msgid "* Path > Union (Ctrl++)"
msgstr ""
#: lib/elements/fill.py:31
-msgid "* Path > Union (Ctrl++)"
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr ""
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr "Preenchimento"
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr "Definir enchimento manualmente"
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr ""
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr "Ângulo das linhas de ponto"
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr ""
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr "Inverter Enchimento (Direita-Para-Esquerda)"
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr ""
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr "Espaçamento entre linhas"
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr ""
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr "Distância máxima entre pontos de enchimento"
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr ""
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr "Numero de vezes a escalonar linhas antes de repetir"
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr ""
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr ""
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr ""
@@ -676,6 +651,22 @@ msgstr "\n\n"
msgid "Please select one or more satin columns to flip."
msgstr ""
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -859,10 +850,42 @@ msgstr ""
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr ""
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr "Pré-definições"
@@ -998,7 +1021,7 @@ msgstr "Simulação de Bordado"
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr ""
@@ -1009,34 +1032,34 @@ msgstr ""
msgid "Error writing to %(path)s: %(error)s"
msgstr ""
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr ""
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr ""
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr ""
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr "Plano de pontos/bordado"
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr "parseLengthWithUnits: Unidade desconhecida %s"
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr "Unidade desconhecida: %s"
@@ -1578,19 +1601,27 @@ msgstr ""
msgid "Auto-Route Satin Columns"
msgstr ""
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr ""
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr ""
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr ""
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr ""
@@ -1603,35 +1634,35 @@ msgstr ""
msgid "Embroider"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr ""
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr ""
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr ""
@@ -1643,17 +1674,33 @@ msgstr ""
msgid "Add Commands"
msgstr ""
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr ""
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr ""
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr ""
@@ -1666,7 +1713,7 @@ msgstr ""
msgid "Add Layer Commands"
msgstr ""
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr ""
@@ -1678,84 +1725,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr ""
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr ""
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr ""
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
+msgid "negate X coordinate values"
msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr ""
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1771,27 +1830,27 @@ msgstr ""
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1799,15 +1858,27 @@ msgstr ""
msgid "Simulate"
msgstr ""
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr ""
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr ""
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr ""
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_ro_RO.po b/translations/messages_ro_RO.po
index 9634f06f..e3905673 100644
--- a/translations/messages_ro_RO.po
+++ b/translations/messages_ro_RO.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:10\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Romanian\n"
"MIME-Version: 1.0\n"
@@ -16,36 +16,36 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: ro_RO\n"
-#. name of font in fonts/small_font
+#. name of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
+msgid "TT Directors"
msgstr ""
-#. description of font in fonts/small_font
+#. description of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgid "A font suited for directing"
msgstr ""
-#. name of font in fonts/tt_directors
+#. name of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:6
-msgid "TT Directors"
+msgid "Ink/Stitch Medium Font"
msgstr ""
-#. description of font in fonts/tt_directors
+#. description of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:8
-msgid "A font suited for directing"
+#, python-format
+msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr ""
-#. name of font in fonts/medium_font
+#. name of font in fonts/small_font
#: inkstitch-fonts-metadata.py:10
-msgid "Ink/Stitch Medium Font"
+msgid "Ink/Stitch Small Font"
msgstr ""
-#. description of font in fonts/medium_font
+#. description of font in fonts/small_font
#: inkstitch-fonts-metadata.py:12
#, python-format
-msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
msgstr ""
#. name of font in fonts/tt_masters
@@ -58,106 +58,70 @@ msgstr ""
msgid "A font suited for heavy typing :)"
msgstr ""
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr ""
-
-#: lib/commands.py:23
-msgid "Fill stitch ending position"
+msgid "Fill stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:26
-msgid "satin_start"
-msgstr ""
-
-#: lib/commands.py:26
-msgid "Auto-route satin stitch starting position"
+msgid "Fill stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:29
-msgid "satin_end"
-msgstr ""
-
-#: lib/commands.py:29
-msgid "Auto-route satin stitch ending position"
+msgid "Auto-route satin stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:32
-msgid "stop"
-msgstr ""
-
-#: lib/commands.py:32
-msgid "Stop (pause machine) after sewing this object"
+msgid "Auto-route satin stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:35
-msgid "trim"
-msgstr ""
-
-#: lib/commands.py:35
-msgid "Trim thread after sewing this object"
+msgid "Stop (pause machine) after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:38
-msgid "ignore_object"
-msgstr ""
-
-#: lib/commands.py:38
-msgid "Ignore this object (do not stitch)"
+msgid "Trim thread after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:41
-msgid "satin_cut_point"
+msgid "Ignore this object (do not stitch)"
msgstr ""
-#: lib/commands.py:41
+#. command attached to an object
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr ""
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr ""
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr ""
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr ""
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr ""
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr ""
@@ -167,22 +131,22 @@ msgstr ""
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr ""
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr ""
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr ""
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr ""
@@ -253,11 +217,11 @@ msgstr ""
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr ""
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr ""
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr ""
@@ -287,12 +251,20 @@ msgstr ""
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr ""
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr ""
@@ -300,7 +272,7 @@ msgstr ""
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr ""
@@ -312,75 +284,79 @@ msgstr ""
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr ""
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+#: lib/elements/fill.py:27
+msgid "Border crosses itself"
msgstr ""
#: lib/elements/fill.py:28
-msgid "Border crosses itself"
+msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr ""
-#: lib/elements/fill.py:29
-msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
+#: lib/elements/fill.py:30
+msgid "* Path > Union (Ctrl++)"
msgstr ""
#: lib/elements/fill.py:31
-msgid "* Path > Union (Ctrl++)"
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr ""
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr ""
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr ""
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr ""
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr ""
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr ""
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr ""
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr ""
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr ""
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr ""
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr ""
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr ""
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr ""
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr ""
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr ""
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr ""
@@ -675,6 +650,22 @@ msgstr ""
msgid "Please select one or more satin columns to flip."
msgstr ""
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -858,10 +849,42 @@ msgstr ""
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr ""
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr ""
@@ -997,7 +1020,7 @@ msgstr ""
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr ""
@@ -1008,34 +1031,34 @@ msgstr ""
msgid "Error writing to %(path)s: %(error)s"
msgstr ""
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr ""
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr ""
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr ""
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr ""
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr ""
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr ""
@@ -1577,19 +1600,27 @@ msgstr ""
msgid "Auto-Route Satin Columns"
msgstr ""
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr ""
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr ""
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr ""
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr ""
@@ -1602,35 +1633,35 @@ msgstr ""
msgid "Embroider"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr ""
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr ""
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr ""
@@ -1642,17 +1673,33 @@ msgstr ""
msgid "Add Commands"
msgstr ""
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr ""
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr ""
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr ""
@@ -1665,7 +1712,7 @@ msgstr ""
msgid "Add Layer Commands"
msgstr ""
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr ""
@@ -1677,84 +1724,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr ""
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr ""
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr ""
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
+msgid "negate X coordinate values"
msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr ""
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1770,27 +1829,27 @@ msgstr ""
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1798,15 +1857,27 @@ msgstr ""
msgid "Simulate"
msgstr ""
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr ""
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr ""
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr ""
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_ru_RU.po b/translations/messages_ru_RU.po
index 4bec22dc..fac95200 100644
--- a/translations/messages_ru_RU.po
+++ b/translations/messages_ru_RU.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:10\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Russian\n"
"MIME-Version: 1.0\n"
@@ -16,36 +16,36 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: ru_RU\n"
-#. name of font in fonts/small_font
+#. name of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
+msgid "TT Directors"
msgstr ""
-#. description of font in fonts/small_font
+#. description of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgid "A font suited for directing"
msgstr ""
-#. name of font in fonts/tt_directors
+#. name of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:6
-msgid "TT Directors"
+msgid "Ink/Stitch Medium Font"
msgstr ""
-#. description of font in fonts/tt_directors
+#. description of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:8
-msgid "A font suited for directing"
+#, python-format
+msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr ""
-#. name of font in fonts/medium_font
+#. name of font in fonts/small_font
#: inkstitch-fonts-metadata.py:10
-msgid "Ink/Stitch Medium Font"
+msgid "Ink/Stitch Small Font"
msgstr ""
-#. description of font in fonts/medium_font
+#. description of font in fonts/small_font
#: inkstitch-fonts-metadata.py:12
#, python-format
-msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
msgstr ""
#. name of font in fonts/tt_masters
@@ -58,106 +58,70 @@ msgstr ""
msgid "A font suited for heavy typing :)"
msgstr ""
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr ""
-
-#: lib/commands.py:23
-msgid "Fill stitch ending position"
+msgid "Fill stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:26
-msgid "satin_start"
-msgstr ""
-
-#: lib/commands.py:26
-msgid "Auto-route satin stitch starting position"
+msgid "Fill stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:29
-msgid "satin_end"
-msgstr ""
-
-#: lib/commands.py:29
-msgid "Auto-route satin stitch ending position"
+msgid "Auto-route satin stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:32
-msgid "stop"
-msgstr ""
-
-#: lib/commands.py:32
-msgid "Stop (pause machine) after sewing this object"
+msgid "Auto-route satin stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:35
-msgid "trim"
-msgstr ""
-
-#: lib/commands.py:35
-msgid "Trim thread after sewing this object"
+msgid "Stop (pause machine) after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:38
-msgid "ignore_object"
-msgstr ""
-
-#: lib/commands.py:38
-msgid "Ignore this object (do not stitch)"
+msgid "Trim thread after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:41
-msgid "satin_cut_point"
+msgid "Ignore this object (do not stitch)"
msgstr ""
-#: lib/commands.py:41
+#. command attached to an object
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr ""
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr ""
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr ""
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr ""
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr ""
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr ""
@@ -167,22 +131,22 @@ msgstr ""
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr ""
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr ""
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr ""
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr ""
@@ -253,11 +217,11 @@ msgstr ""
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr ""
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr ""
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr ""
@@ -287,12 +251,20 @@ msgstr ""
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr ""
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr ""
@@ -300,7 +272,7 @@ msgstr ""
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr ""
@@ -312,75 +284,79 @@ msgstr ""
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr ""
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+#: lib/elements/fill.py:27
+msgid "Border crosses itself"
msgstr ""
#: lib/elements/fill.py:28
-msgid "Border crosses itself"
+msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr ""
-#: lib/elements/fill.py:29
-msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
+#: lib/elements/fill.py:30
+msgid "* Path > Union (Ctrl++)"
msgstr ""
#: lib/elements/fill.py:31
-msgid "* Path > Union (Ctrl++)"
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr ""
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr ""
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr ""
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr ""
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr ""
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr ""
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr ""
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr ""
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr ""
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr ""
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr ""
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr ""
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr ""
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr ""
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr ""
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr ""
@@ -675,6 +650,22 @@ msgstr ""
msgid "Please select one or more satin columns to flip."
msgstr ""
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -858,10 +849,42 @@ msgstr ""
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr ""
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr ""
@@ -997,7 +1020,7 @@ msgstr ""
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr ""
@@ -1008,34 +1031,34 @@ msgstr ""
msgid "Error writing to %(path)s: %(error)s"
msgstr ""
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr ""
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr ""
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr ""
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr ""
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr ""
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr ""
@@ -1577,19 +1600,27 @@ msgstr ""
msgid "Auto-Route Satin Columns"
msgstr ""
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr ""
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr ""
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr ""
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr ""
@@ -1602,35 +1633,35 @@ msgstr ""
msgid "Embroider"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr ""
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr ""
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr ""
@@ -1642,17 +1673,33 @@ msgstr ""
msgid "Add Commands"
msgstr ""
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr ""
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr ""
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr ""
@@ -1665,7 +1712,7 @@ msgstr ""
msgid "Add Layer Commands"
msgstr ""
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr ""
@@ -1677,84 +1724,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr ""
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr ""
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr ""
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
+msgid "negate X coordinate values"
msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr ""
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1770,27 +1829,27 @@ msgstr ""
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1798,15 +1857,27 @@ msgstr ""
msgid "Simulate"
msgstr ""
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr ""
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr ""
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr ""
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_sr_SP.po b/translations/messages_sr_SP.po
index dec0f0e9..a5ce6d3d 100644
--- a/translations/messages_sr_SP.po
+++ b/translations/messages_sr_SP.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:10\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Serbian (Cyrillic)\n"
"MIME-Version: 1.0\n"
@@ -16,36 +16,36 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: sr_SP\n"
-#. name of font in fonts/small_font
+#. name of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
+msgid "TT Directors"
msgstr ""
-#. description of font in fonts/small_font
+#. description of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgid "A font suited for directing"
msgstr ""
-#. name of font in fonts/tt_directors
+#. name of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:6
-msgid "TT Directors"
+msgid "Ink/Stitch Medium Font"
msgstr ""
-#. description of font in fonts/tt_directors
+#. description of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:8
-msgid "A font suited for directing"
+#, python-format
+msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr ""
-#. name of font in fonts/medium_font
+#. name of font in fonts/small_font
#: inkstitch-fonts-metadata.py:10
-msgid "Ink/Stitch Medium Font"
+msgid "Ink/Stitch Small Font"
msgstr ""
-#. description of font in fonts/medium_font
+#. description of font in fonts/small_font
#: inkstitch-fonts-metadata.py:12
#, python-format
-msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
msgstr ""
#. name of font in fonts/tt_masters
@@ -58,106 +58,70 @@ msgstr ""
msgid "A font suited for heavy typing :)"
msgstr ""
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr ""
-
-#: lib/commands.py:23
-msgid "Fill stitch ending position"
+msgid "Fill stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:26
-msgid "satin_start"
-msgstr ""
-
-#: lib/commands.py:26
-msgid "Auto-route satin stitch starting position"
+msgid "Fill stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:29
-msgid "satin_end"
-msgstr ""
-
-#: lib/commands.py:29
-msgid "Auto-route satin stitch ending position"
+msgid "Auto-route satin stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:32
-msgid "stop"
-msgstr ""
-
-#: lib/commands.py:32
-msgid "Stop (pause machine) after sewing this object"
+msgid "Auto-route satin stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:35
-msgid "trim"
-msgstr ""
-
-#: lib/commands.py:35
-msgid "Trim thread after sewing this object"
+msgid "Stop (pause machine) after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:38
-msgid "ignore_object"
-msgstr ""
-
-#: lib/commands.py:38
-msgid "Ignore this object (do not stitch)"
+msgid "Trim thread after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:41
-msgid "satin_cut_point"
+msgid "Ignore this object (do not stitch)"
msgstr ""
-#: lib/commands.py:41
+#. command attached to an object
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr ""
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr ""
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr ""
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr ""
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr ""
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr ""
@@ -167,22 +131,22 @@ msgstr ""
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr ""
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr ""
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr ""
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr ""
@@ -253,11 +217,11 @@ msgstr ""
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr ""
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr ""
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr ""
@@ -287,12 +251,20 @@ msgstr ""
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr ""
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr ""
@@ -300,7 +272,7 @@ msgstr ""
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr ""
@@ -312,75 +284,79 @@ msgstr ""
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr ""
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+#: lib/elements/fill.py:27
+msgid "Border crosses itself"
msgstr ""
#: lib/elements/fill.py:28
-msgid "Border crosses itself"
+msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr ""
-#: lib/elements/fill.py:29
-msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
+#: lib/elements/fill.py:30
+msgid "* Path > Union (Ctrl++)"
msgstr ""
#: lib/elements/fill.py:31
-msgid "* Path > Union (Ctrl++)"
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr ""
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr ""
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr ""
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr ""
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr ""
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr ""
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr ""
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr ""
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr ""
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr ""
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr ""
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr ""
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr ""
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr ""
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr ""
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr ""
@@ -675,6 +650,22 @@ msgstr ""
msgid "Please select one or more satin columns to flip."
msgstr ""
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -858,10 +849,42 @@ msgstr ""
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr ""
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr ""
@@ -997,7 +1020,7 @@ msgstr ""
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr ""
@@ -1008,34 +1031,34 @@ msgstr ""
msgid "Error writing to %(path)s: %(error)s"
msgstr ""
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr ""
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr ""
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr ""
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr ""
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr ""
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr ""
@@ -1577,19 +1600,27 @@ msgstr ""
msgid "Auto-Route Satin Columns"
msgstr ""
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr ""
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr ""
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr ""
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr ""
@@ -1602,35 +1633,35 @@ msgstr ""
msgid "Embroider"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr ""
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr ""
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr ""
@@ -1642,17 +1673,33 @@ msgstr ""
msgid "Add Commands"
msgstr ""
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr ""
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr ""
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr ""
@@ -1665,7 +1712,7 @@ msgstr ""
msgid "Add Layer Commands"
msgstr ""
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr ""
@@ -1677,84 +1724,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr ""
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr ""
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr ""
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
+msgid "negate X coordinate values"
msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr ""
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1770,27 +1829,27 @@ msgstr ""
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1798,15 +1857,27 @@ msgstr ""
msgid "Simulate"
msgstr ""
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr ""
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr ""
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr ""
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_sv_SE.po b/translations/messages_sv_SE.po
index 15203f51..738826b0 100644
--- a/translations/messages_sv_SE.po
+++ b/translations/messages_sv_SE.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:10\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Swedish\n"
"MIME-Version: 1.0\n"
@@ -16,36 +16,36 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: sv_SE\n"
-#. name of font in fonts/small_font
+#. name of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
+msgid "TT Directors"
msgstr ""
-#. description of font in fonts/small_font
+#. description of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgid "A font suited for directing"
msgstr ""
-#. name of font in fonts/tt_directors
+#. name of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:6
-msgid "TT Directors"
+msgid "Ink/Stitch Medium Font"
msgstr ""
-#. description of font in fonts/tt_directors
+#. description of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:8
-msgid "A font suited for directing"
+#, python-format
+msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr ""
-#. name of font in fonts/medium_font
+#. name of font in fonts/small_font
#: inkstitch-fonts-metadata.py:10
-msgid "Ink/Stitch Medium Font"
+msgid "Ink/Stitch Small Font"
msgstr ""
-#. description of font in fonts/medium_font
+#. description of font in fonts/small_font
#: inkstitch-fonts-metadata.py:12
#, python-format
-msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
msgstr ""
#. name of font in fonts/tt_masters
@@ -58,106 +58,70 @@ msgstr ""
msgid "A font suited for heavy typing :)"
msgstr ""
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr ""
-
-#: lib/commands.py:23
-msgid "Fill stitch ending position"
+msgid "Fill stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:26
-msgid "satin_start"
-msgstr ""
-
-#: lib/commands.py:26
-msgid "Auto-route satin stitch starting position"
+msgid "Fill stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:29
-msgid "satin_end"
-msgstr ""
-
-#: lib/commands.py:29
-msgid "Auto-route satin stitch ending position"
+msgid "Auto-route satin stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:32
-msgid "stop"
-msgstr ""
-
-#: lib/commands.py:32
-msgid "Stop (pause machine) after sewing this object"
+msgid "Auto-route satin stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:35
-msgid "trim"
-msgstr ""
-
-#: lib/commands.py:35
-msgid "Trim thread after sewing this object"
+msgid "Stop (pause machine) after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:38
-msgid "ignore_object"
-msgstr ""
-
-#: lib/commands.py:38
-msgid "Ignore this object (do not stitch)"
+msgid "Trim thread after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:41
-msgid "satin_cut_point"
+msgid "Ignore this object (do not stitch)"
msgstr ""
-#: lib/commands.py:41
+#. command attached to an object
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr ""
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr ""
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr ""
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr ""
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr ""
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr ""
@@ -167,22 +131,22 @@ msgstr ""
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr ""
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr ""
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr ""
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr ""
@@ -253,11 +217,11 @@ msgstr ""
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr ""
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr ""
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr ""
@@ -287,12 +251,20 @@ msgstr ""
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr ""
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr ""
@@ -300,7 +272,7 @@ msgstr ""
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr ""
@@ -312,75 +284,79 @@ msgstr ""
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr ""
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+#: lib/elements/fill.py:27
+msgid "Border crosses itself"
msgstr ""
#: lib/elements/fill.py:28
-msgid "Border crosses itself"
+msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr ""
-#: lib/elements/fill.py:29
-msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
+#: lib/elements/fill.py:30
+msgid "* Path > Union (Ctrl++)"
msgstr ""
#: lib/elements/fill.py:31
-msgid "* Path > Union (Ctrl++)"
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr ""
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr ""
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr ""
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr ""
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr ""
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr ""
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr ""
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr ""
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr ""
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr ""
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr ""
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr ""
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr ""
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr ""
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr ""
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr ""
@@ -675,6 +650,22 @@ msgstr ""
msgid "Please select one or more satin columns to flip."
msgstr ""
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -858,10 +849,42 @@ msgstr ""
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr ""
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr ""
@@ -997,7 +1020,7 @@ msgstr ""
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr ""
@@ -1008,34 +1031,34 @@ msgstr ""
msgid "Error writing to %(path)s: %(error)s"
msgstr ""
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr ""
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr ""
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr ""
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr ""
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr ""
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr ""
@@ -1577,19 +1600,27 @@ msgstr ""
msgid "Auto-Route Satin Columns"
msgstr ""
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr ""
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr ""
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr ""
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr ""
@@ -1602,35 +1633,35 @@ msgstr ""
msgid "Embroider"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr ""
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr ""
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr ""
@@ -1642,17 +1673,33 @@ msgstr ""
msgid "Add Commands"
msgstr ""
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr ""
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr ""
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr ""
@@ -1665,7 +1712,7 @@ msgstr ""
msgid "Add Layer Commands"
msgstr ""
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr ""
@@ -1677,84 +1724,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr ""
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr ""
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr ""
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
+msgid "negate X coordinate values"
msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr ""
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1770,27 +1829,27 @@ msgstr ""
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1798,15 +1857,27 @@ msgstr ""
msgid "Simulate"
msgstr ""
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr ""
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr ""
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr ""
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_tr_TR.po b/translations/messages_tr_TR.po
index 7c371815..ece95700 100644
--- a/translations/messages_tr_TR.po
+++ b/translations/messages_tr_TR.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:10\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Turkish\n"
"MIME-Version: 1.0\n"
@@ -16,36 +16,36 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: tr_TR\n"
-#. name of font in fonts/small_font
+#. name of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
+msgid "TT Directors"
msgstr ""
-#. description of font in fonts/small_font
+#. description of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgid "A font suited for directing"
msgstr ""
-#. name of font in fonts/tt_directors
+#. name of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:6
-msgid "TT Directors"
+msgid "Ink/Stitch Medium Font"
msgstr ""
-#. description of font in fonts/tt_directors
+#. description of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:8
-msgid "A font suited for directing"
+#, python-format
+msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr ""
-#. name of font in fonts/medium_font
+#. name of font in fonts/small_font
#: inkstitch-fonts-metadata.py:10
-msgid "Ink/Stitch Medium Font"
+msgid "Ink/Stitch Small Font"
msgstr ""
-#. description of font in fonts/medium_font
+#. description of font in fonts/small_font
#: inkstitch-fonts-metadata.py:12
#, python-format
-msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
msgstr ""
#. name of font in fonts/tt_masters
@@ -58,106 +58,70 @@ msgstr ""
msgid "A font suited for heavy typing :)"
msgstr ""
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr ""
-
-#: lib/commands.py:23
-msgid "Fill stitch ending position"
+msgid "Fill stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:26
-msgid "satin_start"
-msgstr ""
-
-#: lib/commands.py:26
-msgid "Auto-route satin stitch starting position"
+msgid "Fill stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:29
-msgid "satin_end"
+msgid "Auto-route satin stitch starting position"
msgstr ""
-#: lib/commands.py:29
+#. command attached to an object
+#: lib/commands.py:32
msgid "Auto-route satin stitch ending position"
msgstr ""
#. command attached to an object
-#: lib/commands.py:32
-msgid "stop"
-msgstr "durakla"
-
-#: lib/commands.py:32
+#: lib/commands.py:35
msgid "Stop (pause machine) after sewing this object"
msgstr "Bu objeyi diktikten sonra dur (makineyi duraklat)"
#. command attached to an object
-#: lib/commands.py:35
-msgid "trim"
-msgstr "kes"
-
-#: lib/commands.py:35
+#: lib/commands.py:38
msgid "Trim thread after sewing this object"
msgstr "Bu objeyi diktikten sonra ipi kes"
#. command attached to an object
-#: lib/commands.py:38
-msgid "ignore_object"
-msgstr ""
-
-#: lib/commands.py:38
+#: lib/commands.py:41
msgid "Ignore this object (do not stitch)"
msgstr "Bu objeyi atla (dikme)"
#. command attached to an object
-#: lib/commands.py:41
-msgid "satin_cut_point"
-msgstr ""
-
-#: lib/commands.py:41
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr "Saten kesim noktası (Saten Kesin Sütunu ile kullan)"
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr ""
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr "Kat atla (bu katta obje dikme)"
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr ""
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr ""
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr ""
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr ""
@@ -167,22 +131,22 @@ msgstr ""
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr ""
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr ""
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr ""
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr ""
@@ -253,11 +217,11 @@ msgstr ""
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr ""
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr "Her sırada son dikişi atla"
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr ""
@@ -287,12 +251,20 @@ msgstr "Otodolgu sırasında hata! Bu Ink/Stitch ile bir problem mevcut olduğu
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr ""
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr ""
@@ -300,7 +272,7 @@ msgstr ""
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr "hata:"
@@ -312,75 +284,79 @@ msgstr ""
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr ""
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+#: lib/elements/fill.py:27
+msgid "Border crosses itself"
msgstr ""
#: lib/elements/fill.py:28
-msgid "Border crosses itself"
+msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr ""
-#: lib/elements/fill.py:29
-msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
+#: lib/elements/fill.py:30
+msgid "* Path > Union (Ctrl++)"
msgstr ""
#: lib/elements/fill.py:31
-msgid "* Path > Union (Ctrl++)"
+msgid "* Path > Break apart (Shift+Ctrl+K)"
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+msgstr ""
+
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr ""
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr ""
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr ""
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr ""
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr ""
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr ""
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr ""
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr ""
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr ""
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr ""
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr ""
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr ""
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr ""
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr ""
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr ""
@@ -675,6 +650,22 @@ msgstr ""
msgid "Please select one or more satin columns to flip."
msgstr ""
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -858,10 +849,42 @@ msgstr ""
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr ""
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr ""
@@ -997,7 +1020,7 @@ msgstr "Nakış Simülasyonu"
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr ""
@@ -1008,34 +1031,34 @@ msgstr ""
msgid "Error writing to %(path)s: %(error)s"
msgstr ""
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr ""
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr ""
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr ""
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr ""
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr ""
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr ""
@@ -1577,19 +1600,27 @@ msgstr "G-code Formatı"
msgid "Auto-Route Satin Columns"
msgstr ""
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr ""
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr ""
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr "Saten Gereçler"
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr "Çizgiyi Saten’e Çevir"
@@ -1602,35 +1633,35 @@ msgstr "Saten Sütunu Kes"
msgid "Embroider"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr "Diğer katları gizle"
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr ""
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr ""
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr "Klasör"
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr ""
@@ -1642,17 +1673,33 @@ msgstr ""
msgid "Add Commands"
msgstr ""
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr ""
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr ""
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr ""
@@ -1665,7 +1712,7 @@ msgstr ""
msgid "Add Layer Commands"
msgstr ""
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr ""
@@ -1677,84 +1724,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr ""
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr ""
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr ""
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
+msgid "negate X coordinate values"
msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr ""
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1770,27 +1829,27 @@ msgstr ""
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1798,15 +1857,27 @@ msgstr ""
msgid "Simulate"
msgstr ""
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr ""
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr ""
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr ""
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_uk_UA.po b/translations/messages_uk_UA.po
index 8a454500..25d6cd2c 100644
--- a/translations/messages_uk_UA.po
+++ b/translations/messages_uk_UA.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:10\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Ukrainian\n"
"MIME-Version: 1.0\n"
@@ -16,38 +16,38 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: uk_UA\n"
-#. name of font in fonts/small_font
-#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
-msgstr "Ink/Stitch дрібний шрифт"
-
-#. description of font in fonts/small_font
-#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
-msgstr "Шрифт пасує до маленьких написів. Великі літери мають ширину 0,2 дюйма при 100% масштабі. Можна масштабувати до 300%."
-
#. name of font in fonts/tt_directors
-#: inkstitch-fonts-metadata.py:6
+#: inkstitch-fonts-metadata.py:2
msgid "TT Directors"
msgstr ""
#. description of font in fonts/tt_directors
-#: inkstitch-fonts-metadata.py:8
+#: inkstitch-fonts-metadata.py:4
msgid "A font suited for directing"
msgstr ""
#. name of font in fonts/medium_font
-#: inkstitch-fonts-metadata.py:10
+#: inkstitch-fonts-metadata.py:6
msgid "Ink/Stitch Medium Font"
msgstr "Ink/Stitch середній шрифт"
#. description of font in fonts/medium_font
-#: inkstitch-fonts-metadata.py:12
+#: inkstitch-fonts-metadata.py:8
#, python-format
msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr "Основний шрифт підходить для символів середнього розміру. Столиця є шириною 0,6 дюйма в масштабі 100%. Можна зменшити до 75% або до 150%. Кожен атлас має контурну підкладку."
+#. name of font in fonts/small_font
+#: inkstitch-fonts-metadata.py:10
+msgid "Ink/Stitch Small Font"
+msgstr "Ink/Stitch дрібний шрифт"
+
+#. description of font in fonts/small_font
+#: inkstitch-fonts-metadata.py:12
+#, python-format
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgstr "Шрифт пасує до маленьких написів. Великі літери мають ширину 0,2 дюйма при 100% масштабі. Можна масштабувати до 300%."
+
#. name of font in fonts/tt_masters
#: inkstitch-fonts-metadata.py:14
msgid "TT Masters"
@@ -58,106 +58,70 @@ msgstr ""
msgid "A font suited for heavy typing :)"
msgstr "Шрифт пасує до важкого тексту :)"
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
-msgstr "Стартова позиція заповнення"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
+msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr ""
+msgid "Fill stitch starting position"
+msgstr "Стартова позиція заповнення"
-#: lib/commands.py:23
+#. command attached to an object
+#: lib/commands.py:26
msgid "Fill stitch ending position"
msgstr "Кінцева позиція заповнення"
#. command attached to an object
-#: lib/commands.py:26
-msgid "satin_start"
-msgstr ""
-
-#: lib/commands.py:26
+#: lib/commands.py:29
msgid "Auto-route satin stitch starting position"
msgstr ""
#. command attached to an object
-#: lib/commands.py:29
-msgid "satin_end"
-msgstr ""
-
-#: lib/commands.py:29
+#: lib/commands.py:32
msgid "Auto-route satin stitch ending position"
msgstr ""
#. command attached to an object
-#: lib/commands.py:32
-msgid "stop"
-msgstr ""
-
-#: lib/commands.py:32
+#: lib/commands.py:35
msgid "Stop (pause machine) after sewing this object"
msgstr ""
#. command attached to an object
-#: lib/commands.py:35
-msgid "trim"
-msgstr ""
-
-#: lib/commands.py:35
+#: lib/commands.py:38
msgid "Trim thread after sewing this object"
msgstr ""
#. command attached to an object
-#: lib/commands.py:38
-msgid "ignore_object"
-msgstr ""
-
-#: lib/commands.py:38
+#: lib/commands.py:41
msgid "Ignore this object (do not stitch)"
msgstr ""
#. command attached to an object
-#: lib/commands.py:41
-msgid "satin_cut_point"
-msgstr ""
-
-#: lib/commands.py:41
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr ""
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr ""
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr "початок координат"
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr "Початок координат для експорту файлів вишивки"
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr ""
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr "Перейти в положення зупинки (\"Положення поза рамкою\")."
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr "Помилка: у документі є більше ніж одна команда %(command)s, але може бути лише одна. Видаліть усі, крім однієї."
@@ -167,22 +131,22 @@ msgstr "Помилка: у документі є більше ніж одна к
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr "%(command)s: %(description)s"
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr "Ink/Stitch команда"
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr "з'єднувач"
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr "маркер команд"
@@ -253,11 +217,11 @@ msgstr "Вставки"
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr "Перед тим, як робити підкладку, стисніть форму, щоб запобігти появі підкладки навколо зовнішньої сторони заповнення."
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr "Пропустіть останній стібок у кожному ряду"
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr "Останній стібок у кожному ряду досить близький до першого стібка в наступному ряду. Пропускаючи його, зменшується кількість швів і щільність."
@@ -287,12 +251,20 @@ msgstr "Помилка під час автозаповнення! Це озна
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr "Якщо ви хочете допомогти нам зробити Ink/Stitch краще, будь ласка, вставте все це повідомлення в нову проблему за адресою: "
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr ""
@@ -300,7 +272,7 @@ msgstr ""
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr "помилка:"
@@ -312,75 +284,79 @@ msgstr "Нез'єднані"
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr "Заповнення: Цей об'єкт складається з фігур що нез'єднані. Це заборонено, оскільки Ink/Stitch не знає, в якому порядку їх зшивати. Будь ласка, розбийте цей об'єкт на окремі форми."
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
-msgstr ""
-
-#: lib/elements/fill.py:28
+#: lib/elements/fill.py:27
msgid "Border crosses itself"
msgstr ""
-#: lib/elements/fill.py:29
+#: lib/elements/fill.py:28
msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr "Заповнення: Форма недійсна. Це може статися, якщо кордон перетинає себе."
-#: lib/elements/fill.py:31
+#: lib/elements/fill.py:30
msgid "* Path > Union (Ctrl++)"
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:31
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr ""
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+msgstr ""
+
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr "Заповнення"
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr "Вручну прокладене заповнення"
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr "Автозаповнення є методом за замовчуванням для створення зшивання заливки."
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr "Кут стібків"
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr "Кут збільшується в напрямку проти годинникової стрілки. 0 - горизонтальний. Дозволені негативні кути."
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr "Віддзеркалити заповнення (почати справа наліво)"
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr "Віддзеркалення може допомогти вам в маршрутизації вашого контуру стібка. Коли ви вмикаєте віддзеркалення, зшивання рухається справа наліво, а не зліва направо."
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr ""
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr "Відстань між рядами стібків."
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr "Максимальна довжина стібка заповнення"
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr "Довжина кожного стібка підряд. Більш короткі стібки можна використовувати на початку або в кінці ряду."
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr "Повторний рядок це багато разів, перш ніж повторити"
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr ""
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr ""
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr ""
@@ -675,6 +650,22 @@ msgstr ""
msgid "Please select one or more satin columns to flip."
msgstr ""
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -858,10 +849,42 @@ msgstr "Попередження"
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr ""
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr ""
@@ -997,7 +1020,7 @@ msgstr ""
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr ""
@@ -1008,34 +1031,34 @@ msgstr ""
msgid "Error writing to %(path)s: %(error)s"
msgstr ""
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr "Авто-Сатин"
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr "АвтоСатин %d"
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr ""
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr ""
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr ""
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr ""
@@ -1577,19 +1600,27 @@ msgstr ""
msgid "Auto-Route Satin Columns"
msgstr ""
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr "Обрізати стрибкові стібки"
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr "Зберегти порядок атласних колон"
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr ""
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr ""
@@ -1602,35 +1633,35 @@ msgstr ""
msgid "Embroider"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr "Стрибкові стібки менші за це, трактуватимуться як звичайні стібки."
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr "Приховати всі інші шари верхнього рівня, коли генерується шар вишивки, щоб зробити вишивання помітними."
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr ""
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr ""
@@ -1642,17 +1673,33 @@ msgstr ""
msgid "Add Commands"
msgstr ""
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr ""
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr ""
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr ""
@@ -1665,7 +1712,7 @@ msgstr ""
msgid "Add Layer Commands"
msgstr ""
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr ""
@@ -1677,84 +1724,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr ""
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr ""
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr ""
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
+msgid "negate X coordinate values"
msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
-msgstr "збільшити z координату на цю величину на стібок"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr ""
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1770,27 +1829,27 @@ msgstr ""
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1798,15 +1857,27 @@ msgstr ""
msgid "Simulate"
msgstr ""
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr ""
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr "Ink/Stitch: експорт ZIP декількох форматів (.zip)"
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr "Створіть ZIP за допомогою декількох форматів файлів для вишивки за допомогою Ink/Stitch"
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_vi_VN.po b/translations/messages_vi_VN.po
index 2c454c41..4a1077fa 100644
--- a/translations/messages_vi_VN.po
+++ b/translations/messages_vi_VN.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:10\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Vietnamese\n"
"MIME-Version: 1.0\n"
@@ -16,36 +16,36 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: vi_VN\n"
-#. name of font in fonts/small_font
+#. name of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
+msgid "TT Directors"
msgstr ""
-#. description of font in fonts/small_font
+#. description of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgid "A font suited for directing"
msgstr ""
-#. name of font in fonts/tt_directors
+#. name of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:6
-msgid "TT Directors"
+msgid "Ink/Stitch Medium Font"
msgstr ""
-#. description of font in fonts/tt_directors
+#. description of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:8
-msgid "A font suited for directing"
+#, python-format
+msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr ""
-#. name of font in fonts/medium_font
+#. name of font in fonts/small_font
#: inkstitch-fonts-metadata.py:10
-msgid "Ink/Stitch Medium Font"
+msgid "Ink/Stitch Small Font"
msgstr ""
-#. description of font in fonts/medium_font
+#. description of font in fonts/small_font
#: inkstitch-fonts-metadata.py:12
#, python-format
-msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
msgstr ""
#. name of font in fonts/tt_masters
@@ -58,106 +58,70 @@ msgstr ""
msgid "A font suited for heavy typing :)"
msgstr ""
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr ""
-
-#: lib/commands.py:23
-msgid "Fill stitch ending position"
+msgid "Fill stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:26
-msgid "satin_start"
-msgstr ""
-
-#: lib/commands.py:26
-msgid "Auto-route satin stitch starting position"
+msgid "Fill stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:29
-msgid "satin_end"
-msgstr ""
-
-#: lib/commands.py:29
-msgid "Auto-route satin stitch ending position"
+msgid "Auto-route satin stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:32
-msgid "stop"
-msgstr ""
-
-#: lib/commands.py:32
-msgid "Stop (pause machine) after sewing this object"
+msgid "Auto-route satin stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:35
-msgid "trim"
-msgstr ""
-
-#: lib/commands.py:35
-msgid "Trim thread after sewing this object"
+msgid "Stop (pause machine) after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:38
-msgid "ignore_object"
-msgstr ""
-
-#: lib/commands.py:38
-msgid "Ignore this object (do not stitch)"
+msgid "Trim thread after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:41
-msgid "satin_cut_point"
+msgid "Ignore this object (do not stitch)"
msgstr ""
-#: lib/commands.py:41
+#. command attached to an object
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr ""
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr ""
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr ""
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr ""
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr ""
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr ""
@@ -167,22 +131,22 @@ msgstr ""
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr ""
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr ""
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr ""
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr ""
@@ -253,11 +217,11 @@ msgstr ""
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr ""
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr ""
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr ""
@@ -287,12 +251,20 @@ msgstr ""
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr ""
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr ""
@@ -300,7 +272,7 @@ msgstr ""
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr ""
@@ -312,75 +284,79 @@ msgstr ""
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr ""
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+#: lib/elements/fill.py:27
+msgid "Border crosses itself"
msgstr ""
#: lib/elements/fill.py:28
-msgid "Border crosses itself"
+msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr ""
-#: lib/elements/fill.py:29
-msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
+#: lib/elements/fill.py:30
+msgid "* Path > Union (Ctrl++)"
msgstr ""
#: lib/elements/fill.py:31
-msgid "* Path > Union (Ctrl++)"
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr ""
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr ""
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr ""
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr ""
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr ""
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr ""
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr ""
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr ""
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr ""
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr ""
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr ""
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr ""
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr ""
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr ""
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr ""
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr ""
@@ -675,6 +650,22 @@ msgstr ""
msgid "Please select one or more satin columns to flip."
msgstr ""
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -858,10 +849,42 @@ msgstr ""
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr ""
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr ""
@@ -997,7 +1020,7 @@ msgstr ""
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr ""
@@ -1008,34 +1031,34 @@ msgstr ""
msgid "Error writing to %(path)s: %(error)s"
msgstr ""
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr ""
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr ""
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr ""
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr ""
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr ""
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr ""
@@ -1577,19 +1600,27 @@ msgstr ""
msgid "Auto-Route Satin Columns"
msgstr ""
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr ""
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr ""
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr ""
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr ""
@@ -1602,35 +1633,35 @@ msgstr ""
msgid "Embroider"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr ""
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr ""
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr ""
@@ -1642,17 +1673,33 @@ msgstr ""
msgid "Add Commands"
msgstr ""
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr ""
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr ""
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr ""
@@ -1665,7 +1712,7 @@ msgstr ""
msgid "Add Layer Commands"
msgstr ""
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr ""
@@ -1677,84 +1724,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr ""
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr ""
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr ""
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
+msgid "negate X coordinate values"
msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr ""
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1770,27 +1829,27 @@ msgstr ""
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1798,15 +1857,27 @@ msgstr ""
msgid "Simulate"
msgstr ""
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr ""
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr ""
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr ""
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_zh_CN.po b/translations/messages_zh_CN.po
index 2f13a184..83888563 100644
--- a/translations/messages_zh_CN.po
+++ b/translations/messages_zh_CN.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:09\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Chinese Simplified\n"
"MIME-Version: 1.0\n"
@@ -16,36 +16,36 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: zh_CN\n"
-#. name of font in fonts/small_font
+#. name of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
+msgid "TT Directors"
msgstr ""
-#. description of font in fonts/small_font
+#. description of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgid "A font suited for directing"
msgstr ""
-#. name of font in fonts/tt_directors
+#. name of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:6
-msgid "TT Directors"
+msgid "Ink/Stitch Medium Font"
msgstr ""
-#. description of font in fonts/tt_directors
+#. description of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:8
-msgid "A font suited for directing"
+#, python-format
+msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr ""
-#. name of font in fonts/medium_font
+#. name of font in fonts/small_font
#: inkstitch-fonts-metadata.py:10
-msgid "Ink/Stitch Medium Font"
+msgid "Ink/Stitch Small Font"
msgstr ""
-#. description of font in fonts/medium_font
+#. description of font in fonts/small_font
#: inkstitch-fonts-metadata.py:12
#, python-format
-msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
msgstr ""
#. name of font in fonts/tt_masters
@@ -58,106 +58,70 @@ msgstr ""
msgid "A font suited for heavy typing :)"
msgstr ""
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr ""
-
-#: lib/commands.py:23
-msgid "Fill stitch ending position"
+msgid "Fill stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:26
-msgid "satin_start"
-msgstr ""
-
-#: lib/commands.py:26
-msgid "Auto-route satin stitch starting position"
+msgid "Fill stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:29
-msgid "satin_end"
-msgstr ""
-
-#: lib/commands.py:29
-msgid "Auto-route satin stitch ending position"
+msgid "Auto-route satin stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:32
-msgid "stop"
-msgstr ""
-
-#: lib/commands.py:32
-msgid "Stop (pause machine) after sewing this object"
+msgid "Auto-route satin stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:35
-msgid "trim"
-msgstr ""
-
-#: lib/commands.py:35
-msgid "Trim thread after sewing this object"
+msgid "Stop (pause machine) after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:38
-msgid "ignore_object"
-msgstr ""
-
-#: lib/commands.py:38
-msgid "Ignore this object (do not stitch)"
+msgid "Trim thread after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:41
-msgid "satin_cut_point"
+msgid "Ignore this object (do not stitch)"
msgstr ""
-#: lib/commands.py:41
+#. command attached to an object
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr ""
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr ""
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr ""
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr ""
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr ""
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr ""
@@ -167,22 +131,22 @@ msgstr ""
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr ""
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr ""
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr ""
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr ""
@@ -253,11 +217,11 @@ msgstr ""
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr ""
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr ""
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr ""
@@ -287,12 +251,20 @@ msgstr ""
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr ""
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr ""
@@ -300,7 +272,7 @@ msgstr ""
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr ""
@@ -312,75 +284,79 @@ msgstr ""
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr ""
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+#: lib/elements/fill.py:27
+msgid "Border crosses itself"
msgstr ""
#: lib/elements/fill.py:28
-msgid "Border crosses itself"
+msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr ""
-#: lib/elements/fill.py:29
-msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
+#: lib/elements/fill.py:30
+msgid "* Path > Union (Ctrl++)"
msgstr ""
#: lib/elements/fill.py:31
-msgid "* Path > Union (Ctrl++)"
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr ""
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr ""
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr ""
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr ""
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr ""
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr ""
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr ""
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr ""
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr ""
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr ""
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr ""
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr ""
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr ""
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr ""
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr ""
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr ""
@@ -675,6 +650,22 @@ msgstr ""
msgid "Please select one or more satin columns to flip."
msgstr ""
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -858,10 +849,42 @@ msgstr ""
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr ""
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr ""
@@ -997,7 +1020,7 @@ msgstr ""
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr ""
@@ -1008,34 +1031,34 @@ msgstr ""
msgid "Error writing to %(path)s: %(error)s"
msgstr ""
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr ""
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr ""
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr ""
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr ""
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr ""
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr ""
@@ -1577,19 +1600,27 @@ msgstr ""
msgid "Auto-Route Satin Columns"
msgstr ""
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr ""
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr ""
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr ""
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr ""
@@ -1602,35 +1633,35 @@ msgstr ""
msgid "Embroider"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr ""
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr ""
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr ""
@@ -1642,17 +1673,33 @@ msgstr ""
msgid "Add Commands"
msgstr ""
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr ""
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr ""
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr ""
@@ -1665,7 +1712,7 @@ msgstr ""
msgid "Add Layer Commands"
msgstr ""
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr ""
@@ -1677,84 +1724,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr ""
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr ""
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr ""
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
+msgid "negate X coordinate values"
msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr ""
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1770,27 +1829,27 @@ msgstr ""
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1798,15 +1857,27 @@ msgstr ""
msgid "Simulate"
msgstr ""
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr ""
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr ""
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr ""
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+
diff --git a/translations/messages_zh_TW.po b/translations/messages_zh_TW.po
index f9ae79a8..24feb0d4 100644
--- a/translations/messages_zh_TW.po
+++ b/translations/messages_zh_TW.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inkstitch\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2020-03-17 00:13+0000\n"
-"PO-Revision-Date: 2020-03-17 00:13\n"
+"POT-Creation-Date: 2020-04-26 00:09+0000\n"
+"PO-Revision-Date: 2020-04-26 00:09\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Chinese Traditional\n"
"MIME-Version: 1.0\n"
@@ -16,36 +16,36 @@ msgstr ""
"X-Crowdin-File: /master/messages.po\n"
"Language: zh_TW\n"
-#. name of font in fonts/small_font
+#. name of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:2
-msgid "Ink/Stitch Small Font"
+msgid "TT Directors"
msgstr ""
-#. description of font in fonts/small_font
+#. description of font in fonts/tt_directors
#: inkstitch-fonts-metadata.py:4
-#, python-format
-msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
+msgid "A font suited for directing"
msgstr ""
-#. name of font in fonts/tt_directors
+#. name of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:6
-msgid "TT Directors"
+msgid "Ink/Stitch Medium Font"
msgstr ""
-#. description of font in fonts/tt_directors
+#. description of font in fonts/medium_font
#: inkstitch-fonts-metadata.py:8
-msgid "A font suited for directing"
+#, python-format
+msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
msgstr ""
-#. name of font in fonts/medium_font
+#. name of font in fonts/small_font
#: inkstitch-fonts-metadata.py:10
-msgid "Ink/Stitch Medium Font"
+msgid "Ink/Stitch Small Font"
msgstr ""
-#. description of font in fonts/medium_font
+#. description of font in fonts/small_font
#: inkstitch-fonts-metadata.py:12
#, python-format
-msgid "A basic font suited for medium-sized characters. The capital em is 0.6 inches wide at 100% scale. Can be scaled down to 75% or up to 150%. Every satin has contour underlay."
+msgid "A font suited for small characters. The capital em is 0.2 inches wide at 100% scale. Can be scaled up to 300%."
msgstr ""
#. name of font in fonts/tt_masters
@@ -58,106 +58,70 @@ msgstr ""
msgid "A font suited for heavy typing :)"
msgstr ""
-#. command attached to an object
-#: lib/commands.py:20
-msgid "fill_start"
+#: inkstitch.py:56
+msgid "Ink/Stitch experienced an unexpected error."
msgstr ""
-#: lib/commands.py:20
-msgid "Fill stitch starting position"
+#: inkstitch.py:57
+msgid "If you'd like to help, please file an issue at https://github.com/inkstitch/inkstitch/issues and include the entire error description below:"
msgstr ""
#. command attached to an object
#: lib/commands.py:23
-msgid "fill_end"
-msgstr ""
-
-#: lib/commands.py:23
-msgid "Fill stitch ending position"
+msgid "Fill stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:26
-msgid "satin_start"
-msgstr ""
-
-#: lib/commands.py:26
-msgid "Auto-route satin stitch starting position"
+msgid "Fill stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:29
-msgid "satin_end"
-msgstr ""
-
-#: lib/commands.py:29
-msgid "Auto-route satin stitch ending position"
+msgid "Auto-route satin stitch starting position"
msgstr ""
#. command attached to an object
#: lib/commands.py:32
-msgid "stop"
-msgstr ""
-
-#: lib/commands.py:32
-msgid "Stop (pause machine) after sewing this object"
+msgid "Auto-route satin stitch ending position"
msgstr ""
#. command attached to an object
#: lib/commands.py:35
-msgid "trim"
-msgstr ""
-
-#: lib/commands.py:35
-msgid "Trim thread after sewing this object"
+msgid "Stop (pause machine) after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:38
-msgid "ignore_object"
-msgstr ""
-
-#: lib/commands.py:38
-msgid "Ignore this object (do not stitch)"
+msgid "Trim thread after sewing this object"
msgstr ""
#. command attached to an object
#: lib/commands.py:41
-msgid "satin_cut_point"
+msgid "Ignore this object (do not stitch)"
msgstr ""
-#: lib/commands.py:41
+#. command attached to an object
+#: lib/commands.py:44
msgid "Satin cut point (use with Cut Satin Column)"
msgstr ""
#. command that affects a layer
-#: lib/commands.py:45
-msgid "ignore_layer"
-msgstr ""
-
-#: lib/commands.py:45
+#: lib/commands.py:48
msgid "Ignore layer (do not stitch any objects in this layer)"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:48
-msgid "origin"
-msgstr ""
-
-#: lib/commands.py:48
+#: lib/commands.py:51
msgid "Origin for exported embroidery files"
msgstr ""
#. command that affects entire document
-#: lib/commands.py:51
-msgid "stop_position"
-msgstr ""
-
-#: lib/commands.py:51
+#: lib/commands.py:54
msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")."
msgstr ""
-#: lib/commands.py:209
+#: lib/commands.py:212
#, python-format
msgid "Error: there is more than one %(command)s command in the document, but there can only be one. Please remove all but one."
msgstr ""
@@ -167,22 +131,22 @@ msgstr ""
#. command name to them. Contents of %(description)s are in a separate
#. translation
#. string.
-#: lib/commands.py:216
+#: lib/commands.py:219
#, python-format
msgid "%(command)s: %(description)s"
msgstr ""
-#: lib/commands.py:281 lib/commands.py:385 lib/extensions/layer_commands.py:29
+#: lib/commands.py:284 lib/commands.py:395 lib/extensions/layer_commands.py:29
msgid "Ink/Stitch Command"
msgstr ""
#. : the name of the line that connects a command to the object it applies to
-#: lib/commands.py:306
+#: lib/commands.py:309
msgid "connector"
msgstr ""
#. : the name of a command symbol (example: scissors icon for trim command)
-#: lib/commands.py:323
+#: lib/commands.py:326
msgid "command marker"
msgstr ""
@@ -253,11 +217,11 @@ msgstr ""
msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill."
msgstr ""
-#: lib/elements/auto_fill.py:117 lib/elements/fill.py:72
+#: lib/elements/auto_fill.py:117 lib/elements/fill.py:71
msgid "Skip last stitch in each row"
msgstr ""
-#: lib/elements/auto_fill.py:118 lib/elements/fill.py:73
+#: lib/elements/auto_fill.py:118 lib/elements/fill.py:72
msgid "The last stitch in each row is quite close to the first stitch in the next row. Skipping it decreases stitch count and density."
msgstr ""
@@ -287,12 +251,20 @@ msgstr ""
msgid "If you'd like to help us make Ink/Stitch better, please paste this whole message into a new issue at: "
msgstr ""
-#: lib/elements/element.py:202
+#: lib/elements/element.py:192
+msgid "Ties"
+msgstr ""
+
+#: lib/elements/element.py:193
+msgid "Add ties. Manual stitch will not add ties."
+msgstr ""
+
+#: lib/elements/element.py:232
#, python-format
msgid "Object %(id)s has an empty 'd' attribute. Please delete this object from your document."
msgstr ""
-#: lib/elements/element.py:234
+#: lib/elements/element.py:264
#, python-format
msgid "%(id)s has more than one command of type '%(command)s' linked to it"
msgstr ""
@@ -300,7 +272,7 @@ msgstr ""
#. used when showing an error message to the user such as
#. "Some Path (path1234): error: satin column: One or more of the rungs doesn't
#. intersect both rails."
-#: lib/elements/element.py:288
+#: lib/elements/element.py:322
msgid "error:"
msgstr ""
@@ -312,75 +284,79 @@ msgstr ""
msgid "Fill: This object is made up of unconnected shapes. This is not allowed because Ink/Stitch doesn't know what order to stitch them in. Please break this object up into separate shapes."
msgstr ""
-#: lib/elements/fill.py:22 lib/elements/fill.py:32
-msgid "* Path > Break apart (Shift+Ctrl+K)"
+#: lib/elements/fill.py:22
+msgid "* Extensions > Ink/Stitch > Fill Tools > Break Apart and Retain Holes."
msgstr ""
-#: lib/elements/fill.py:23 lib/elements/fill.py:33
-msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
+#: lib/elements/fill.py:27
+msgid "Border crosses itself"
msgstr ""
#: lib/elements/fill.py:28
-msgid "Border crosses itself"
+msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
msgstr ""
-#: lib/elements/fill.py:29
-msgid "Fill: Shape is not valid. This can happen if the border crosses over itself."
+#: lib/elements/fill.py:30
+msgid "* Path > Union (Ctrl++)"
msgstr ""
#: lib/elements/fill.py:31
-msgid "* Path > Union (Ctrl++)"
+msgid "* Path > Break apart (Shift+Ctrl+K)"
+msgstr ""
+
+#: lib/elements/fill.py:32
+msgid "* (Optional) Recombine shapes with holes (Ctrl+K)."
msgstr ""
-#: lib/elements/fill.py:38
+#: lib/elements/fill.py:37
msgid "Fill"
msgstr ""
-#: lib/elements/fill.py:45
+#: lib/elements/fill.py:44
msgid "Manually routed fill stitching"
msgstr ""
-#: lib/elements/fill.py:46
+#: lib/elements/fill.py:45
msgid "AutoFill is the default method for generating fill stitching."
msgstr ""
-#: lib/elements/fill.py:55
+#: lib/elements/fill.py:54
msgid "Angle of lines of stitches"
msgstr ""
-#: lib/elements/fill.py:56
+#: lib/elements/fill.py:55
msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed."
msgstr ""
-#: lib/elements/fill.py:83
+#: lib/elements/fill.py:82
msgid "Flip fill (start right-to-left)"
msgstr ""
-#: lib/elements/fill.py:84
+#: lib/elements/fill.py:83
msgid "The flip option can help you with routing your stitch path. When you enable flip, stitching goes from right-to-left instead of left-to-right."
msgstr ""
-#: lib/elements/fill.py:93
+#: lib/elements/fill.py:92
msgid "Spacing between rows"
msgstr ""
-#: lib/elements/fill.py:94
+#: lib/elements/fill.py:93
msgid "Distance between rows of stitches."
msgstr ""
-#: lib/elements/fill.py:107
+#: lib/elements/fill.py:106
msgid "Maximum fill stitch length"
msgstr ""
-#: lib/elements/fill.py:108
+#: lib/elements/fill.py:107
msgid "The length of each stitch in a row. Shorter stitch may be used at the start or end of a row."
msgstr ""
-#: lib/elements/fill.py:117
+#: lib/elements/fill.py:116
msgid "Stagger rows this many times before repeating"
msgstr ""
-#: lib/elements/fill.py:118
+#: lib/elements/fill.py:117
msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position."
msgstr ""
@@ -641,6 +617,10 @@ msgstr ""
msgid "Tip: select some objects and use Path -> Object to Path to convert them to paths."
msgstr ""
+#: lib/extensions/break_apart.py:19
+msgid "Please select one or more fill areas to break apart."
+msgstr ""
+
#: lib/extensions/convert_to_satin.py:30
msgid "Please select at least one line to convert to a satin column."
msgstr ""
@@ -651,11 +631,6 @@ msgstr ""
msgid "Only simple lines may be converted to satin columns."
msgstr ""
-#: lib/extensions/convert_to_satin.py:58
-#, python-format
-msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths."
-msgstr ""
-
#: lib/extensions/cut_satin.py:15
msgid "Please select one or more satin columns to cut."
msgstr ""
@@ -675,6 +650,22 @@ msgstr ""
msgid "Please select one or more satin columns to flip."
msgstr ""
+#: lib/extensions/import_threadlist.py:28
+msgid "File not found."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:38
+msgid "Couldn't find any matching colors in the file."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:40
+msgid "Please try to import as \"other threadlist\" and specify a color palette below."
+msgstr ""
+
+#: lib/extensions/import_threadlist.py:42
+msgid "Please chose an other color palette for your design."
+msgstr ""
+
#: lib/extensions/install.py:25
msgid "Ink/Stitch can install files (\"add-ons\") that make it easier to use Inkscape to create machine embroidery designs. These add-ons will be installed:"
msgstr ""
@@ -858,10 +849,42 @@ msgstr ""
msgid "It is possible, that one object contains more than one error, yet there will be only one pointer per object. Run this function again, when further errors occur. Remove pointers by deleting the layer named \"Troubleshoot\" through the objects panel (Object -> Objects...)."
msgstr ""
-#: lib/extensions/zip.py:49
+#: lib/extensions/zip.py:57
+msgid "threadlist"
+msgstr ""
+
+#: lib/extensions/zip.py:66
msgid "No embroidery file formats selected."
msgstr ""
+#: lib/extensions/zip.py:94
+msgid "Design Details"
+msgstr ""
+
+#: lib/extensions/zip.py:97
+msgid "Title"
+msgstr ""
+
+#: lib/extensions/zip.py:98
+msgid "Size"
+msgstr ""
+
+#: lib/extensions/zip.py:99
+msgid "Stitches"
+msgstr ""
+
+#: lib/extensions/zip.py:100
+msgid "Colors"
+msgstr ""
+
+#: lib/extensions/zip.py:102
+msgid "Thread Order"
+msgstr ""
+
+#: lib/extensions/zip.py:115
+msgid "Thread Used"
+msgstr ""
+
#: lib/gui/presets.py:47
msgid "Presets"
msgstr ""
@@ -997,7 +1020,7 @@ msgstr ""
#. If you translate this string, that will tell Ink/Stitch to
#. generate menu items for this language in Inkscape's "Extensions"
#. menu.
-#: lib/inx/utils.py:55
+#: lib/inx/utils.py:66
msgid "Generate INX files"
msgstr ""
@@ -1008,34 +1031,34 @@ msgstr ""
msgid "Error writing to %(path)s: %(error)s"
msgstr ""
-#: lib/stitches/auto_satin.py:652
+#: lib/stitches/auto_satin.py:655
msgid "Auto-Satin"
msgstr ""
#. Label for a satin column created by Auto-Route Satin Columns and Lettering
#. extensions
-#: lib/stitches/auto_satin.py:699
+#: lib/stitches/auto_satin.py:702
#, python-format
msgid "AutoSatin %d"
msgstr ""
#. Label for running stitch (underpathing) created by Auto-Route Satin Columns
#. amd Lettering extensions
-#: lib/stitches/auto_satin.py:702
+#: lib/stitches/auto_satin.py:705
#, python-format
msgid "AutoSatin Running Stitch %d"
msgstr ""
-#: lib/svg/rendering.py:226
+#: lib/svg/rendering.py:228
msgid "Stitch Plan"
msgstr ""
-#: lib/svg/units.py:47
+#: lib/svg/units.py:46
#, python-format
msgid "parseLengthWithUnits: unknown unit %s"
msgstr ""
-#: lib/svg/units.py:79
+#: lib/svg/units.py:78
#, python-format
msgid "Unknown unit: %s"
msgstr ""
@@ -1577,19 +1600,27 @@ msgstr ""
msgid "Auto-Route Satin Columns"
msgstr ""
-#: templates/auto_satin.inx:7
+#: templates/auto_satin.inx:5
msgid "Trim jump stitches"
msgstr ""
-#: templates/auto_satin.inx:8
+#: templates/auto_satin.inx:6
msgid "Preserve order of satin columns"
msgstr ""
-#: templates/auto_satin.inx:14 templates/convert_to_satin.inx:12
-#: templates/cut_satin.inx:12 templates/flip.inx:12
+#: templates/auto_satin.inx:12 templates/convert_to_satin.inx:10
+#: templates/cut_satin.inx:10 templates/flip.inx:10
msgid "Satin Tools"
msgstr ""
+#: templates/break_apart.inx:3
+msgid "Break Apart and Retain Holes"
+msgstr ""
+
+#: templates/break_apart.inx:10
+msgid "Fill Tools"
+msgstr ""
+
#: templates/convert_to_satin.inx:3
msgid "Convert Line to Satin"
msgstr ""
@@ -1602,35 +1633,35 @@ msgstr ""
msgid "Embroider"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Collapse length (mm)"
msgstr ""
-#: templates/embroider.inx:7
+#: templates/embroider.inx:5
msgid "Jump stitches smaller than this will be treated as normal stitches."
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide other layers"
msgstr ""
-#: templates/embroider.inx:8
+#: templates/embroider.inx:6
msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible."
msgstr ""
-#: templates/embroider.inx:9
+#: templates/embroider.inx:7
msgid "Output file format"
msgstr ""
-#: templates/embroider.inx:14
+#: templates/embroider.inx:12
msgid "DEBUG"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Directory"
msgstr ""
-#: templates/embroider.inx:17
+#: templates/embroider.inx:15
msgid "Leave empty to save the output in Inkscape's extension directory."
msgstr ""
@@ -1642,17 +1673,33 @@ msgstr ""
msgid "Add Commands"
msgstr ""
-#: templates/global_commands.inx:7
+#: templates/global_commands.inx:5
msgid "These commands affect the entire embroidery design."
msgstr ""
#. Inkscape submenu under Extensions -> Ink/Stitch
-#: templates/global_commands.inx:17 templates/layer_commands.inx:16
-#: templates/object_commands.inx:15
+#: templates/global_commands.inx:15 templates/layer_commands.inx:14
+#: templates/object_commands.inx:13
msgid "Commands"
msgstr ""
-#: templates/input.inx:11
+#: templates/import_threadlist.inx:3
+msgid "Import Threadlist"
+msgstr ""
+
+#: templates/import_threadlist.inx:7
+msgid "Choose file"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "File Path"
+msgstr ""
+
+#: templates/import_threadlist.inx:8
+msgid "Enter path to file"
+msgstr ""
+
+#: templates/input.inx:9
#, python-format
msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths"
msgstr ""
@@ -1665,7 +1712,7 @@ msgstr ""
msgid "Add Layer Commands"
msgstr ""
-#: templates/layer_commands.inx:7
+#: templates/layer_commands.inx:5
msgid "Commands will be added to the currently-selected layer."
msgstr ""
@@ -1677,84 +1724,96 @@ msgstr ""
msgid "Attach Commands to Selected Objects"
msgstr ""
-#: templates/output.inx:11
+#: templates/output.inx:9
#, python-format
msgid "Save design in %(file_extension)s format using Ink/Stitch"
msgstr ""
-#: templates/output_params_txt.xml:2
-msgid "laser mode"
-msgstr ""
-
-#: templates/output_params_txt.xml:2
-msgid "Laser mode (generate g-code for grbl laser mode)"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "dynamic laser power"
-msgstr ""
-
-#: templates/output_params_txt.xml:3
-msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
-msgstr ""
-
#: templates/output_params_txt.xml:4
-msgid "laser warm-up time"
+msgid "negate X coordinate values"
msgstr ""
#: templates/output_params_txt.xml:4
-msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgid "Negate x coordinates"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "negate X coordinate values"
+msgid "negate Y coordinate values"
msgstr ""
#: templates/output_params_txt.xml:5
-msgid "Negate x coordinates"
+msgid "Negate y coordinates"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "negate Y coordinate values"
+msgid "Z coordinate value"
msgstr ""
#: templates/output_params_txt.xml:6
-msgid "Negate y coordinates"
+msgid "Either alternate Z value between 0 and 1 or travel custom value."
msgstr ""
#: templates/output_params_txt.xml:7
+msgid "alternate Z value"
+msgstr ""
+
+#: templates/output_params_txt.xml:8 templates/output_params_txt.xml:10
msgid "Z travel per stitch"
msgstr ""
-#: templates/output_params_txt.xml:7
-msgid "increment z coordinate by this amount per stitch"
+#: templates/output_params_txt.xml:10
+msgid "increment z coordinate by this amount per stitch if \"Z travel per stitch\" is enabled"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "laser mode"
+msgstr ""
+
+#: templates/output_params_txt.xml:13
+msgid "Laser mode (generate g-code for grbl laser mode)"
+msgstr ""
+
+#: templates/output_params_txt.xml:14
+msgid "dynamic laser power"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:14
+msgid "Use Grbl's M4 dynamic laser power mode. Ensures consistent laser cutting power regardless of motor speed. Only for PWM-capable lasers."
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "laser warm-up time"
+msgstr ""
+
+#: templates/output_params_txt.xml:15
+msgid "When turning on the laser, wait this many seconds for laser to warm up (G4 command)"
+msgstr ""
+
+#: templates/output_params_txt.xml:16
msgid "spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:8
+#: templates/output_params_txt.xml:16
msgid "spindle speed (laser power for laser mode, set to -1 to omit)"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "min spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:9
+#: templates/output_params_txt.xml:17
msgid "minimum spindle speed value (grbl $31 setting)"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "max spindle speed"
msgstr ""
-#: templates/output_params_txt.xml:10
+#: templates/output_params_txt.xml:18
msgid "minimum spindle speed value (grbl $30 setting)"
msgstr ""
-#: templates/output_params_txt.xml:11
+#: templates/output_params_txt.xml:19
msgid "feed rate (in mm/min, set to -1 to omit)"
msgstr ""
@@ -1770,27 +1829,27 @@ msgstr ""
msgid "Remove embroidery settings"
msgstr ""
-#: templates/remove_embroidery_settings.inx:7
+#: templates/remove_embroidery_settings.inx:5
msgid "Use this extension to remove the information Ink/Stitch has stored in your document. This can be especially useful if you copy and paste objects from an embroidery design into another document."
msgstr ""
-#: templates/remove_embroidery_settings.inx:8
+#: templates/remove_embroidery_settings.inx:6
msgid "Remove Params"
msgstr ""
-#: templates/remove_embroidery_settings.inx:9
+#: templates/remove_embroidery_settings.inx:7
msgid "Removes params from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:10
+#: templates/remove_embroidery_settings.inx:8
msgid "Remove Commands"
msgstr ""
-#: templates/remove_embroidery_settings.inx:11
+#: templates/remove_embroidery_settings.inx:9
msgid "Removes visual commands from selected objects or all objects if nothing is selected."
msgstr ""
-#: templates/remove_embroidery_settings.inx:12
+#: templates/remove_embroidery_settings.inx:10
msgid "Remove Print Settings from SVG metadata"
msgstr ""
@@ -1798,15 +1857,27 @@ msgstr ""
msgid "Simulate"
msgstr ""
+#: templates/stitch_plan_preview.inx:3
+msgid "Stitch Plan Preview"
+msgstr ""
+
#: templates/troubleshoot.inx:3
msgid "Troubleshoot Objects"
msgstr ""
-#: templates/zip.inx:10
+#: templates/zip.inx:8
msgid "Ink/Stitch: ZIP export multiple formats (.zip)"
msgstr ""
-#: templates/zip.inx:11
+#: templates/zip.inx:9
msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch"
msgstr ""
+#: templates/zip.inx:15
+msgid "Scalable Vector Graphic"
+msgstr ""
+
+#: templates/zip.inx:16
+msgid "Threadlist"
+msgstr ""
+