diff options
| author | Lex Neva <github.com@lexneva.name> | 2018-08-25 11:47:48 -0400 |
|---|---|---|
| committer | Lex Neva <github.com@lexneva.name> | 2018-08-25 11:47:48 -0400 |
| commit | 11d3cea80caeb9738a2eb02473801487c2acba3b (patch) | |
| tree | 13510f23e5041628ef96997f14d852482ff04000 | |
| parent | c5bd1878846c17309c99ad7554d4645088de9629 (diff) | |
| parent | 6a16e90081e619eac5921bd8614c0c46dc83f852 (diff) | |
Merge remote-tracking branch 'origin/master' into simulator-timeline
138 files changed, 17647 insertions, 4261 deletions
@@ -7,3 +7,4 @@ dist/ build/ locales/ +/inx/ diff --git a/.travis.yml b/.travis.yml index a3f6360b..f7a7a811 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,20 +14,26 @@ matrix: - python: 2.7 env: LINT=true sudo: false + if: type != cron - python: 2.7 sudo: required env: BUILD=linux - if: tag =~ ^v[0-9.]+$ OR branch != master + if: type != cron AND (tag =~ ^v[0-9.]+$ OR branch != master) - python: 2.7 sudo: required env: BUILD=windows - if: tag =~ ^v[0-9.]+$ OR branch != master + if: type != cron AND (tag =~ ^v[0-9.]+$ OR branch != master) - language: generic os: osx sudo: required env: BUILD=osx - if: tag =~ ^v[0-9.]+$ OR branch != master + if: type != cron AND (tag =~ ^v[0-9.]+$ OR branch != master) + + - language: java + sudo: false + env: CROWDIN=true + if: type = cron branches: except: - /^dev-build-/ @@ -38,8 +44,9 @@ install: if [ -n "$BUILD" ]; then # Need this for inkex.py and friends wget -q https://inkscape.org/en/gallery/item/12187/inkscape-0.92.3.tar.bz2 - tar jxf inkscape-0.92.3.tar.bz2 + tar -jxf inkscape-0.92.3.tar.bz2 rm inkscape-0.92.3.tar.bz2 + mv inkscape-0.92.3 inkscape fi if [ "$BUILD" = "linux" ]; then # For some bizarre reason, this build has been failing due to the @@ -137,14 +144,31 @@ script: travis_wait 60 ssh -o StrictHostKeyChecking=no -i .ssh/id_rsa -N -R 9999:localhost:9999 debug@lex.gd fi if [ -n "$LINT" ]; then - flake8 . --count --exit-zero --select=E901,E999,F821,F822,F823 --show-source --statistics --exclude=embroidermodder - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics --exclude=embroidermodder + make style elif [ "$BUILD" = "linux" -o "$BUILD" = "osx" ]; then make dist elif [ "$BUILD" = "windows" ]; then # work around some bug... pyinstaller? shapely? not sure. cp $(winepath 'C:\Python\lib\site-packages\shapely\DLLs\geos_c.dll') $(winepath 'C:\Python\lib\site-packages\shapely\DLLs\geos.dll') make dist + elif [ -n "$CROWDIN" ]; then + git config --global user.email "inkstitch-crowdin@lex.gd" + git config --global user.name "Ink/Stitch Crowdin integration" + git checkout master + + wget https://downloads.crowdin.com/cli/v2/crowdin-cli.zip + unzip -j crowdin-cli.zip + java -jar crowdin-cli.jar upload -b master + java -jar crowdin-cli.jar pull -b master + + # Try to only commit if translations changed. Crowdin will update all + # files when a new translation string is added but we don't need to + # commit those until folks actually translate the new strings. + if git diff translations | grep -qE '^[-+]msgstr ".+"$'; then + git add translations + git commit -m "new translations from Crowdin" + git push https://${TRAVIS_REPO_SLUG%/*}:${GITHUB_API_KEY}@github.com/${TRAVIS_REPO_SLUG}.git master + fi else true fi diff --git a/LOCALIZATION.md b/LOCALIZATION.md index d692b38c..b8eb19a2 100644 --- a/LOCALIZATION.md +++ b/LOCALIZATION.md @@ -1,24 +1,41 @@ -ink/stitch Localization +Ink/Stitch Localization ======================= -The goal of the ink/stitch project is to put free, high-quality embroidery design tools in the hands of folks that might normally not have access to such tools. To further that goal, we seek to support as many languages and locales as possible. +The goal of the Ink/Stitch project is to put free, high-quality embroidery design tools in the hands of folks that might normally not have access to such tools. To further that goal, we seek to support as many languages and locales as possible. -Ink/stitch supports displaying text in the user's preferred language in the Params dialog and in error messages displayed by the Embroider extension. Future work will add translations for the extension settings window (displayed by Inkscape) and project documentation (such as this file). +Ink/Stitch supports displaying text in the user's preferred language in the following places: + * dialogs (such as Params and Install Add-Ons for Inkscape) + * print PDF + * error messages + * extension settings dialogs and menu items + * these are managed by Inkscape + +Future work will add translations for project documentation (such as this file) and the <a href="https://inkstitch.org/">Ink/Stitch website</a>. Help wanted! ----------- -Want to help translate? We'd really appreciate your contributions! Ink/stitch uses a the collaborative translation platform <a href="http://crowdin.com">CrowdIn</a> to facilitate community translations. Through their generous open source program, we're able to use their platform free of charge, and we greatly appreciate their support. +Want to help translate? We'd really appreciate your contributions! Ink/Stitch uses a the collaborative translation platform <a href="http://crowdin.com">Crowdin</a> to facilitate community translations. Through their generous open source program, we're able to use their platform free of charge, and we greatly appreciate their support. -To start translating, visit our <a href="https://crowdin.com/project/inkstitch">project page on CrowdIn</a>. It's easy to sign in using your GitHub account. Pick a language and start suggesting translations! +To start translating, visit our <a href="https://crowdin.com/project/inkstitch">project page on Crowdin</a>. It's easy to sign in using your GitHub account. Pick a language and start suggesting translations! -Approved contributors can accept your translations, which causes them to be submitted to this GitHub repository as a pull request. If you'd like to become an approver, please ping [**@lexelby**](https://github.com/lexelby) or another approved contributor, or email **inkstitch-l10n** at **lex** dot **gd**. +Approved contributors can accept your translations, which causes them to be committed to this repository within 24 hours. If you'd like to become an approver, please ping [**@lexelby**](https://github.com/lexelby) or another approved contributor, or email **inkstitch-l10n** at **lex** dot **gd**. -**Please note that our [code of conduct](CODE_OF_CONDUCT.md) also covers contributions and interactions on our CrowdIn page.** +**Please note that our [code of conduct](CODE_OF_CONDUCT.md) also covers contributions and interactions on our Crowdin page.** Continuous Translation ---------------------- -When new code is added to ink/stitch, user-facing text can change and new messages can be added. CrowdIn picks these changes up automatically and makes the new messages available to translators. +When new code is added to Ink/Stitch, user-facing text can change and new messages can be added. These changes will be uploaded to Crowdin within 24 hours and made available for contributors to translate. + +Sometimes, it's necessary to see how your translated text looks in Ink/Stitch. In order to do this, follow these steps: + +1. Wait up to 24 hours until your new translations are committed to Ink/Stitch ([example](https://github.com/inkstitch/inkstitch/commit/96c319f870f7da5370ac4f3378f2cf6de0e0ccde)). +2. Make a new branch by following [these instructions](https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/). +3. Visit the Travis CI project page for Ink/Stitch [here](https://travis-ci.org/inkstitch/inkstitch). +4. From the menu in the upper right, choose "Trigger build". +5. Choose your branch from the list. +6. Click "trigger custom build". +7. Once your build finishes, it will be posted to our [releases page](https://github.com/inkstitch/inkstitch/releases). -When CrowdIn creates a pull request, our [Travis-CI](http://travis-ci.org) integration (also generously provided for free!) picks up the new translations and builds a new version of ink/stitch as a development release. Once Travis-CI finishes building, the new version is posted to our releases page [here](https://github.com/lexelby/inkstitch/releases/tag/dev-build-l10n), and you can install it and make sure everything looks right before we merge. +In order to do the above steps, you'll need to be added as a collaborator on this repository. You can ping [**@lexelby**](https://github.com/lexelby) or email **inkstitch-l10n** at **lex** dot **gd** and we'll get you set up. @@ -5,7 +5,7 @@ VERSION:=$(subst /,-,$(TRAVIS_BRANCH)) OS:=$(TRAVIS_OS_NAME) ARCH:=$(shell uname -m) -dist: distclean locales +dist: distclean locales inx bin/build-dist $(EXTENSIONS) cp inx/*.inx dist cp -a images/examples dist/inkstitch @@ -23,11 +23,22 @@ dist: distclean locales distclean: rm -rf build dist *.spec *.tar.gz +.PHONY: inx +inx: locales + mkdir -p inx + if [ "$$BUILD" = "windows" ]; then \ + wine c:\\Python\\python.exe bin/generate-inx-files; \ + else \ + bin/generate-inx-files; \ + fi + +.PHONY: messages.po messages.po: rm -f messages.po - pybabel extract -o messages.po -F babel.conf --add-location=full --add-comments=l10n,L10n,L10N --sort-by-file --strip-comments . + bin/pyembroidery-gettext > pyembroidery-format-descriptions.py + pybabel extract -o messages.po -F babel.conf --add-location=full --add-comments=l10n,L10n,L10N --sort-by-file --strip-comments -k N_ . + rm pyembroidery-format-descriptions.py -.PHONY: messages.po .PHONY: locales locales: # message files will look like this: @@ -42,3 +53,7 @@ locales: else \ mkdir -p locales; \ fi + +.PHONY: style +style: + flake8 . --count --max-complexity=10 --max-line-length=150 --statistics --exclude=pyembroidery,__init__.py,simulator.py,params.py @@ -3,4 +3,4 @@ [python: **.py] [jinja2: print/templates/*.html] - +[jinja2: templates/*] diff --git a/bin/build-dist b/bin/build-dist index a96b7506..c740c782 100755 --- a/bin/build-dist +++ b/bin/build-dist @@ -29,7 +29,7 @@ if [ "$TRAVIS_OS_NAME" = "osx" ]; then fi # This lets pyinstaller see inkex.py, etc. -pyinstaller_args+="-p inkscape-0.92.3/share/extensions " +pyinstaller_args+="-p inkscape/share/extensions " # output useful debugging info that helps us trace library dependency issues pyinstaller_args+="--log-level DEBUG " diff --git a/bin/gen-input-inx b/bin/gen-input-inx deleted file mode 100755 index ae32b43f..00000000 --- a/bin/gen-input-inx +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env python - -import sys, os -from os.path import dirname -import pyembroidery -from jinja2 import Environment, FileSystemLoader, select_autoescape - - -def build_environment(): - template_dir = os.path.join(dirname(dirname(os.path.realpath(__file__))), "templates") - - return Environment( - loader = FileSystemLoader(template_dir), - autoescape = True - ) - - -def pyembroidery_input_formats(): - for format in pyembroidery.supported_formats(): - if 'reader' in format and format['category'] == 'embroidery': - yield format['extension'], format['description'] - - -def main(): - env = build_environment() - template = env.get_template('embroider_input.inx') - - for format, description in pyembroidery_input_formats(): - inx = template.render(format=format, description=description) - - with open("inx/inkstitch_input_%s.inx" % format.upper(), 'w') as inx_file: - print >> inx_file, inx - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/bin/gen-output-format-option-list b/bin/gen-output-format-option-list deleted file mode 100755 index 28a83976..00000000 --- a/bin/gen-output-format-option-list +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env python - -import sys -import pyembroidery - -formats = [format for format in pyembroidery.supported_formats() if 'writer' in format] -formats.sort(key=lambda format: (format['category'] != 'embroidery', format['extension'])) - -for format in formats: - tag = "" - if format['category'] != 'embroidery': - tag = " [DEBUG]" - - print '<_option value="%s">%s(%s)%s</_option>' % (format['extension'], format['description'], format['extension'].upper(), tag) diff --git a/bin/gen-output-inx b/bin/gen-output-inx deleted file mode 100755 index fbe2ad55..00000000 --- a/bin/gen-output-inx +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env python - -import sys, os -from os.path import dirname -import pyembroidery -from jinja2 import Environment, FileSystemLoader, select_autoescape - - -def build_environment(): - template_dir = os.path.join(dirname(dirname(os.path.realpath(__file__))), "templates") - - return Environment( - loader = FileSystemLoader(template_dir), - autoescape = True - ) - - -def pyembroidery_output_formats(): - for format in pyembroidery.supported_formats(): - if 'writer' in format and format['category'] == 'embroidery': - yield format['extension'], format['description'] - - -def main(): - env = build_environment() - template = env.get_template('embroider_output.inx') - - for format, description in pyembroidery_output_formats(): - inx = template.render(format=format, description=description) - - with open("inx/inkstitch_output_%s.inx" % format.upper(), 'w') as inx_file: - print >> inx_file, inx - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/bin/gen-zip-inx b/bin/gen-zip-inx deleted file mode 100755 index 40948786..00000000 --- a/bin/gen-zip-inx +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env python - -import sys, os -from os.path import dirname -import pyembroidery -from jinja2 import Environment, FileSystemLoader, select_autoescape - - -def build_environment(): - template_dir = os.path.join(dirname(dirname(os.path.realpath(__file__))), "templates") - - return Environment( - loader = FileSystemLoader(template_dir), - autoescape = True - ) - - -def pyembroidery_output_formats(): - for format in pyembroidery.supported_formats(): - if 'writer' in format and format['category'] == 'embroidery': - yield format['extension'], format['description'] - - -def main(): - env = build_environment() - template = env.get_template('embroider_zip_output.inx') - - inx = template.render(formats=pyembroidery_output_formats()) - - with open("inx/inkstitch_output_ZIP.inx", 'w') as inx_file: - inx_file.write(inx) - - -if __name__ == "__main__": - sys.exit(main()) diff --git a/bin/generate-inx-files b/bin/generate-inx-files new file mode 100755 index 00000000..a16fb32e --- /dev/null +++ b/bin/generate-inx-files @@ -0,0 +1,17 @@ +#!/usr/bin/env python + +import sys +import os +from os.path import dirname + +# add inkstitch libs to python path +parent_dir = os.path.join(dirname(dirname(__file__))) +sys.path.append(parent_dir) + +# try find add inkex.py et al. as well +sys.path.append(os.path.join(parent_dir, "inkscape", "share", "extensions")) +sys.path.append(os.path.join("/usr/share/inkscape/extensions")) + +from lib.inx import generate_inx_files + +generate_inx_files() diff --git a/bin/pyembroidery-gettext b/bin/pyembroidery-gettext new file mode 100755 index 00000000..ac9bd1ab --- /dev/null +++ b/bin/pyembroidery-gettext @@ -0,0 +1,10 @@ +#!/usr/bin/env python + +import pyembroidery + + +# generate fake python code containing the descriptions of pyembroidery formats +# as gettext calls so that pybabel will extract them into messages.po +for format in pyembroidery.supported_formats(): + print "# L10N description for pyembroidery file format: %s" % format['extension'] + print "_(%s)" % repr(format['description']) diff --git a/crowdin.yml b/crowdin.yml index be40a011..d806d82e 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -1,3 +1,5 @@ +project_identifier: inkstitch +api_key_env: CROWDIN_API_KEY files: - source: messages.po translation: /translations/messages_%locale_with_underscore%.po diff --git a/images/examples/Faux Fill Blend.svg b/images/examples/Faux Fill Blend.svg new file mode 100644 index 00000000..c3a91e9a --- /dev/null +++ b/images/examples/Faux Fill Blend.svg @@ -0,0 +1,580 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + sodipodi:docname="Faux Fill Blend.svg" + inkscape:version="0.92.3 (unknown)" + id="svg8" + version="1.1" + viewBox="0 0 100 100" + height="100mm" + width="100mm"> + <sodipodi:namedview + inkscape:guide-bbox="true" + showguides="true" + inkscape:snap-bbox="false" + inkscape:window-maximized="1" + inkscape:window-y="0" + inkscape:window-x="3840" + inkscape:window-height="1412" + inkscape:window-width="2560" + inkscape:snap-global="false" + showgrid="false" + inkscape:current-layer="svg8" + inkscape:document-units="mm" + inkscape:cy="199.94177" + inkscape:cx="424.88571" + inkscape:zoom="1.062546" + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + borderopacity="1.0" + bordercolor="#666666" + pagecolor="#ffffff" + id="base" /> + <defs + id="defs2"> + <symbol + id="inkstitch_fill_start"> + <title + id="inkstitch_title9432">Fill stitch starting point</title> + <path + id="inkstitch_circle13166-6" + d="m 9.2465269,-2.6e-6 c -1.9e-6,5.106729 -4.1398247,9.24655 -9.246554026709,9.24655 C -5.106756,9.2465474 -9.2465782,5.1067264 -9.2465801,-2.6e-6 c 2e-7,-5.10673 4.1398229,-9.246553 9.246552973291,-9.246553 2.452338526709,0 4.804235626709,0.974187 6.538300926709,2.708252 1.7340652,1.734066 2.708253,4.085963 2.7082531,6.538301 0,0 0,0 0,0" + style="opacity:1;vector-effect:none;fill:#fafafa;fill-opacity:1;fill-rule:evenodd;stroke:#003399;stroke-width:1.06501234;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3.19503705, 3.19503705;stroke-dashoffset:0;stroke-opacity:1" + inkscape:connector-curvature="0" /> + <path + style="opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.74180555;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + d="m 6.5728129,0.0035574 c 0,0 -10.4514,6.03412 -10.4514,6.03412 0,0 0,-12.06823 0,-12.06823 0,0 10.4514,6.03411 10.4514,6.03411" + id="inkstitch_path4183" + inkscape:connector-curvature="0" /> + </symbol> + <symbol + id="inkstitch_fill_end"> + <title + id="inkstitch_title9427">Fill stitch ending point</title> + <path + id="inkstitch_circle13166" + d="m 9.220113,0.0792309 c -1.9e-6,5.106729 -4.1398241,9.24655 -9.246553,9.24655 -5.1067293,0 -9.2465521,-4.139821 -9.246554,-9.24655 1e-7,-2.452338 0.9741879,-4.804235 2.7082531,-6.538301 1.7340653,-1.734065 4.0859624,-2.708252 6.5383009,-2.708252 5.1067301,0 9.2465528,4.139823 9.246553,9.246553 0,0 0,0 0,0" + style="opacity:1;vector-effect:none;fill:#fafafa;fill-opacity:1;fill-rule:evenodd;stroke:#003399;stroke-width:1.06500006;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3.19500017, 3.19500017;stroke-dashoffset:0;stroke-opacity:1" + inkscape:connector-curvature="0" /> + <path + style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.27154255;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:4.81866985, 4.81866985;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + d="m -4.570439,-4.5704391 c 0,0 9.140878,0 9.140878,0 0,0 0,9.14087 0,9.14087 0,0 -9.140878,0 -9.140878,0 0,0 0,-9.14087 0,-9.14087" + id="inkstitch_rect5371-2" + inkscape:connector-curvature="0" /> + </symbol> + <symbol + id="inkstitch_ignore_layer"> + <title + id="title25366">Ignore entire layer when generating stitch plan</title> + <path + inkscape:connector-curvature="0" + style="opacity:1;vector-effect:none;fill:#fafafa;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1.06501234;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3.19503705, 3.19503705;stroke-dashoffset:0;stroke-opacity:1" + d="M 9.2465269,-4.9265995e-6 C 9.246525,5.1067241 5.1067028,9.2465451 -2.615882e-5,9.2465451 -5.1067554,9.2465451 -9.2465782,5.1067241 -9.2465801,-4.9265995e-6 -9.24658,-2.4523429 -8.2723922,-4.8042399 -6.538327,-6.5383059 c 1.7340653,-1.734065 4.0859624,-2.708252 6.53830084118,-2.708252 5.10673015882,0 9.24655285882,4.139823 9.24655305882,9.2465529734005 0,0 0,0 0,0" + id="inkstitch_path25368-7" /> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + style="color:#000000;fill:#d5d5d5;fill-opacity:1;fill-rule:evenodd;stroke:#5a5a5a;stroke-width:0.63330007;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:0;stroke-opacity:1" + d="M 4,4.452769 1.46667,1.286102 H -5.5 l 2.53333,3.166667 z" + id="use5800" /> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + style="color:#000000;opacity:0.5;fill:#d5d5d5;fill-opacity:1;fill-rule:evenodd;stroke:#858585;stroke-width:0.63339424;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:0;stroke-opacity:1" + d="M 4,2.552769 1.46667,-0.613898 H -5.5 l 2.53333,3.166667 z" + id="use5864" /> + <g + id="g5771"> + <path + sodipodi:nodetypes="ccccccccc" + inkscape:connector-curvature="0" + style="fill:#aa0000;fill-rule:evenodd;stroke:#aa0000;stroke-width:1px" + d="m -1.0666699,-5.0472339 h 4.4333333 l 0.6333333,0.6333333 V 0.01943274 L 3.3666634,0.65276607 H -1.0666699 L -1.7000032,0.01943274 V -4.4139006 Z" + id="path8011" /> + <path + inkscape:connector-curvature="0" + id="path8023" + d="m -0.43333658,-3.8755672 c 0,0 3.16666668,3.16666661 3.16666668,3.16666661" + style="fill:none;stroke:#ffffff;stroke-width:1.70000005" /> + <path + inkscape:connector-curvature="0" + id="path8025" + d="m 2.7333301,-3.8755672 c 0,0 -3.16666668,3.16666661 -3.16666668,3.16666661" + style="fill:none;stroke:#ffffff;stroke-width:1.79999995;stroke-linejoin:round" /> + </g> + </symbol> + </defs> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + <dc:creator> + <cc:Agent> + <dc:title>Evan West at Wild West Designs</dc:title> + </cc:Agent> + </dc:creator> + <dc:rights> + <cc:Agent> + <dc:title>License to Use</dc:title> + </cc:Agent> + </dc:rights> + <dc:publisher> + <cc:Agent> + <dc:title>Wild West Designs</dc:title> + </cc:Agent> + </dc:publisher> + <dc:source>www.wildwestdesigns.biz</dc:source> + </cc:Work> + </rdf:RDF> + </metadata> + <g + sodipodi:insensitive="true" + inkscape:label="Instructions" + id="layer3" + inkscape:groupmode="layer"> + <text + id="text8622" + y="108.27556" + x="29.756813" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:6.61458302px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.26458332px" + y="108.27556" + x="29.756813" + id="tspan8620" + sodipodi:role="line">Instructions</tspan></text> + <text + id="text8630" + y="118.13581" + x="0.52822745" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:6.61458302px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.26458332px" + y="118.13581" + x="0.52822745" + id="tspan8628" + sodipodi:role="line">1. A faux blend has a regular fill layer </tspan><tspan + id="tspan8632" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.26458332px" + y="124.7504" + x="0.52822745" + sodipodi:role="line">on bottom and each subsequent layer </tspan><tspan + id="tspan8634" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:sans-serif;-inkscape-font-specification:sans-serif;stroke-width:0.26458332px" + y="131.36497" + x="0.52822745" + sodipodi:role="line">has variable density settings</tspan></text> + <text + id="text8642" + y="141.55389" + x="0.70430326" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:6.61458302px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="stroke-width:0.26458332px" + y="141.55389" + x="0.70430326" + id="tspan8640" + sodipodi:role="line">2. Make sure that all of the layers have</tspan><tspan + id="tspan8644" + style="stroke-width:0.26458332px" + y="148.16847" + x="0.70430326" + sodipodi:role="line">the same stitch angle, this allows for </tspan><tspan + id="tspan8646" + style="stroke-width:0.26458332px" + y="154.78307" + x="0.70430326" + sodipodi:role="line">blending to happen</tspan></text> + <text + id="text8650" + y="165.32413" + x="0.70430326" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:6.61458302px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="stroke-width:0.26458332px" + y="165.32413" + x="0.70430326" + id="tspan8648" + sodipodi:role="line">3. When doing more then 2 layers, each</tspan><tspan + id="tspan8652" + style="stroke-width:0.26458332px" + y="171.93871" + x="0.70430326" + sodipodi:role="line">blending layer uses less density then </tspan><tspan + id="tspan8654" + style="stroke-width:0.26458332px" + y="178.5533" + x="0.70430326" + sodipodi:role="line">the previous layer</tspan></text> + <text + id="text8658" + y="188.56613" + x="1.2325308" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:6.61458302px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="stroke-width:0.26458332px" + y="188.56613" + x="1.2325308" + id="tspan8656" + sodipodi:role="line">4. Make sure to follow the same start</tspan><tspan + id="tspan8660" + style="stroke-width:0.26458332px" + y="195.18071" + x="1.2325308" + sodipodi:role="line">and end points for each layer. For </tspan><tspan + id="tspan8662" + style="stroke-width:0.26458332px" + y="201.7953" + x="1.2325308" + sodipodi:role="line">instance, if the base layer starts at top </tspan><tspan + id="tspan8664" + style="stroke-width:0.26458332px" + y="208.40988" + x="1.2325308" + sodipodi:role="line">top and ends at bottom right, follow </tspan><tspan + id="tspan8666" + style="stroke-width:0.26458332px" + y="215.02446" + x="1.2325308" + sodipodi:role="line">that same sequence for each layer.</tspan></text> + <text + id="text8670" + y="224.13345" + x="1.7607582" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:6.61458302px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="stroke-width:0.26458332px" + y="224.13345" + x="1.7607582" + id="tspan8668" + sodipodi:role="line">5. Underlay is typically not needed, but </tspan><tspan + id="tspan8672" + style="stroke-width:0.26458332px" + y="230.74803" + x="1.7607582" + sodipodi:role="line">it does depend on the individual</tspan><tspan + id="tspan8674" + style="stroke-width:0.26458332px" + y="237.36263" + x="1.7607582" + sodipodi:role="line">project.</tspan></text> + <text + id="text8678" + y="247.1994" + x="2.1129098" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:6.61458302px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="stroke-width:0.26458332px" + y="247.1994" + x="2.1129098" + id="tspan8676" + sodipodi:role="line">6. Typically, it is best to work from light</tspan><tspan + id="tspan8680" + style="stroke-width:0.26458332px" + y="253.81398" + x="2.1129098" + sodipodi:role="line">to dark colors, but again it does </tspan><tspan + id="tspan8682" + style="stroke-width:0.26458332px" + y="260.42856" + x="2.1129098" + sodipodi:role="line">depend on the design and the desired </tspan><tspan + id="tspan8684" + style="stroke-width:0.26458332px" + y="267.04315" + x="2.1129098" + sodipodi:role="line">end look.</tspan></text> + <text + id="text8688" + y="277.13226" + x="2.2889857" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:6.61458302px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="stroke-width:0.26458332px" + y="277.13226" + x="2.2889857" + id="tspan8686" + sodipodi:role="line">7. While this is not a true blend, in</tspan><tspan + id="tspan8690" + style="stroke-width:0.26458332px" + y="283.74686" + x="2.2889857" + sodipodi:role="line">most instances, this type of blend is</tspan><tspan + id="tspan8692" + style="stroke-width:0.26458332px" + y="290.36142" + x="2.2889857" + sodipodi:role="line">good enough to achieve the desired</tspan><tspan + id="tspan8694" + style="stroke-width:0.26458332px" + y="296.97601" + x="2.2889857" + sodipodi:role="line">end look.</tspan></text> + <text + id="text8698" + y="306.18478" + x="2.1129098" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:6.61458302px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="stroke-width:0.26458332px" + y="306.18478" + x="2.1129098" + id="tspan8696" + sodipodi:role="line">8. The density values in this example</tspan><tspan + id="tspan8702" + style="stroke-width:0.26458332px" + y="312.79938" + x="2.1129098" + sodipodi:role="line">are not set in stone, but just to</tspan><tspan + id="tspan8706" + style="stroke-width:0.26458332px" + y="319.41394" + x="2.1129098" + sodipodi:role="line">illustrate the concept. True settings will </tspan><tspan + id="tspan8708" + style="stroke-width:0.26458332px" + y="326.02853" + x="2.1129098" + sodipodi:role="line">depend on the design, fabric it's going</tspan><tspan + id="tspan8710" + style="stroke-width:0.26458332px" + y="332.64313" + x="2.1129098" + sodipodi:role="line">on and the size of design.</tspan></text> + </g> + <g + transform="translate(0,-197)" + id="layer1" + inkscape:groupmode="layer" + inkscape:label="Base Fill" + style="display:inline"> + <path + embroider_fill_underlay="False" + embroider_fill_underlay_row_spacing_mm="1.2" + embroider_fill_underlay_angle="45" + embroider_fill_underlay_inset_mm=".2" + embroider_fill_underlay_max_stitch_length_mm="4" + embroider_max_stitch_length_mm="4" + embroider_angle="0" + embroider_running_stitch_length_mm="1.5" + embroider_row_spacing_mm="0.25" + embroider_staggers="4" + embroider_auto_fill="True" + inkscape:connector-curvature="0" + id="rect4798" + d="M 27.970238,225.5625 H 65.956844 V 265.25 H 27.970238 Z" + style="fill:#8fdfe2;fill-opacity:1;stroke:none;stroke-width:0.63499993;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" /> + <path + d="M 61.272088,61.524194 105.71442,107.95511" + id="connector" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-opacity:0.5" + transform="matrix(0.264583,0,0,0.264583,0,197)" + inkscape:connection-end="#rect4798" + inkscape:connection-start="#use" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" /> + <use + height="100%" + id="use" + transform="matrix(0.264583,0,0,0.264583,-39.309524,192.65328)" + width="100%" + x="209.8437" + y="77.952766" + xlink:href="#inkstitch_fill_start" /> + <path + d="M 278.92639,288.03202 249.28602,257.32415" + id="connectorl" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-opacity:0.5" + transform="matrix(0.264583,0,0,0.264583,0,197)" + inkscape:connection-end="#rect4798" + inkscape:connection-start="#useU" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" /> + <use + height="100%" + id="useU" + transform="matrix(0.264583,0,0,0.264583,37.608631,197)" + width="100%" + x="136.80977" + y="287.95279" + xlink:href="#inkstitch_fill_end" /> + </g> + <g + inkscape:label="Fill Blend" + id="layer2" + inkscape:groupmode="layer" + style="display:inline"> + <path + embroider_row_spacing_mm="2.1" + style="fill:#002857;fill-opacity:1;stroke:none;stroke-width:0.69463408;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + d="M 27.922993,35.460564 H 65.956848 V 47.555801 H 27.922993 Z" + id="rect5322" + inkscape:connector-curvature="0" /> + <path + d="m 54.189896,117.59563 51.529024,16.42872" + id="connectorE" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-opacity:0.5" + transform="scale(0.264583)" + inkscape:connection-end="#rect5322" + inkscape:connection-start="#usee" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" /> + <use + height="100%" + id="usee" + transform="matrix(0.264583,0,0,0.264583,-37.277902,3.5907738)" + width="100%" + x="195.08293" + y="104.02419" + xlink:href="#inkstitch_fill_start" /> + <path + d="M 289.81995,192.67483 249.19396,179.73869" + id="connectors" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-opacity:0.5" + transform="scale(0.264583)" + inkscape:connection-end="#rect5322" + inkscape:connection-start="#use9" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" /> + <use + height="100%" + id="use9" + transform="matrix(0.264583,0,0,0.264583,34.773808,-4.5357144)" + width="100%" + x="158.41763" + y="209.73848" + xlink:href="#inkstitch_fill_end" /> + <path + embroider_row_spacing_mm="1.2" + style="fill:#002857;fill-opacity:1;stroke:none;stroke-width:0.62527049;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + d="M 27.875742,47.465159 H 65.909597 V 57.635042 H 27.875742 Z" + id="rect5417" + inkscape:connector-curvature="0" /> + <path + d="M 312.40971,157.23852 240.02033,179.3961" + id="connectorP" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-opacity:0.5" + transform="scale(0.264583)" + inkscape:connection-end="#rect5417" + inkscape:connection-start="#useA" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" /> + <use + height="100%" + id="useA" + transform="matrix(0.264583,0,0,0.264583,22.489583,3.0710566)" + width="100%" + x="227.40961" + y="145.63136" + xlink:href="#inkstitch_fill_start" /> + <path + d="M 45.830906,240.88914 117.49482,217.8335" + id="connectorh" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-opacity:0.5" + transform="scale(0.264583)" + inkscape:connection-end="#rect5417" + inkscape:connection-start="#useP" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" /> + <use + height="100%" + id="useP" + transform="matrix(0.264583,0,0,0.264583,-30.427084,-3.1655505)" + width="100%" + x="160.85747" + y="252.77422" + xlink:href="#inkstitch_fill_end" /> + <path + embroider_row_spacing_mm=".8" + style="fill:#002857;fill-opacity:1;stroke:none;stroke-width:0.64055341;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + d="M 27.828497,57.432662 H 65.956846 V 68.249999 H 27.828497 Z" + id="rect5532" + inkscape:connector-curvature="0" /> + <path + d="M 15.346761,195.09563 105.1787,218.63226" + id="connectorV" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-opacity:0.5" + transform="scale(0.264583)" + inkscape:connection-end="#rect5532" + inkscape:connection-start="#user" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" /> + <use + height="100%" + id="user" + transform="matrix(0.264583,0,0,0.264583,-48.050223,1.937128)" + width="100%" + x="196.95413" + y="187.7742" + xlink:href="#inkstitch_fill_start" /> + <path + d="M 334.09491,281.60344 249.28603,257.76445" + id="connectorp" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-opacity:0.5" + transform="scale(0.264583)" + inkscape:connection-end="#rect5532" + inkscape:connection-start="#usec" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" /> + <use + height="100%" + id="usec" + transform="matrix(0.264583,0,0,0.264583,50.885045,-1.7008929)" + width="100%" + x="141.79965" + y="287.95279" + xlink:href="#inkstitch_fill_end" /> + </g> + <g + id="__inkstitch_stitch_plan__" + inkscape:groupmode="layer" + inkscape:label="Exploding View"> + <g + transform="translate(75.449675,-2.4900883)" + id="__color_block_0__" + inkscape:label="color block 1"> + <path + inkscape:connector-curvature="0" + d="m 105.7143,108.66142 h 0.3 0.3 -0.3 -0.3 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94489 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94489 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 V 120 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94489 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94489 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94489 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94489 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94489 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94489 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94489 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94489 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94489 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94489 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94489 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94489 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94489 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94489 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94489 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94489 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94489 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94489 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94489 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94489 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94489 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94489 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94489 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94489 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 V 240 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94489 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94489 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94489 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94488 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v 0.94488 H 234.33071 219.2126 204.09449 188.97638 173.85827 158.74016 143.62205 128.50394 113.38583 105.7143 v 0.94488 h 11.45105 15.11811 15.11811 15.11812 15.11811 15.11811 15.11811 15.11811 15.11811 11.1755 v 0.94488 h -7.39598 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 -15.11811 l -0.11247,0.94489 h 3.892 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 15.11811 3.61645 v -0.94489 0.3 0.3 -0.3 -0.3" + embroider_manual_stitch="true" + style="fill:none;stroke:#8fdee1;stroke-width:0.40000001" + transform="scale(0.264583)" + id="path13206" /> + </g> + <g + transform="translate(118.77721,-2.4900883)" + id="__color_block_1__" + inkscape:label="color block 2"> + <path + inkscape:connector-curvature="0" + d="m 105.53573,134.92913 h 0.3 0.3 -0.3 -0.3 10.68474 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 8.34087 v 5.6693 2.26771 h -5.50622 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -2.18081 v 5.66929 2.26772 h 5.01545 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 2.67158 v 5.66929 2.26772 h -11.17551 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -7.8501 v 5.66929 2.26772 h 10.68474 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 8.34087 v 5.66929 2.26771 h -5.50622 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -2.18081 l 0.54499,5.12431 h 5.66929 5.66929 5.66929 5.66929 5.66929 5.6693 5.66929 5.66929 5.66929 5.66929 5.66929 5.66929 5.66929 5.6693 5.66929 5.66929 5.66929 5.66929 5.66929 5.66929 5.6693 5.66929 5.66929 5.66929 5.66929 l 1.47275,-4.19654 v -0.92777 l -0.17858,6.80315 h -10.99693 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -8.02868 v 4.53544 h 10.86332 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 8.16229 v 4.53543 h -5.32764 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -2.35939 v 4.53543 h 5.19403 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 2.493 v 4.53544 h -10.99693 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -8.02868 v 4.53543 h 10.86332 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 8.16229 v 4.53543 h -5.32764 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -2.35939 v 4.53543 h 5.19403 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 2.493 v 4.53544 h -10.99693 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -8.02868 l -0.17857,3.02362 h 11.04189 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 8.34087 v 3.02362 h -5.50622 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -2.53796 v 3.02362 h 5.3726 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 2.67158 v 3.02363 h -11.17551 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -8.20725 v 3.02362 h 11.04189 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 8.34087 v 3.02362 h -5.50622 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -2.53796 v 3.02362 h 5.3726 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 2.67158 v 3.02362 h -11.17551 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -8.20725 v 3.02363 h 11.04189 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 8.34087 v 3.02362 h -5.50622 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -2.53796 v 3.02362 h 5.3726 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 2.67158 v 3.02362 h -11.17551 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -8.20725 v 3.02362 h 11.04189 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 8.34087 -0.3 -0.3 0.3 0.3" + embroider_manual_stitch="true" + style="fill:none;stroke:#002757;stroke-width:0.40000001" + transform="scale(0.264583)" + id="path13209" /> + </g> + <use + xlink:href="#inkstitch_ignore_layer" + y="-10" + x="0" + width="100%" + transform="matrix(0.264583,0,0,0.264583,106.57578,14.69152)" + id="useI" + height="100%" + inkscape:label="Ink/Stitch Command: ignore layer" /> + </g> +</svg> diff --git a/images/examples/True Blend.svg b/images/examples/True Blend.svg new file mode 100644 index 00000000..94bd521f --- /dev/null +++ b/images/examples/True Blend.svg @@ -0,0 +1,710 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + sodipodi:docname="True Blend.svg" + inkscape:version="0.92.3 (unknown)" + id="svg13258" + version="1.1" + viewBox="0 0 100 100" + height="100mm" + width="100mm"> + <sodipodi:namedview + inkscape:guide-bbox="true" + showguides="true" + inkscape:window-maximized="1" + inkscape:window-y="8" + inkscape:window-x="0" + inkscape:window-height="1052" + inkscape:window-width="1920" + inkscape:snap-global="false" + showgrid="false" + inkscape:current-layer="svg13258" + inkscape:document-units="mm" + inkscape:cy="162.87474" + inkscape:cx="250.65687" + inkscape:zoom="0.7" + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + borderopacity="1.0" + bordercolor="#666666" + pagecolor="#ffffff" + id="base" /> + <defs + id="defs13252"> + <symbol + id="inkstitch_fill_start"> + <title + id="inkstitch_title9432">Fill stitch starting point</title> + <path + id="inkstitch_circle13166-6" + d="m 9.2465269,-2.6e-6 c -1.9e-6,5.106729 -4.1398247,9.24655 -9.246554026709,9.24655 C -5.106756,9.2465474 -9.2465782,5.1067264 -9.2465801,-2.6e-6 c 2e-7,-5.10673 4.1398229,-9.246553 9.246552973291,-9.246553 2.452338526709,0 4.804235626709,0.974187 6.538300926709,2.708252 1.7340652,1.734066 2.708253,4.085963 2.7082531,6.538301 0,0 0,0 0,0" + style="opacity:1;vector-effect:none;fill:#fafafa;fill-opacity:1;fill-rule:evenodd;stroke:#003399;stroke-width:1.06501234;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3.19503705, 3.19503705;stroke-dashoffset:0;stroke-opacity:1" + inkscape:connector-curvature="0" /> + <path + style="opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.74180555;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + d="m 6.5728129,0.0035574 c 0,0 -10.4514,6.03412 -10.4514,6.03412 0,0 0,-12.06823 0,-12.06823 0,0 10.4514,6.03411 10.4514,6.03411" + id="inkstitch_path4183" + inkscape:connector-curvature="0" /> + </symbol> + <symbol + id="inkstitch_fill_end"> + <title + id="inkstitch_title9427">Fill stitch ending point</title> + <path + id="inkstitch_circle13166" + d="m 9.220113,0.0792309 c -1.9e-6,5.106729 -4.1398241,9.24655 -9.246553,9.24655 -5.1067293,0 -9.2465521,-4.139821 -9.246554,-9.24655 1e-7,-2.452338 0.9741879,-4.804235 2.7082531,-6.538301 1.7340653,-1.734065 4.0859624,-2.708252 6.5383009,-2.708252 5.1067301,0 9.2465528,4.139823 9.246553,9.246553 0,0 0,0 0,0" + style="opacity:1;vector-effect:none;fill:#fafafa;fill-opacity:1;fill-rule:evenodd;stroke:#003399;stroke-width:1.06500006;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3.19500017, 3.19500017;stroke-dashoffset:0;stroke-opacity:1" + inkscape:connector-curvature="0" /> + <path + style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.27154255;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:4.81866985, 4.81866985;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + d="m -4.570439,-4.5704391 c 0,0 9.140878,0 9.140878,0 0,0 0,9.14087 0,9.14087 0,0 -9.140878,0 -9.140878,0 0,0 0,-9.14087 0,-9.14087" + id="inkstitch_rect5371-2" + inkscape:connector-curvature="0" /> + </symbol> + <symbol + id="inkstitch_ignore_layer"> + <title + id="title25366">Ignore entire layer when generating stitch plan</title> + <path + inkscape:connector-curvature="0" + style="opacity:1;vector-effect:none;fill:#fafafa;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1.06501234;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3.19503705, 3.19503705;stroke-dashoffset:0;stroke-opacity:1" + d="M 9.2465269,-4.9265995e-6 C 9.246525,5.1067241 5.1067028,9.2465451 -2.615882e-5,9.2465451 -5.1067554,9.2465451 -9.2465782,5.1067241 -9.2465801,-4.9265995e-6 -9.24658,-2.4523429 -8.2723922,-4.8042399 -6.538327,-6.5383059 c 1.7340653,-1.734065 4.0859624,-2.708252 6.53830084118,-2.708252 5.10673015882,0 9.24655285882,4.139823 9.24655305882,9.2465529734005 0,0 0,0 0,0" + id="inkstitch_path25368-7" /> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + style="color:#000000;fill:#d5d5d5;fill-opacity:1;fill-rule:evenodd;stroke:#5a5a5a;stroke-width:0.63330007;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:0;stroke-opacity:1" + d="M 4,4.452769 1.46667,1.286102 H -5.5 l 2.53333,3.166667 z" + id="use5800" /> + <path + sodipodi:nodetypes="ccccc" + inkscape:connector-curvature="0" + style="color:#000000;opacity:0.5;fill:#d5d5d5;fill-opacity:1;fill-rule:evenodd;stroke:#858585;stroke-width:0.63339424;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:0;stroke-opacity:1" + d="M 4,2.552769 1.46667,-0.613898 H -5.5 l 2.53333,3.166667 z" + id="use5864" /> + <g + id="g5771"> + <path + sodipodi:nodetypes="ccccccccc" + inkscape:connector-curvature="0" + style="fill:#aa0000;fill-rule:evenodd;stroke:#aa0000;stroke-width:1px" + d="m -1.0666699,-5.0472339 h 4.4333333 l 0.6333333,0.6333333 V 0.01943274 L 3.3666634,0.65276607 H -1.0666699 L -1.7000032,0.01943274 V -4.4139006 Z" + id="path8011" /> + <path + inkscape:connector-curvature="0" + id="path8023" + d="m -0.43333658,-3.8755672 c 0,0 3.16666668,3.16666661 3.16666668,3.16666661" + style="fill:none;stroke:#ffffff;stroke-width:1.70000005" /> + <path + inkscape:connector-curvature="0" + id="path8025" + d="m 2.7333301,-3.8755672 c 0,0 -3.16666668,3.16666661 -3.16666668,3.16666661" + style="fill:none;stroke:#ffffff;stroke-width:1.79999995;stroke-linejoin:round" /> + </g> + </symbol> + </defs> + <metadata + id="metadata13255"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + <dc:creator> + <cc:Agent> + <dc:title>Evan West at Wild West Designs</dc:title> + </cc:Agent> + </dc:creator> + <dc:rights> + <cc:Agent> + <dc:title>License to Use</dc:title> + </cc:Agent> + </dc:rights> + <dc:publisher> + <cc:Agent> + <dc:title>Wild West Designs</dc:title> + </cc:Agent> + </dc:publisher> + <dc:source>www.wildwestdesigns.biz</dc:source> + </cc:Work> + </rdf:RDF> + </metadata> + <g + sodipodi:insensitive="true" + inkscape:label="Instructions" + id="layer7" + inkscape:groupmode="layer"> + <text + id="text13371" + y="27.42857" + x="121.51934" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:6.61458302px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="stroke-width:0.26458332px" + y="27.42857" + x="121.51934" + id="tspan13369" + sodipodi:role="line">100%</tspan></text> + <text + id="text13375" + y="27.050596" + x="151.0015" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:6.61458302px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="stroke-width:0.26458332px" + y="27.050596" + x="151.0015" + id="tspan13373" + sodipodi:role="line">0%</tspan></text> + <text + id="text13379" + y="38.200893" + x="122.27529" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:6.61458302px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="stroke-width:0.26458332px" + y="38.200893" + x="122.27529" + id="tspan13377" + sodipodi:role="line">75%</tspan></text> + <text + id="text13383" + y="38.578869" + x="151.19048" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:6.61458302px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="stroke-width:0.26458332px" + y="38.578869" + x="151.19048" + id="tspan13381" + sodipodi:role="line">25%</tspan></text> + <text + id="text13387" + y="50.863094" + x="123.40922" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:6.61458302px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="stroke-width:0.26458332px" + y="50.863094" + x="123.40922" + id="tspan13385" + sodipodi:role="line">25%</tspan></text> + <text + id="text13391" + y="51.430061" + x="153.26935" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:6.61458302px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="stroke-width:0.26458332px" + y="51.430061" + x="153.26935" + id="tspan13389" + sodipodi:role="line">75%</tspan></text> + <text + id="text13395" + y="63.14732" + x="123.7872" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:6.61458302px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="stroke-width:0.26458332px" + y="63.14732" + x="123.7872" + id="tspan13393" + sodipodi:role="line">0%</tspan></text> + <text + id="text13399" + y="63.714287" + x="152.13542" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:6.61458302px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="stroke-width:0.26458332px" + y="63.714287" + x="152.13542" + id="tspan13397" + sodipodi:role="line">100%</tspan></text> + <text + id="text13403" + y="26.672619" + x="180.29465" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:6.61458302px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="stroke-width:0.26458332px" + y="26.672619" + x="180.29465" + id="tspan13401" + sodipodi:role="line">=100%</tspan></text> + <text + id="text13403-7" + y="38.843464" + x="180.29465" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:6.61458349px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="stroke-width:0.26458332px" + y="38.843464" + x="180.29465" + id="tspan13401-1" + sodipodi:role="line">=100%</tspan></text> + <text + id="text13403-3" + y="51.014309" + x="180.29465" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:6.61458349px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="stroke-width:0.26458332px" + y="51.014309" + x="180.29465" + id="tspan13401-3" + sodipodi:role="line">=100%</tspan></text> + <text + id="text13403-38" + y="63.714317" + x="180.29465" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:6.61458349px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="stroke-width:0.26458332px" + y="63.714317" + x="180.29465" + id="tspan13401-5" + sodipodi:role="line">=100%</tspan></text> + <text + id="text13445" + y="106.42559" + x="31.56101" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:6.61458302px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="stroke-width:0.26458332px" + y="106.42559" + x="31.56101" + id="tspan13443" + sodipodi:role="line">Instructions</tspan></text> + <text + id="text13449" + y="116.25298" + x="0.94494045" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:6.61458302px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="stroke-width:0.26458332px" + y="116.25298" + x="0.94494045" + id="tspan13447" + sodipodi:role="line">1. Many of the conditions of faux blends</tspan><tspan + id="tspan13451" + style="stroke-width:0.26458332px" + y="122.86757" + x="0.94494045" + sodipodi:role="line">also apply here. Stitch angle, start/end</tspan><tspan + id="tspan13453" + style="stroke-width:0.26458332px" + y="129.48215" + x="0.94494045" + sodipodi:role="line">sequencing, typically go from light to </tspan><tspan + id="tspan13455" + style="stroke-width:0.26458332px" + y="136.09673" + x="0.94494045" + sodipodi:role="line">dark colors (depends on the design as</tspan><tspan + id="tspan13457" + style="stroke-width:0.26458332px" + y="142.71132" + x="0.94494045" + sodipodi:role="line">well)</tspan></text> + <text + id="text13461" + y="152.16071" + x="1.3229166" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:6.61458302px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="stroke-width:0.26458332px" + y="152.16071" + x="1.3229166" + id="tspan13459" + sodipodi:role="line">2. Biggest difference is math is involved</tspan><tspan + id="tspan13463" + style="stroke-width:0.26458332px" + y="158.77528" + x="1.3229166" + sodipodi:role="line">and the more complicated the blend, </tspan><tspan + id="tspan13465" + style="stroke-width:0.26458332px" + y="165.38988" + x="1.3229166" + sodipodi:role="line">the more complicated the math. Just</tspan><tspan + id="tspan13469" + style="stroke-width:0.26458332px" + y="172.00446" + x="1.3229166" + sodipodi:role="line">have to make sure that each layer for a</tspan><tspan + id="tspan13473" + style="stroke-width:0.26458332px" + y="178.61903" + x="1.3229166" + sodipodi:role="line">given section equals 100% of the </tspan><tspan + id="tspan13475" + style="stroke-width:0.26458332px" + y="185.23363" + x="1.3229166" + sodipodi:role="line">density for that section that you are </tspan><tspan + id="tspan13477" + style="stroke-width:0.26458332px" + y="191.84821" + x="1.3229166" + sodipodi:role="line">wanting.</tspan></text> + <text + id="text13481" + y="202.43153" + x="1.3229166" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:6.61458302px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="stroke-width:0.26458332px" + y="202.43153" + x="1.3229166" + id="tspan13479" + sodipodi:role="line">3. This can involve more layers of colors</tspan><tspan + id="tspan13483" + style="stroke-width:0.26458332px" + y="209.04611" + x="1.3229166" + sodipodi:role="line">and more increments of density</tspan><tspan + id="tspan13485" + style="stroke-width:0.26458332px" + y="215.66071" + x="1.3229166" + sodipodi:role="line">variation. The biggest factor is the </tspan><tspan + id="tspan13487" + style="stroke-width:0.26458332px" + y="222.27528" + x="1.3229166" + sodipodi:role="line">size/shape of the design and the </tspan><tspan + id="tspan13489" + style="stroke-width:0.26458332px" + y="228.88986" + x="1.3229166" + sodipodi:role="line">specifics of the project.</tspan></text> + <text + id="text13493" + y="238.71725" + x="1.5119048" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.93888855px;line-height:6.61458302px;font-family:sans-serif;-inkscape-font-specification:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="stroke-width:0.26458332px" + y="238.71725" + x="1.5119048" + id="tspan13491" + sodipodi:role="line">4. What makes this a true blend </tspan><tspan + id="tspan13495" + style="stroke-width:0.26458332px" + y="245.33183" + x="1.5119048" + sodipodi:role="line">compared to a faux blend is that each</tspan><tspan + id="tspan13497" + style="stroke-width:0.26458332px" + y="251.94643" + x="1.5119048" + sodipodi:role="line">section of the layers are actually </tspan><tspan + id="tspan13499" + style="stroke-width:0.26458332px" + y="258.561" + x="1.5119048" + sodipodi:role="line">mixing with each other.</tspan></text> + </g> + <g + style="display:inline" + inkscape:label="Base" + inkscape:groupmode="layer" + id="layer1" + transform="translate(0,-197)"> + <path + style="fill:#aacae6;fill-opacity:1;stroke:none;stroke-width:0.63499999;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + d="m 25.324406,219.51488 h 29.104166 v 12.47321 H 25.324406 Z" + id="rect17768-2" + inkscape:connector-curvature="0" /> + <path + style="fill:#aacae6;fill-opacity:1;stroke:none;stroke-width:0.63500005;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + d="m 25.324402,231.9881 h 29.104166 v 12.47321 H 25.324402 Z" + id="rect17768-3-7" + inkscape:connector-curvature="0" + embroider_row_spacing_mm=".8" /> + <path + style="fill:#aacae6;fill-opacity:1;stroke:none;stroke-width:0.63500005;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + d="M 25.324394,244.4613 H 54.42856 v 12.47322 H 25.324394 Z" + id="rect17768-6-0" + inkscape:connector-curvature="0" + embroider_row_spacing_mm="1.9" /> + <path + d="M 60.616829,73.667065 95.714411,87.301371" + id="connector" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-opacity:0.5" + transform="matrix(0.264583,0,0,0.264583,0,197)" + inkscape:connection-end="#rect17768-2" + inkscape:connection-start="#use" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" /> + <use + height="100%" + id="use" + transform="matrix(0.264583,0,0,0.264583,-31.183036,201.91369)" + width="100%" + x="178.47412" + y="55.095619" + xlink:href="#inkstitch_fill_start" /> + <path + d="m 243.63638,149.46052 -39.22923,-17.2219" + id="connectorA" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-opacity:0.5" + transform="matrix(0.264583,0,0,0.264583,0,197)" + inkscape:connection-end="#rect17768-2" + inkscape:connection-start="#useC" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" /> + <use + height="100%" + id="useC" + transform="matrix(0.264583,0,0,0.264583,36.852678,193.59821)" + width="100%" + x="104.37691" + y="162.23846" + xlink:href="#inkstitch_fill_end" /> + <path + inkscape:connector-curvature="0" + inkscape:connector-type="polyline" + inkscape:connection-start="#useS" + inkscape:connection-end="#rect17768-3-7" + transform="matrix(0.264583,0,0,0.264583,0,197)" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-opacity:0.5" + id="connectorw" + d="m 243.31217,115.80997 -38.03134,16.42868" /> + <use + xlink:href="#inkstitch_fill_start" + y="102.2385" + x="174.02637" + width="100%" + transform="matrix(0.264583,0,0,0.264583,18.331845,200.59078)" + id="useS" + height="100%" /> + <path + inkscape:connector-curvature="0" + inkscape:connector-type="polyline" + inkscape:connection-start="#useL" + inkscape:connection-end="#rect17768-3-7" + transform="matrix(0.264583,0,0,0.264583,0,197)" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-opacity:0.5" + id="connectorr" + d="M 60.829858,193.03197 95.714396,178.58603" /> + <use + xlink:href="#inkstitch_fill_end" + y="209.38135" + x="96.570602" + width="100%" + transform="matrix(0.264583,0,0,0.264583,-9.4494048,192.65327)" + id="useL" + height="100%" /> + <path + inkscape:connector-curvature="0" + inkscape:connector-type="polyline" + inkscape:connection-start="#usek" + inkscape:connection-end="#rect17768-6-0" + transform="matrix(0.264583,0,0,0.264583,0,197)" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-opacity:0.5" + id="connectora" + d="m 54.346572,162.95274 41.367794,17.17089" /> + <use + xlink:href="#inkstitch_fill_start" + y="149.38132" + x="171.48958" + width="100%" + transform="matrix(0.264583,0,0,0.264583,-30.994048,200.59077)" + id="usek" + height="100%" /> + <path + inkscape:connector-curvature="0" + inkscape:connector-type="polyline" + inkscape:connection-start="#useR" + inkscape:connection-end="#rect17768-6-0" + transform="matrix(0.264583,0,0,0.264583,0,197)" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-opacity:0.5" + id="connectorn" + d="M 244.48578,241.60341 205.7145,225.62277" /> + <use + xlink:href="#inkstitch_fill_end" + y="256.5242" + x="112.36917" + width="100%" + transform="matrix(0.264583,0,0,0.264583,34.962797,193.03125)" + id="useR" + height="100%" /> + </g> + <g + inkscape:label="Top Blend" + id="layer6" + inkscape:groupmode="layer" + style="display:inline"> + <path + inkscape:connector-curvature="0" + id="rect17768-62-9" + d="M 25.324406,34.988098 H 54.428572 V 47.461312 H 25.324406 Z" + style="display:inline;fill:#002244;fill-opacity:1;stroke:none;stroke-width:0.63500005;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + embroider_row_spacing_mm="1.9" /> + <path + inkscape:connector-curvature="0" + id="rect17768-3-9-3" + d="M 25.324402,47.461311 H 54.428568 V 59.934525 H 25.324402 Z" + style="display:inline;fill:#002244;fill-opacity:1;stroke:none;stroke-width:0.63500011;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + embroider_row_spacing_mm=".8" /> + <path + inkscape:connector-curvature="0" + id="rect17768-6-1-6" + d="M 25.324394,59.934525 H 54.42856 V 72.407739 H 25.324394 Z" + style="display:inline;fill:#002244;fill-opacity:1;stroke:none;stroke-width:0.63500011;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" /> + <path + inkscape:connector-curvature="0" + inkscape:connector-type="polyline" + inkscape:connection-start="#usef" + inkscape:connection-end="#rect17768-62-9" + transform="scale(0.264583)" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-opacity:0.5" + id="connectoraX" + d="m 49.812693,114.38136 45.901718,18.84655" /> + <use + xlink:href="#inkstitch_fill_start" + y="102.23849" + x="205.52718" + width="100%" + transform="matrix(0.264583,0,0,0.264583,-41.199405,3.2127976)" + id="usef" + height="100%" /> + <path + inkscape:connector-curvature="0" + inkscape:connector-type="polyline" + inkscape:connection-start="#useJ" + inkscape:connection-end="#rect17768-62-9" + transform="scale(0.264583)" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-opacity:0.5" + id="connectorz" + d="M 237.65307,193.74629 204.73334,179.38156" /> + <use + xlink:href="#inkstitch_fill_end" + y="209.38136" + x="131.25078" + width="100%" + transform="matrix(0.264583,0,0,0.264583,28.159226,-4.157738)" + id="useJ" + height="100%" /> + <path + inkscape:connector-curvature="0" + inkscape:connector-type="polyline" + inkscape:connection-start="#useO" + inkscape:connection-end="#rect17768-3-9-3" + transform="scale(0.264583)" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-opacity:0.5" + id="connectorU" + d="m 272.03558,150.09563 -67.21864,29.28593" /> + <use + xlink:href="#inkstitch_fill_start" + y="149.38135" + x="189.17833" + width="100%" + transform="matrix(0.264583,0,0,0.264583,21.922619,0.18898815)" + id="useO" + height="100%" /> + <path + inkscape:connector-curvature="0" + inkscape:connector-type="polyline" + inkscape:connection-start="#useg" + inkscape:connection-end="#rect17768-3-9-3" + transform="scale(0.264583)" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-opacity:0.5" + id="connectorN" + d="M 49.191359,247.3177 96.774095,226.52447" /> + <use + xlink:href="#inkstitch_fill_end" + y="256.5242" + x="102.78927" + width="100%" + transform="matrix(0.264583,0,0,0.264583,-14.174107,-2.4568453)" + id="useg" + height="100%" /> + <path + inkscape:connector-curvature="0" + inkscape:connector-type="polyline" + inkscape:connection-start="#user" + inkscape:connection-end="#rect17768-6-1-6" + transform="scale(0.264583)" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-opacity:0.5" + id="connectork" + d="m 40.125767,201.52422 56.920886,25.00025" /> + <use + xlink:href="#inkstitch_fill_start" + y="196.52422" + x="178.69737" + width="100%" + transform="matrix(0.264583,0,0,0.264583,-36.663691,1.3229167)" + id="user" + height="100%" /> + <path + inkscape:connector-curvature="0" + inkscape:connector-type="polyline" + inkscape:connection-start="#usev" + inkscape:connection-end="#rect17768-6-1-6" + transform="scale(0.264583)" + style="fill:none;stroke:#000000;stroke-width:1px;stroke-opacity:0.5" + id="connector9" + d="M 244.63092,288.74629 205.7145,272.73064" /> + <use + xlink:href="#inkstitch_fill_end" + y="303.66708" + x="96.085716" + width="100%" + transform="matrix(0.264583,0,0,0.264583,39.309524,-3.96875)" + id="usev" + height="100%" /> + </g> + <g + id="__inkstitch_stitch_plan__" + inkscape:groupmode="layer" + inkscape:label="Exploding View"> + <g + transform="translate(89.958371,-3.3127968)" + id="__color_block_0__" + inkscape:label="color block 1"> + <path + inkscape:connector-curvature="0" + d="m 95.714302,86.929134 h 0.3 0.3 -0.3 -0.3 6.332938 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33859 11.33858 1.61982 v 0.944882 H 195.59055 184.25197 172.91339 161.5748 150.23622 138.89764 127.55906 116.22047 104.88189 95.714302 v 0.944882 h 0.663651 11.338587 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 7.28911 v 0.944882 h -4.45447 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.338582 -3.498296 v 0.944881 h 6.332938 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33859 11.33858 1.61982 v 0.944882 H 195.59055 184.25197 172.91339 161.5748 150.23622 138.89764 127.55906 116.22047 104.88189 95.714302 v 0.944882 h 0.663651 11.338587 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 7.28911 v 0.944882 h -4.45447 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.338582 -3.498296 v 0.944882 h 6.332938 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33859 11.33858 1.61982 v 0.944882 H 195.59055 184.25197 172.91339 161.5748 150.23622 138.89764 127.55906 116.22047 104.88189 95.714302 v 0.944882 h 0.663651 11.338587 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 7.28911 v 0.944882 h -4.45447 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.338582 -3.498296 v 0.944882 h 6.332938 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33859 11.33858 1.61982 v 0.944881 H 195.59055 184.25197 172.91339 161.5748 150.23622 138.89764 127.55906 116.22047 104.88189 95.714302 v 0.944882 h 0.663651 11.338587 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 7.28911 v 0.94488 h -4.45447 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.338582 -3.498296 v 0.94488 h 6.332938 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33859 11.33858 1.61982 v 0.94489 H 195.59055 184.25197 172.91339 161.5748 150.23622 138.89764 127.55906 116.22047 104.88189 95.714302 v 0.94488 h 0.663651 11.338587 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 7.28911 v 0.94488 h -4.45447 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.338582 -3.498296 v 0.94488 h 6.332938 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33859 11.33858 1.61982 v 0.94488 H 195.59055 184.25197 172.91339 161.5748 150.23622 138.89764 127.55906 116.22047 104.88189 95.714302 v 0.94489 h 0.663651 11.338587 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 7.28911 v 0.94488 h -4.45447 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.338582 -3.498296 v 0.94488 h 6.332938 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33859 11.33858 1.61982 v 0.94488 H 195.59055 184.25197 172.91339 161.5748 150.23622 138.89764 127.55906 116.22047 104.88189 95.714302 v 0.94488 h 0.663651 11.338587 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 7.28911 v 0.94488 h -4.45447 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.338582 -3.498296 v 0.94489 h 6.332938 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33859 11.33858 1.61982 v 0.94488 H 195.59055 184.25197 172.91339 161.5748 150.23622 138.89764 127.55906 116.22047 104.88189 95.714302 v 0.94488 h 0.663651 11.338587 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 7.28911 v 0.94488 h -4.45447 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.338582 -3.498296 v 0.94488 h 6.332938 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33859 11.33858 1.61982 v 0.94489 H 195.59055 184.25197 172.91339 161.5748 150.23622 138.89764 127.55906 116.22047 104.88189 95.714302 v 0.94488 h 0.663651 11.338587 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 7.28911 V 120 h -4.45447 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.338582 -3.498296 v 0.94488 h 6.332938 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33859 11.33858 1.61982 v 0.94488 H 195.59055 184.25197 172.91339 161.5748 150.23622 138.89764 127.55906 116.22047 104.88189 95.714302 v 0.94489 h 0.663651 11.338587 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 7.28911 v 0.94488 h -4.45447 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.338582 -3.498296 v 0.94488 h 6.332938 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33859 11.33858 1.61982 v 0.94488 H 195.59055 184.25197 172.91339 161.5748 150.23622 138.89764 127.55906 116.22047 104.88189 95.714302 v 0.94488 h 0.663651 11.338587 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 7.28911 v 0.94489 h -4.45447 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.338582 -3.498296 v 0.94488 h 6.332938 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33859 11.33858 1.61982 v 0.94488 H 195.59055 184.25197 172.91339 161.5748 150.23622 138.89764 127.55906 116.22047 104.88189 95.714302 v 0.94488 h 0.663651 11.338587 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 7.28911 v 0.94488 H 201.25984 189.92126 178.58268 167.24409 155.90551 144.56693 133.22835 121.88976 110.55118 99.212598 95.714302 V 125.66929 120 v -5.66929 -5.66929 -5.66929 -5.669295 -5.669292 -5.669291 l 4.780658,-0.888633 h 5.66929 5.66929 5.66929 5.6693 5.66929 5.66929 5.66929 5.66929 5.66929 5.66929 5.6693 5.66929 5.66929 5.66929 5.66929 5.66929 5.66929 5.66929 l 3.17211,0.888633 h -4.45447 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.338582 -3.498296 l 4.780658,-0.888633 h 5.66929 5.66929 5.66929 5.6693 5.66929 5.66929 5.66929 5.66929 5.66929 5.66929 5.6693 5.66929 5.66929 5.66929 5.66929 5.66929 5.66929 5.66929 l 3.17211,2.497184 v 5.669292 5.669291 5.669294 5.66929 5.66929 5.66929 5.66929 4.06074 l -1e-5,1.70079 h -1.61981 -11.33858 -11.33859 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -6.332954 v 3.02362 h 9.167604 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 10.12375 l -1.84481,-3.82449 h -5.66929 -5.66929 -5.66929 -5.66929 -5.66929 -5.66929 -5.6693 -5.66929 -5.66929 -5.66929 -5.66929 -5.66929 -5.66929 -5.66929 -5.6693 -5.66929 -5.66929 -5.66929 -5.669292 l -0.438672,5.23062 v 1.61749 h 0.663667 11.338587 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 7.2891 v 3.02363 h -4.45446 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.338582 -3.498312 v 3.02362 h 6.332954 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33859 11.33858 1.61981 v 3.02362 H 195.59055 184.25197 172.91339 161.5748 150.23622 138.89764 127.55906 116.22047 104.88189 95.714286 v 3.02362 h 0.663667 11.338587 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 7.2891 v 3.02362 h -4.45446 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.338582 -3.498312 v 3.02363 h 6.332954 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33859 11.33858 1.61981 v 3.02362 H 195.59055 184.25197 172.91339 161.5748 150.23622 138.89764 127.55906 116.22047 104.88189 95.714286 v 3.02362 h 0.663667 11.338587 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 7.2891 v 3.02362 h -4.45446 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.338582 -3.498312 v 3.02362 h 6.332954 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33859 11.33858 1.61981 v 3.02363 H 195.59055 184.25197 172.91339 161.5748 150.23622 138.89764 127.55906 116.22047 104.88189 95.714286 v 3.02362 h 0.663667 11.338587 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 7.2891 v 3.02362 h -4.45446 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.338582 -3.498312 l -3e-5,1.13386 h 9.167634 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 10.12372 v 5.66929 1.51181 H 198.4252 187.08661 175.74803 164.40945 153.07087 141.73228 130.3937 119.05512 107.71654 96.377953 95.714256 v 5.66929 1.51181 h 3.498342 11.338582 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 4.45443 v 5.6693 1.51181 h -1.61978 -11.33858 -11.33859 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -6.332984 v 5.66929 1.51181 h 9.167634 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 10.12372 v 5.66929 1.51181 H 198.4252 187.08661 175.74803 164.40945 153.07087 141.73228 130.3937 119.05512 107.71654 96.377953 95.714256 v 5.66929 1.51181 h 3.498342 11.338582 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 4.45443 -0.3 -0.3 0.3 0.3" + embroider_manual_stitch="true" + style="fill:none;stroke:#aac9e5;stroke-width:0.40000001" + transform="scale(0.264583)" + id="path18731" /> + </g> + <g + transform="translate(119.0625,-3.2127976)" + id="__color_block_1__" + inkscape:label="color block 2"> + <path + inkscape:connector-curvature="0" + d="m 95.714302,136.44094 h 0.3 0.3 -0.3 -0.3 3.498296 11.338582 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 4.45447 v 5.6693 1.51181 h -1.61982 -11.33858 -11.33859 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -6.332938 v 5.66929 1.51181 h 9.167588 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 10.12376 v 5.66929 1.51181 H 198.4252 187.08661 175.74803 164.40945 153.07087 141.73228 130.3937 119.05512 107.71654 96.377953 95.714302 v 5.66929 1.51181 h 3.498296 11.338582 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 4.45447 v 5.6693 1.51181 h -1.61982 -11.33858 -11.33859 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -6.332938 v 5.66929 l 4.303678,1.36561 h 5.66929 5.6693 5.66929 5.66929 5.66929 5.66929 5.66929 5.66929 5.6693 5.66929 5.66929 5.66929 5.66929 5.66929 5.66929 5.66929 5.6693 5.66929 l 3.64908,-2.02021 v -5.01469 l -1e-5,9.07086 h -1.61981 -11.33858 -11.33859 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -6.332954 v 3.02362 h 9.167604 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 10.12375 l -0.6097,-5.05959 h -5.66929 -5.6693 -5.66929 -5.66929 -5.66929 -5.66929 -5.66929 -5.66929 -5.6693 -5.66929 -5.66929 -5.66929 -5.66929 -5.66929 -5.66929 -5.66929 -5.6693 -5.66929 -5.669289 l -1.673775,3.99552 v 4.0877 h 0.663667 11.338587 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 7.2891 v 3.02362 h -4.45446 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.338582 -3.498312 v 3.02362 h 6.332954 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33859 11.33858 1.61981 v 3.02362 H 195.59055 184.25197 172.91339 161.5748 150.23622 138.89764 127.55906 116.22047 104.88189 95.714286 v 3.02363 h 0.663667 11.338587 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 7.2891 v 3.02362 h -4.45446 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.338582 -3.498312 v 3.02362 h 6.332954 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33859 11.33858 1.61981 v 3.02362 H 195.59055 184.25197 172.91339 161.5748 150.23622 138.89764 127.55906 116.22047 104.88189 95.714286 v 3.02362 h 0.663667 11.338587 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 7.2891 v 3.02363 h -4.45446 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -11.33858 -11.338582 -3.498312 v 3.02362 h 6.332954 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33859 11.33858 1.61981 v 3.02362 H 195.59055 184.25197 172.91339 161.5748 150.23622 138.89764 127.55906 116.22047 104.88189 95.714286 v 3.02362 h 0.663667 11.338587 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 7.2891 l -2.89311,2.77619 h -5.66929 -5.66929 -5.66929 -5.6693 -5.66929 -5.66929 -5.66929 -5.66929 -5.66929 -5.66929 -5.6693 -5.66929 -5.66929 -5.66929 -5.66929 -5.66929 -5.66929 -5.66929 l -5.059664,-0.60964 v -2.16655 l -3e-5,3.02362 h 6.332984 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 11.33859 11.33858 1.61978 l -5.42186,-0.24743 h -5.66929 -5.66929 -5.66929 -5.66929 -5.66929 -5.66929 -5.6693 -5.66929 -5.66929 -5.66929 -5.66929 -5.66929 -5.66929 -5.6693 -5.66929 -5.66929 -5.66929 -5.669291 l -2.530913,1.19232 h 9.167634 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 10.12372 v 0.94488 H 198.4252 187.08661 175.74803 164.40945 153.07087 141.73228 130.3937 119.05512 107.71654 96.377953 95.714256 v 0.94488 h 3.498342 11.338582 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 4.45443 v 0.94488 h -1.61978 -11.33858 -11.33859 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -6.332984 v 0.94488 h 9.167634 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 10.12372 v 0.94488 H 198.4252 187.08661 175.74803 164.40945 153.07087 141.73228 130.3937 119.05512 107.71654 96.377953 95.714256 v 0.94489 h 3.498342 11.338582 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 4.45443 v 0.94488 h -1.61978 -11.33858 -11.33859 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -6.332984 v 0.94488 h 9.167634 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 10.12372 v 0.94488 H 198.4252 187.08661 175.74803 164.40945 153.07087 141.73228 130.3937 119.05512 107.71654 96.377953 95.714256 v 0.94488 h 3.498342 11.338582 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 4.45443 v 0.94489 h -1.61978 -11.33858 -11.33859 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -6.332984 v 0.94488 h 9.167634 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 10.12372 V 240 H 198.4252 187.08661 175.74803 164.40945 153.07087 141.73228 130.3937 119.05512 107.71654 96.377953 95.714256 v 0.94488 h 3.498342 11.338582 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 4.45443 v 0.94488 h -1.61978 -11.33858 -11.33859 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -6.332984 v 0.94489 h 9.167634 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 10.12372 v 0.94488 H 198.4252 187.08661 175.74803 164.40945 153.07087 141.73228 130.3937 119.05512 107.71654 96.377953 95.714256 v 0.94488 h 3.498342 11.338582 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 4.45443 v 0.94488 h -1.61978 -11.33858 -11.33859 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -6.332984 v 0.94488 h 9.167634 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 10.12372 v 0.94489 H 198.4252 187.08661 175.74803 164.40945 153.07087 141.73228 130.3937 119.05512 107.71654 96.377953 95.714256 v 0.94488 h 3.498342 11.338582 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 4.45443 v 0.94488 h -1.61978 -11.33858 -11.33859 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -6.332984 v 0.94488 h 9.167634 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 10.12372 v 0.94488 H 198.4252 187.08661 175.74803 164.40945 153.07087 141.73228 130.3937 119.05512 107.71654 96.377953 95.714256 v 0.94488 h 3.498342 11.338582 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 4.45443 v 0.94489 h -1.61978 -11.33858 -11.33859 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -6.332984 v 0.94488 h 9.167634 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 10.12372 v 0.94488 H 198.4252 187.08661 175.74803 164.40945 153.07087 141.73228 130.3937 119.05512 107.71654 96.377953 95.714256 v 0.94488 h 3.498342 11.338582 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 4.45443 v 0.94488 h -1.61978 -11.33858 -11.33859 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -6.332984 v 0.94489 h 9.167634 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 10.12372 v 0.94488 H 198.4252 187.08661 175.74803 164.40945 153.07087 141.73228 130.3937 119.05512 107.71654 96.377953 95.714256 v 0.94488 h 3.498342 11.338582 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 4.45443 v 0.94488 h -1.61978 -11.33858 -11.33859 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -6.332984 v 0.94488 h 9.167634 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 10.12372 v 0.94489 H 198.4252 187.08661 175.74803 164.40945 153.07087 141.73228 130.3937 119.05512 107.71654 96.377953 95.714256 v 0.94488 h 3.498342 11.338582 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 4.45443 v 0.94488 h -1.61978 -11.33858 -11.33859 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -6.332984 v 0.94488 h 9.167634 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 10.12372 v 0.94488 H 198.4252 187.08661 175.74803 164.40945 153.07087 141.73228 130.3937 119.05512 107.71654 96.377953 95.714256 v 0.94488 h 3.498342 11.338582 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 4.45443 v 0.94489 h -1.61978 -11.33858 -11.33859 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -6.332984 v 0.94488 h 9.167634 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 10.12372 v 0.94488 H 198.4252 187.08661 175.74803 164.40945 153.07087 141.73228 130.3937 119.05512 107.71654 96.377953 95.714256 v 0.94488 h 3.498342 11.338582 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 4.45443 v 0.94488 h -1.61978 -11.33858 -11.33859 -11.33858 -11.33858 -11.33859 -11.33858 -11.33858 -11.33858 -11.33859 -6.332984 v 0.94489 h 9.167634 11.33858 11.33859 11.33858 11.33858 11.33858 11.33859 11.33858 11.33858 10.12372 -0.3 -0.3 0.3 0.3" + embroider_manual_stitch="true" + style="fill:none;stroke:#002144;stroke-width:0.40000001" + transform="scale(0.264583)" + id="path18734" /> + </g> + <use + xlink:href="#inkstitch_ignore_layer" + y="-10" + x="0" + width="100%" + transform="matrix(0.264583,0,0,0.264583,119.0625,3.4017857)" + id="useX" + height="100%" + inkscape:label="Ink/Stitch Command: ignore layer" /> + </g> +</svg> diff --git a/inx/inkstitch_embroider.inx b/inx/inkstitch_embroider.inx deleted file mode 100644 index 70bc10b0..00000000 --- a/inx/inkstitch_embroider.inx +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>Embroider</_name> - <id>jonh.embroider</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="Collapse length (mm)" _gui-description="Jump stitches smaller than this will be treated as normal stitches.">3.0</param> - <param name="hide_layers" type="boolean" _gui-text="Hide other layers" _gui-description="Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernable.">true</param> - <param name="output_format" type="optiongroup" _gui-text="Output file format" appearance="minimal"> - <_option value="dst">Tajima Embroidery Format (DST)</_option> - <_option value="exp">Melco Embroidery Format (EXP)</_option> - <_option value="jef">Janome Embroidery Format (JEF)</_option> - <_option value="pec">Brother Embroidery Format (PEC)</_option> - <_option value="pes">Brother Embroidery Format (PES)</_option> - <_option value="vp3">Pfaff Embroidery Format (VP3)</_option> - <_option value="csv">Comma-separated values (CSV) [DEBUG]</_option> - <_option value="svg">Scalable Vector Graphics (SVG) [DEBUG]</_option> - </param> - <param name="path" type="string" _gui-text="Directory" _gui-description="Leave empty to save the output in Inkscape's extension directory."></param> - <param name="extension" type="string" gui-hidden="true">embroider</param> - <effect> - <object-type>all</object-type> - <effects-menu> - <submenu _name="Embroidery"/> - </effects-menu> - </effect> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_input_100.inx b/inx/inkstitch_input_100.inx deleted file mode 100644 index def2011d..00000000 --- a/inx/inkstitch_input_100.inx +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>100 file input</_name> - <id>org.inkstitch.input.100</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <input> - <extension>.100</extension> - <mimetype>application/x-embroidery-100</mimetype> - <_filetypename>Ink/Stitch: Toyota Embroidery Format (.100)</_filetypename> - <_filetypetooltip>convert 100 file to Ink/Stitch manual-stitch paths</_filetypetooltip> - </input> - <param name="extension" type="string" gui-hidden="true">input</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_input_10O.inx b/inx/inkstitch_input_10O.inx deleted file mode 100644 index 29b14397..00000000 --- a/inx/inkstitch_input_10O.inx +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>10O file input</_name> - <id>org.inkstitch.input.10o</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <input> - <extension>.10o</extension> - <mimetype>application/x-embroidery-10o</mimetype> - <_filetypename>Ink/Stitch: Toyota Embroidery Format (.10o)</_filetypename> - <_filetypetooltip>convert 10O file to Ink/Stitch manual-stitch paths</_filetypetooltip> - </input> - <param name="extension" type="string" gui-hidden="true">input</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_input_BRO.inx b/inx/inkstitch_input_BRO.inx deleted file mode 100644 index 928195a6..00000000 --- a/inx/inkstitch_input_BRO.inx +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>BRO file input</_name> - <id>org.inkstitch.input.bro</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <input> - <extension>.bro</extension> - <mimetype>application/x-embroidery-bro</mimetype> - <_filetypename>Ink/Stitch: Bits & Volts Embroidery Format (.bro)</_filetypename> - <_filetypetooltip>convert BRO file to Ink/Stitch manual-stitch paths</_filetypetooltip> - </input> - <param name="extension" type="string" gui-hidden="true">input</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_input_DSB.inx b/inx/inkstitch_input_DSB.inx deleted file mode 100644 index c78e1c2d..00000000 --- a/inx/inkstitch_input_DSB.inx +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>DSB file input</_name> - <id>org.inkstitch.input.dsb</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <input> - <extension>.dsb</extension> - <mimetype>application/x-embroidery-dsb</mimetype> - <_filetypename>Ink/Stitch: Tajima(Barudan) Embroidery Format (.dsb)</_filetypename> - <_filetypetooltip>convert DSB file to Ink/Stitch manual-stitch paths</_filetypetooltip> - </input> - <param name="extension" type="string" gui-hidden="true">input</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_input_DST.inx b/inx/inkstitch_input_DST.inx deleted file mode 100644 index b3eee601..00000000 --- a/inx/inkstitch_input_DST.inx +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>DST file input</_name> - <id>org.inkstitch.input.dst</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <input> - <extension>.dst</extension> - <mimetype>application/x-embroidery-dst</mimetype> - <_filetypename>Ink/Stitch: Tajima Embroidery Format (.dst)</_filetypename> - <_filetypetooltip>convert DST file to Ink/Stitch manual-stitch paths</_filetypetooltip> - </input> - <param name="extension" type="string" gui-hidden="true">input</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_input_DSZ.inx b/inx/inkstitch_input_DSZ.inx deleted file mode 100644 index 388aeda0..00000000 --- a/inx/inkstitch_input_DSZ.inx +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>DSZ file input</_name> - <id>org.inkstitch.input.dsz</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <input> - <extension>.dsz</extension> - <mimetype>application/x-embroidery-dsz</mimetype> - <_filetypename>Ink/Stitch: ZSK USA Embroidery Format (.dsz)</_filetypename> - <_filetypetooltip>convert DSZ file to Ink/Stitch manual-stitch paths</_filetypetooltip> - </input> - <param name="extension" type="string" gui-hidden="true">input</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_input_EMD.inx b/inx/inkstitch_input_EMD.inx deleted file mode 100644 index c05da24f..00000000 --- a/inx/inkstitch_input_EMD.inx +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>EMD file input</_name> - <id>org.inkstitch.input.emd</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <input> - <extension>.emd</extension> - <mimetype>application/x-embroidery-emd</mimetype> - <_filetypename>Ink/Stitch: Elna Embroidery Format (.emd)</_filetypename> - <_filetypetooltip>convert EMD file to Ink/Stitch manual-stitch paths</_filetypetooltip> - </input> - <param name="extension" type="string" gui-hidden="true">input</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_input_EXP.inx b/inx/inkstitch_input_EXP.inx deleted file mode 100644 index 2c5997d5..00000000 --- a/inx/inkstitch_input_EXP.inx +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>EXP file input</_name> - <id>org.inkstitch.input.exp</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <input> - <extension>.exp</extension> - <mimetype>application/x-embroidery-exp</mimetype> - <_filetypename>Ink/Stitch: Melco Embroidery Format (.exp)</_filetypename> - <_filetypetooltip>convert EXP file to Ink/Stitch manual-stitch paths</_filetypetooltip> - </input> - <param name="extension" type="string" gui-hidden="true">input</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_input_INB.inx b/inx/inkstitch_input_INB.inx deleted file mode 100644 index 7409a853..00000000 --- a/inx/inkstitch_input_INB.inx +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>INB file input</_name> - <id>org.inkstitch.input.inb</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <input> - <extension>.inb</extension> - <mimetype>application/x-embroidery-inb</mimetype> - <_filetypename>Ink/Stitch: Inbro Embroidery Format (.inb)</_filetypename> - <_filetypetooltip>convert INB file to Ink/Stitch manual-stitch paths</_filetypetooltip> - </input> - <param name="extension" type="string" gui-hidden="true">input</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_input_JEF.inx b/inx/inkstitch_input_JEF.inx deleted file mode 100644 index 364e969f..00000000 --- a/inx/inkstitch_input_JEF.inx +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>JEF file input</_name> - <id>org.inkstitch.input.jef</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <input> - <extension>.jef</extension> - <mimetype>application/x-embroidery-jef</mimetype> - <_filetypename>Ink/Stitch: Janome Embroidery Format (.jef)</_filetypename> - <_filetypetooltip>convert JEF file to Ink/Stitch manual-stitch paths</_filetypetooltip> - </input> - <param name="extension" type="string" gui-hidden="true">input</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_input_KSM.inx b/inx/inkstitch_input_KSM.inx deleted file mode 100644 index b01eb195..00000000 --- a/inx/inkstitch_input_KSM.inx +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>KSM file input</_name> - <id>org.inkstitch.input.ksm</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <input> - <extension>.ksm</extension> - <mimetype>application/x-embroidery-ksm</mimetype> - <_filetypename>Ink/Stitch: Pfaff Embroidery Format (.ksm)</_filetypename> - <_filetypetooltip>convert KSM file to Ink/Stitch manual-stitch paths</_filetypetooltip> - </input> - <param name="extension" type="string" gui-hidden="true">input</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_input_PEC.inx b/inx/inkstitch_input_PEC.inx deleted file mode 100644 index 885c0125..00000000 --- a/inx/inkstitch_input_PEC.inx +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>PEC file input</_name> - <id>org.inkstitch.input.pec</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <input> - <extension>.pec</extension> - <mimetype>application/x-embroidery-pec</mimetype> - <_filetypename>Ink/Stitch: Brother Embroidery Format (.pec)</_filetypename> - <_filetypetooltip>convert PEC file to Ink/Stitch manual-stitch paths</_filetypetooltip> - </input> - <param name="extension" type="string" gui-hidden="true">input</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_input_PES.inx b/inx/inkstitch_input_PES.inx deleted file mode 100644 index 6faa06be..00000000 --- a/inx/inkstitch_input_PES.inx +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>PES file input</_name> - <id>org.inkstitch.input.pes</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <input> - <extension>.pes</extension> - <mimetype>application/x-embroidery-pes</mimetype> - <_filetypename>Ink/Stitch: Brother Embroidery Format (.pes)</_filetypename> - <_filetypetooltip>convert PES file to Ink/Stitch manual-stitch paths</_filetypetooltip> - </input> - <param name="extension" type="string" gui-hidden="true">input</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_input_SEW.inx b/inx/inkstitch_input_SEW.inx deleted file mode 100644 index a7661c97..00000000 --- a/inx/inkstitch_input_SEW.inx +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>SEW file input</_name> - <id>org.inkstitch.input.sew</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <input> - <extension>.sew</extension> - <mimetype>application/x-embroidery-sew</mimetype> - <_filetypename>Ink/Stitch: Janome Embroidery Format (.sew)</_filetypename> - <_filetypetooltip>convert SEW file to Ink/Stitch manual-stitch paths</_filetypetooltip> - </input> - <param name="extension" type="string" gui-hidden="true">input</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_input_SHV.inx b/inx/inkstitch_input_SHV.inx deleted file mode 100644 index 7aad470c..00000000 --- a/inx/inkstitch_input_SHV.inx +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>SHV file input</_name> - <id>org.inkstitch.input.shv</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <input> - <extension>.shv</extension> - <mimetype>application/x-embroidery-shv</mimetype> - <_filetypename>Ink/Stitch: Husqvarna Viking Embroidery Format (.shv)</_filetypename> - <_filetypetooltip>convert SHV file to Ink/Stitch manual-stitch paths</_filetypetooltip> - </input> - <param name="extension" type="string" gui-hidden="true">input</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_input_STX.inx b/inx/inkstitch_input_STX.inx deleted file mode 100644 index 3f1a3065..00000000 --- a/inx/inkstitch_input_STX.inx +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>STX file input</_name> - <id>org.inkstitch.input.stx</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <input> - <extension>.stx</extension> - <mimetype>application/x-embroidery-stx</mimetype> - <_filetypename>Ink/Stitch: Data Stitch Embroidery Format (.stx)</_filetypename> - <_filetypetooltip>convert STX file to Ink/Stitch manual-stitch paths</_filetypetooltip> - </input> - <param name="extension" type="string" gui-hidden="true">input</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_input_TAP.inx b/inx/inkstitch_input_TAP.inx deleted file mode 100644 index bf299130..00000000 --- a/inx/inkstitch_input_TAP.inx +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>TAP file input</_name> - <id>org.inkstitch.input.tap</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <input> - <extension>.tap</extension> - <mimetype>application/x-embroidery-tap</mimetype> - <_filetypename>Ink/Stitch: Happy Embroidery Format (.tap)</_filetypename> - <_filetypetooltip>convert TAP file to Ink/Stitch manual-stitch paths</_filetypetooltip> - </input> - <param name="extension" type="string" gui-hidden="true">input</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_input_TBF.inx b/inx/inkstitch_input_TBF.inx deleted file mode 100644 index e2b72ec9..00000000 --- a/inx/inkstitch_input_TBF.inx +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>TBF file input</_name> - <id>org.inkstitch.input.tbf</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <input> - <extension>.tbf</extension> - <mimetype>application/x-embroidery-tbf</mimetype> - <_filetypename>Ink/Stitch: Tajima Embroidery Format (.tbf)</_filetypename> - <_filetypetooltip>convert TBF file to Ink/Stitch manual-stitch paths</_filetypetooltip> - </input> - <param name="extension" type="string" gui-hidden="true">input</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_input_U01.inx b/inx/inkstitch_input_U01.inx deleted file mode 100644 index befadd5b..00000000 --- a/inx/inkstitch_input_U01.inx +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>U01 file input</_name> - <id>org.inkstitch.input.u01</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <input> - <extension>.u01</extension> - <mimetype>application/x-embroidery-u01</mimetype> - <_filetypename>Ink/Stitch: Barudan Embroidery Format (.u01)</_filetypename> - <_filetypetooltip>convert U01 file to Ink/Stitch manual-stitch paths</_filetypetooltip> - </input> - <param name="extension" type="string" gui-hidden="true">input</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_input_VP3.inx b/inx/inkstitch_input_VP3.inx deleted file mode 100644 index b39f630a..00000000 --- a/inx/inkstitch_input_VP3.inx +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>VP3 file input</_name> - <id>org.inkstitch.input.vp3</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <input> - <extension>.vp3</extension> - <mimetype>application/x-embroidery-vp3</mimetype> - <_filetypename>Ink/Stitch: Pfaff Embroidery Format (.vp3)</_filetypename> - <_filetypetooltip>convert VP3 file to Ink/Stitch manual-stitch paths</_filetypetooltip> - </input> - <param name="extension" type="string" gui-hidden="true">input</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_input_XXX.inx b/inx/inkstitch_input_XXX.inx deleted file mode 100644 index 6e8e501e..00000000 --- a/inx/inkstitch_input_XXX.inx +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>XXX file input</_name> - <id>org.inkstitch.input.xxx</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <input> - <extension>.xxx</extension> - <mimetype>application/x-embroidery-xxx</mimetype> - <_filetypename>Ink/Stitch: Singer Embroidery Format (.xxx)</_filetypename> - <_filetypetooltip>convert XXX file to Ink/Stitch manual-stitch paths</_filetypetooltip> - </input> - <param name="extension" type="string" gui-hidden="true">input</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_layer_commands.inx b/inx/inkstitch_layer_commands.inx deleted file mode 100644 index 7eadd094..00000000 --- a/inx/inkstitch_layer_commands.inx +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>Add Layer Commands</_name> - <id>org.inkstitch.layer_commands</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <param name="description" type="description">Commands will be added to the currently-selected layer.</param> - <param name="ignore_layer" type="boolean" _gui-text="Ignore layer (do not stitch any objects in this layer)">false</param> - <param name="extension" type="string" gui-hidden="true">layer_commands</param> - <effect> - <object-type>all</object-type> - <effects-menu> - <submenu _name="Embroidery" /> - </effects-menu> - </effect> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_output_DST.inx b/inx/inkstitch_output_DST.inx deleted file mode 100644 index fa034f40..00000000 --- a/inx/inkstitch_output_DST.inx +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>DST file output</_name> - <id>org.inkstitch.output.dst</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <output> - <extension>.dst</extension> - <mimetype>application/x-embroidery-dst</mimetype> - <_filetypename>Ink/Stitch: Tajima Embroidery Format (.dst)</_filetypename> - <_filetypetooltip>Save design in DST format using Ink/Stitch</_filetypetooltip> - <dataloss>true</dataloss> - </output> - <param name="extension" type="string" gui-hidden="true">output</param> - <param name="format" type="string" gui-hidden="true">dst</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_output_EXP.inx b/inx/inkstitch_output_EXP.inx deleted file mode 100644 index 853bab9f..00000000 --- a/inx/inkstitch_output_EXP.inx +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>EXP file output</_name> - <id>org.inkstitch.output.exp</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <output> - <extension>.exp</extension> - <mimetype>application/x-embroidery-exp</mimetype> - <_filetypename>Ink/Stitch: Melco Embroidery Format (.exp)</_filetypename> - <_filetypetooltip>Save design in EXP format using Ink/Stitch</_filetypetooltip> - <dataloss>true</dataloss> - </output> - <param name="extension" type="string" gui-hidden="true">output</param> - <param name="format" type="string" gui-hidden="true">exp</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_output_JEF.inx b/inx/inkstitch_output_JEF.inx deleted file mode 100644 index 74b752fc..00000000 --- a/inx/inkstitch_output_JEF.inx +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>JEF file output</_name> - <id>org.inkstitch.output.jef</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <output> - <extension>.jef</extension> - <mimetype>application/x-embroidery-jef</mimetype> - <_filetypename>Ink/Stitch: Janome Embroidery Format (.jef)</_filetypename> - <_filetypetooltip>Save design in JEF format using Ink/Stitch</_filetypetooltip> - <dataloss>true</dataloss> - </output> - <param name="extension" type="string" gui-hidden="true">output</param> - <param name="format" type="string" gui-hidden="true">jef</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_output_PEC.inx b/inx/inkstitch_output_PEC.inx deleted file mode 100644 index 6d76b165..00000000 --- a/inx/inkstitch_output_PEC.inx +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>PEC file output</_name> - <id>org.inkstitch.output.pec</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <output> - <extension>.pec</extension> - <mimetype>application/x-embroidery-pec</mimetype> - <_filetypename>Ink/Stitch: Brother Embroidery Format (.pec)</_filetypename> - <_filetypetooltip>Save design in PEC format using Ink/Stitch</_filetypetooltip> - <dataloss>true</dataloss> - </output> - <param name="extension" type="string" gui-hidden="true">output</param> - <param name="format" type="string" gui-hidden="true">pec</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_output_PES.inx b/inx/inkstitch_output_PES.inx deleted file mode 100644 index b821225a..00000000 --- a/inx/inkstitch_output_PES.inx +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>PES file output</_name> - <id>org.inkstitch.output.pes</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <output> - <extension>.pes</extension> - <mimetype>application/x-embroidery-pes</mimetype> - <_filetypename>Ink/Stitch: Brother Embroidery Format (.pes)</_filetypename> - <_filetypetooltip>Save design in PES format using Ink/Stitch</_filetypetooltip> - <dataloss>true</dataloss> - </output> - <param name="extension" type="string" gui-hidden="true">output</param> - <param name="format" type="string" gui-hidden="true">pes</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_output_VP3.inx b/inx/inkstitch_output_VP3.inx deleted file mode 100644 index 11843420..00000000 --- a/inx/inkstitch_output_VP3.inx +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>VP3 file output</_name> - <id>org.inkstitch.output.vp3</id> - <dependency type="executable" location="extensions">inkstitch.py</dependency> - <dependency type="executable" location="extensions">inkex.py</dependency> - <output> - <extension>.vp3</extension> - <mimetype>application/x-embroidery-vp3</mimetype> - <_filetypename>Ink/Stitch: Pfaff Embroidery Format (.vp3)</_filetypename> - <_filetypetooltip>Save design in VP3 format using Ink/Stitch</_filetypetooltip> - <dataloss>true</dataloss> - </output> - <param name="extension" type="string" gui-hidden="true">output</param> - <param name="format" type="string" gui-hidden="true">vp3</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension> diff --git a/inx/inkstitch_output_ZIP.inx b/inx/inkstitch_output_ZIP.inx deleted file mode 100644 index 81f17b23..00000000 --- a/inx/inkstitch_output_ZIP.inx +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>embroidery ZIP file output</_name> - <id>org.inkstitch.output.zip</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> - <_filetypename>Ink/Stitch: ZIP export multiple formats (.zip)</_filetypename> - <_filetypetooltip>Create a ZIP with multiple embroidery file formats using Ink/Stitch</_filetypetooltip> - <dataloss>true</dataloss> - </output> - - <param name="format-pec" type="boolean" _gui-text=".PEC: Brother Embroidery Format">false</param> - - <param name="format-pes" type="boolean" _gui-text=".PES: Brother Embroidery Format">false</param> - - <param name="format-exp" type="boolean" _gui-text=".EXP: Melco Embroidery Format">false</param> - - <param name="format-dst" type="boolean" _gui-text=".DST: Tajima Embroidery Format">false</param> - - <param name="format-jef" type="boolean" _gui-text=".JEF: Janome Embroidery Format">false</param> - - <param name="format-vp3" type="boolean" _gui-text=".VP3: Pfaff Embroidery Format">false</param> - - <param name="extension" type="string" gui-hidden="true">zip</param> - <script> - <command reldir="extensions" interpreter="python">inkstitch.py</command> - </script> -</inkscape-extension>
\ No newline at end of file diff --git a/lib/commands.py b/lib/commands.py index cadfa080..db3c8a71 100644 --- a/lib/commands.py +++ b/lib/commands.py @@ -1,8 +1,42 @@ +import sys import inkex import cubicsuperpath +import simpletransform -from .svg import apply_transforms +from .svg import apply_transforms, get_node_transform from .svg.tags import SVG_USE_TAG, SVG_SYMBOL_TAG, CONNECTION_START, CONNECTION_END, XLINK_HREF +from .utils import cache, Point +from .i18n import _, N_ + +COMMANDS = { + # L10N command attached to an object + N_("fill_start"): N_("Fill stitch starting position"), + + # L10N command attached to an object + N_("fill_end"): N_("Fill stitch ending position"), + + # L10N command attached to an object + N_("stop"): N_("Stop (pause machine) after sewing this object"), + + # L10N command attached to an object + N_("trim"): N_("Trim thread after sewing this object"), + + # L10N command attached to an object + N_("ignore_object"): N_("Ignore this object (do not stitch)"), + + # L10N command that affects a layer + N_("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"), + + # L10N command that affects entire document + N_("stop_position"): N_("Jump destination for Stop commands (a.k.a. \"Frame Out position\")."), +} + +OBJECT_COMMANDS = ["fill_start", "fill_end", "stop", "trim", "ignore_object"] +LAYER_COMMANDS = ["ignore_layer"] +GLOBAL_COMMANDS = ["origin", "stop_position"] class CommandParseError(Exception): @@ -10,6 +44,11 @@ class CommandParseError(Exception): class BaseCommand(object): + @property + @cache + def description(self): + return get_command_description(self.command) + def parse_symbol(self): if self.symbol.tag != SVG_SYMBOL_TAG: raise CommandParseError("use points to non-symbol") @@ -21,7 +60,7 @@ class BaseCommand(object): else: raise CommandParseError("symbol is not an Ink/Stitch command") - def get_node_by_url(self,url): + def get_node_by_url(self, url): # url will be #path12345. Find the corresponding object. if url is None: raise CommandParseError("url is None") @@ -87,6 +126,19 @@ class StandaloneCommand(BaseCommand): self.parse_symbol() + @property + @cache + def point(self): + pos = [float(self.node.get("x", 0)), float(self.node.get("y", 0))] + transform = get_node_transform(self.node) + simpletransform.applyTransformToPoint(transform, pos) + + return Point(*pos) + + +def get_command_description(command): + return COMMANDS[command] + def find_commands(node): """Find the symbols this node is connected to and return them as Commands""" @@ -106,32 +158,61 @@ def find_commands(node): return commands + def layer_commands(layer, command): """Find standalone (unconnected) command symbols in this layer.""" - commands = [] + for global_command in global_commands(layer.getroottree().getroot(), command): + if layer in global_command.node.iterancestors(): + yield global_command + + +def global_commands(svg, command): + """Find standalone (unconnected) command symbols anywhere in the document.""" - for standalone_command in standalone_commands(layer.getroottree().getroot()): + for standalone_command in _standalone_commands(svg): if standalone_command.command == command: - if layer in standalone_command.node.iterancestors(): - commands.append(command) + yield standalone_command - return commands -def standalone_commands(svg): +@cache +def global_command(svg, command): + """Find a single command of the specified type. + + If more than one is found, print an error and exit. + """ + + commands = list(global_commands(svg, command)) + + if len(commands) == 1: + return commands[0] + elif len(commands) > 1: + print >> sys.stderr, _("Error: there is more than one %(command)s command in the document, but there can only be one. " + "Please remove all but one.") % dict(command=command) + + # L10N This is a continuation of the previous error message, letting the user know + # what command we're talking about since we don't normally expose the actual + # command name to them. Contents of %(description)s are in a separate translation + # string. + print >> sys.stderr, _("%(command)s: %(description)s") % dict(command=command, description=_(get_command_description(command))) + + sys.exit(1) + else: + return None + + +def _standalone_commands(svg): """Find all unconnected command symbols in the SVG.""" xpath = ".//svg:use[starts-with(@xlink:href, '#inkstitch_')]" symbols = svg.xpath(xpath, namespaces=inkex.NSS) - commands = [] for symbol in symbols: try: - commands.append(StandaloneCommand(symbol)) + yield StandaloneCommand(symbol) except CommandParseError: pass - return commands def is_command(node): return CONNECTION_START in node.attrib or CONNECTION_END in node.attrib diff --git a/lib/elements/auto_fill.py b/lib/elements/auto_fill.py index 79220a86..cfee6d7d 100644 --- a/lib/elements/auto_fill.py +++ b/lib/elements/auto_fill.py @@ -31,11 +31,11 @@ class AutoFill(Fill): @property @param('running_stitch_length_mm', - _('Running stitch length (traversal between sections)'), - tooltip=_('Length of stitches around the outline of the fill region used when moving from section to section.'), - unit='mm', - type='float', - default=1.5) + _('Running stitch length (traversal between sections)'), + tooltip=_('Length of stitches around the outline of the fill region used when moving from section to section.'), + unit='mm', + type='float', + default=1.5) def running_stitch_length(self): return max(self.get_float_param("running_stitch_length_mm", 1.5), 0.01) @@ -46,11 +46,11 @@ class AutoFill(Fill): @property @param('fill_underlay_angle', - _('Fill angle'), - tooltip=_('default: fill angle + 90 deg'), - unit='deg', - group=_('AutoFill Underlay'), - type='float') + _('Fill angle'), + tooltip=_('default: fill angle + 90 deg'), + unit='deg', + group=_('AutoFill Underlay'), + type='float') @cache def fill_underlay_angle(self): underlay_angle = self.get_float_param("fill_underlay_angle") @@ -62,43 +62,43 @@ class AutoFill(Fill): @property @param('fill_underlay_row_spacing_mm', - _('Row spacing'), - tooltip=_('default: 3x fill row spacing'), - unit='mm', - group=_('AutoFill Underlay'), - type='float') + _('Row spacing'), + tooltip=_('default: 3x fill row spacing'), + unit='mm', + group=_('AutoFill Underlay'), + type='float') @cache def fill_underlay_row_spacing(self): return self.get_float_param("fill_underlay_row_spacing_mm") or self.row_spacing * 3 @property @param('fill_underlay_max_stitch_length_mm', - _('Max stitch length'), - tooltip=_('default: equal to fill max stitch length'), - unit='mm', - group=_('AutoFill Underlay'), type='float') + _('Max stitch length'), + tooltip=_('default: equal to fill max stitch length'), + unit='mm', + group=_('AutoFill Underlay'), type='float') @cache def fill_underlay_max_stitch_length(self): return self.get_float_param("fill_underlay_max_stitch_length_mm") or self.max_stitch_length @property @param('fill_underlay_inset_mm', - _('Inset'), - tooltip=_('Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill.'), - unit='mm', - group=_('AutoFill Underlay'), - type='float', - default=0) + _('Inset'), + tooltip=_('Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill.'), + unit='mm', + group=_('AutoFill Underlay'), + type='float', + default=0) def fill_underlay_inset(self): return self.get_float_param('fill_underlay_inset_mm', 0) @property @param('expand_mm', - _('Expand'), - tooltip=_('Expand the shape before fill stitching, to compensate for gaps between shapes.'), - unit='mm', - type='float', - default=0) + _('Expand'), + tooltip=_('Expand the shape before fill stitching, to compensate for gaps between shapes.'), + unit='mm', + type='float', + default=0) def expand(self): return self.get_float_param('expand_mm', 0) diff --git a/lib/elements/element.py b/lib/elements/element.py index ebca90a4..4edb00c0 100644 --- a/lib/elements/element.py +++ b/lib/elements/element.py @@ -1,6 +1,5 @@ import sys from copy import deepcopy -from shapely import geometry as shgeo from ..i18n import _ from ..utils import cache @@ -8,7 +7,6 @@ from ..svg import PIXELS_PER_MM, convert_length, get_doc_size, apply_transforms from ..commands import find_commands # inkscape-provided utilities -import simpletransform import simplestyle import cubicsuperpath from cspsubdiv import cspsubdiv @@ -157,7 +155,7 @@ class EmbroideryElement(object): doc_width, doc_height = get_doc_size(svg) viewbox = svg.get('viewBox', '0 0 %s %s' % (doc_width, doc_height)) viewbox = viewbox.strip().replace(',', ' ').split() - return doc_width / float(viewbox[2]) + return doc_width / float(viewbox[2]) @property @cache @@ -230,7 +228,7 @@ class EmbroideryElement(object): return commands[0] elif len(commands) > 1: raise ValueError(_("%(id)s has more than one command of type '%(command)s' linked to it") % - dict(id=self.node.get(id), command=command)) + dict(id=self.node.get(id), command=command)) else: return None diff --git a/lib/elements/fill.py b/lib/elements/fill.py index 394f523e..626573e6 100644 --- a/lib/elements/fill.py +++ b/lib/elements/fill.py @@ -5,7 +5,7 @@ from .element import param, EmbroideryElement, Patch from ..i18n import _ from ..svg import PIXELS_PER_MM from ..utils import cache -from ..stitches import running_stitch, auto_fill, legacy_fill +from ..stitches import legacy_fill class Fill(EmbroideryElement): @@ -16,21 +16,21 @@ class Fill(EmbroideryElement): @property @param('auto_fill', - _('Manually routed fill stitching'), - tooltip=_('AutoFill is the default method for generating fill stitching.'), - type='toggle', - inverse=True, - default=True) + _('Manually routed fill stitching'), + tooltip=_('AutoFill is the default method for generating fill stitching.'), + type='toggle', + inverse=True, + default=True) def auto_fill(self): return self.get_boolean_param('auto_fill', True) @property @param('angle', - _('Angle of lines of stitches'), - tooltip=_('The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed.'), - unit='deg', - type='float', - default=0) + _('Angle of lines of stitches'), + tooltip=_('The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed.'), + unit='deg', + type='float', + default=0) @cache def angle(self): return math.radians(self.get_float_param('angle', 0)) @@ -41,21 +41,23 @@ class Fill(EmbroideryElement): return self.get_style("fill", "#000000") @property - @param('flip', - _('Flip fill (start right-to-left)'), - tooltip=_('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.'), - type='boolean', - default=False) + @param( + 'flip', + _('Flip fill (start right-to-left)'), + tooltip=_('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.'), + type='boolean', + default=False) def flip(self): return self.get_boolean_param("flip", False) @property @param('row_spacing_mm', - _('Spacing between rows'), - tooltip=_('Distance between rows of stitches.'), - unit='mm', - type='float', - default=0.25) + _('Spacing between rows'), + tooltip=_('Distance between rows of stitches.'), + unit='mm', + type='float', + default=0.25) def row_spacing(self): return max(self.get_float_param("row_spacing_mm", 0.25), 0.1 * PIXELS_PER_MM) @@ -65,20 +67,20 @@ class Fill(EmbroideryElement): @property @param('max_stitch_length_mm', - _('Maximum fill stitch length'), - tooltip=_('The length of each stitch in a row. Shorter stitch may be used at the start or end of a row.'), - unit='mm', - type='float', - default=3.0) + _('Maximum fill stitch length'), + tooltip=_('The length of each stitch in a row. Shorter stitch may be used at the start or end of a row.'), + unit='mm', + type='float', + default=3.0) def max_stitch_length(self): return max(self.get_float_param("max_stitch_length_mm", 3.0), 0.1 * PIXELS_PER_MM) @property @param('staggers', - _('Stagger rows this many times before repeating'), - tooltip=_('Setting this dictates how many rows apart the stitches will be before they fall in the same column position.'), - type='int', - default=4) + _('Stagger rows this many times before repeating'), + tooltip=_('Setting this dictates how many rows apart the stitches will be before they fall in the same column position.'), + type='int', + default=4) def staggers(self): return self.get_int_param("staggers", 4) diff --git a/lib/elements/polyline.py b/lib/elements/polyline.py index b9ffdc0b..5bfe5022 100644 --- a/lib/elements/polyline.py +++ b/lib/elements/polyline.py @@ -1,7 +1,6 @@ from shapely import geometry as shgeo -from .element import param, EmbroideryElement, Patch -from ..i18n import _ +from .element import EmbroideryElement, Patch from ..utils.geometry import Point from ..utils import cache @@ -21,13 +20,13 @@ class Polyline(EmbroideryElement): @property def points(self): - # example: "1,2 0,0 1.5,3 4,2" + # example: "1,2 0,0 1.5,3 4,2" - points = self.node.get('points') - points = points.split(" ") - points = [[float(coord) for coord in point.split(",")] for point in points] + points = self.node.get('points') + points = points.split(" ") + points = [[float(coord) for coord in point.split(",")] for point in points] - return points + return points @property @cache diff --git a/lib/elements/satin_column.py b/lib/elements/satin_column.py index 834509fd..9927a606 100644 --- a/lib/elements/satin_column.py +++ b/lib/elements/satin_column.py @@ -29,22 +29,24 @@ class SatinColumn(EmbroideryElement): @property @param('zigzag_spacing_mm', - _('Zig-zag spacing (peak-to-peak)'), - tooltip=_('Peak-to-peak distance between zig-zags.'), - unit='mm', - type='float', - default=0.4) + _('Zig-zag spacing (peak-to-peak)'), + tooltip=_('Peak-to-peak distance between zig-zags.'), + unit='mm', + type='float', + default=0.4) def zigzag_spacing(self): # peak-to-peak distance between zigzags return max(self.get_float_param("zigzag_spacing_mm", 0.4), 0.01) @property - @param('pull_compensation_mm', - _('Pull compensation'), - tooltip=_('Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column.'), - unit='mm', - type='float', - default=0) + @param( + 'pull_compensation_mm', + _('Pull compensation'), + tooltip=_('Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. ' + 'This setting expands each pair of needle penetrations outward from the center of the satin column.'), + unit='mm', + type='float', + default=0) def pull_compensation(self): # In satin stitch, the stitches have a tendency to pull together and # narrow the entire column. We can compensate for this by stitching @@ -65,12 +67,12 @@ class SatinColumn(EmbroideryElement): @property @param('contour_underlay_inset_mm', - _('Contour underlay inset amount'), - tooltip=_('Shrink the outline, to prevent the underlay from showing around the outside of the satin column.'), - unit='mm', - group=_('Contour Underlay'), - type='float', - default=0.4) + _('Contour underlay inset amount'), + tooltip=_('Shrink the outline, to prevent the underlay from showing around the outside of the satin column.'), + unit='mm', + group=_('Contour Underlay'), + type='float', + default=0.4) def contour_underlay_inset(self): # how far inside the edge of the column to stitch the underlay return self.get_float_param("contour_underlay_inset_mm", 0.4) @@ -94,23 +96,23 @@ class SatinColumn(EmbroideryElement): @property @param('zigzag_underlay_spacing_mm', - _('Zig-Zag spacing (peak-to-peak)'), - tooltip=_('Distance between peaks of the zig-zags.'), - unit='mm', - group=_('Zig-zag Underlay'), - type='float', - default=3) + _('Zig-Zag spacing (peak-to-peak)'), + tooltip=_('Distance between peaks of the zig-zags.'), + unit='mm', + group=_('Zig-zag Underlay'), + type='float', + default=3) def zigzag_underlay_spacing(self): return max(self.get_float_param("zigzag_underlay_spacing_mm", 3), 0.01) @property @param('zigzag_underlay_inset_mm', - _('Inset amount'), - tooltip=_('default: half of contour underlay inset'), - unit='mm', - group=_('Zig-zag Underlay'), - type='float', - default="") + _('Inset amount'), + tooltip=_('default: half of contour underlay inset'), + unit='mm', + group=_('Zig-zag Underlay'), + type='float', + default="") def zigzag_underlay_inset(self): # how far in from the edge of the satin the points in the zigzags # should be @@ -147,7 +149,6 @@ class SatinColumn(EmbroideryElement): else: return self.flatten_beziers_with_rungs() - def flatten_beziers_with_rungs(self): input_paths = [self.flatten([path]) for path in self.csp] input_paths = [shgeo.LineString(path[0]) for path in input_paths] @@ -174,18 +175,19 @@ class SatinColumn(EmbroideryElement): # handle null intersections here? linestrings = shops.split(rail, rungs) - #print >> dbg, "rails and rungs", [str(rail) for rail in rails], [str(rung) for rung in rungs] + # print >> dbg, "rails and rungs", [str(rail) for rail in rails], [str(rung) for rung in rungs] if len(linestrings.geoms) < len(rungs.geoms) + 1: - self.fatal(_("satin column: One or more of the rungs doesn't intersect both rails.") + " " + _("Each rail should intersect both rungs once.")) + self.fatal(_("satin column: One or more of the rungs doesn't intersect both rails.") + + " " + _("Each rail should intersect both rungs once.")) elif len(linestrings.geoms) > len(rungs.geoms) + 1: - self.fatal(_("satin column: One or more of the rungs intersects the rails more than once.") + " " + _("Each rail should intersect both rungs once.")) + self.fatal(_("satin column: One or more of the rungs intersects the rails more than once.") + + " " + _("Each rail should intersect both rungs once.")) paths = [[Point(*coord) for coord in ls.coords] for ls in linestrings.geoms] result.append(paths) return zip(*result) - def simple_flatten_beziers(self): # Given a pair of paths made up of bezier segments, flatten # each individual bezier segment into line segments that approximate @@ -223,8 +225,8 @@ class SatinColumn(EmbroideryElement): if len(self.csp) == 2: if len(self.csp[0]) != len(self.csp[1]): - self.fatal(_("satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)") % \ - dict(id=node_id, length1=len(self.csp[0]), length2=len(self.csp[1]))) + self.fatal(_("satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)") % + dict(id=node_id, length1=len(self.csp[0]), length2=len(self.csp[1]))) def offset_points(self, pos1, pos2, offset_px): # Expand or contract two points about their midpoint. This is @@ -443,7 +445,6 @@ class SatinColumn(EmbroideryElement): return patch - def to_patches(self, last_patch): # Stitch a variable-width satin column, zig-zagging between two paths. diff --git a/lib/elements/stroke.py b/lib/elements/stroke.py index e84d5e79..3ae2b143 100644 --- a/lib/elements/stroke.py +++ b/lib/elements/stroke.py @@ -28,44 +28,47 @@ class Stroke(EmbroideryElement): @property @param('running_stitch_length_mm', - _('Running stitch length'), - tooltip=_('Length of stitches in running stitch mode.'), - unit='mm', - type='float', - default=1.5, - sort_index=3) + _('Running stitch length'), + tooltip=_('Length of stitches in running stitch mode.'), + unit='mm', + type='float', + default=1.5, + sort_index=3) def running_stitch_length(self): return max(self.get_float_param("running_stitch_length_mm", 1.5), 0.01) @property - @param('bean_stitch_repeats', - _('Bean stitch number of repeats'), - tooltip=_('Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch.'), - type='int', - default=0, - sort_index=2) + @param( + 'bean_stitch_repeats', + _('Bean stitch number of repeats'), + tooltip=_('Backtrack each stitch this many times. ' + 'A value of 1 would triple each stitch (forward, back, forward). ' + 'A value of 2 would quintuple each stitch, etc. Only applies to running stitch.'), + type='int', + default=0, + sort_index=2) def bean_stitch_repeats(self): return self.get_int_param("bean_stitch_repeats", 0) @property @param('zigzag_spacing_mm', - _('Zig-zag spacing (peak-to-peak)'), - tooltip=_('Length of stitches in zig-zag mode.'), - unit='mm', - type='float', - default=0.4, - sort_index=3) + _('Zig-zag spacing (peak-to-peak)'), + tooltip=_('Length of stitches in zig-zag mode.'), + unit='mm', + type='float', + default=0.4, + sort_index=3) @cache def zigzag_spacing(self): return max(self.get_float_param("zigzag_spacing_mm", 0.4), 0.01) @property @param('repeats', - _('Repeats'), - tooltip=_('Defines how many times to run down and back along the path.'), - type='int', - default="1", - sort_index=1) + _('Repeats'), + tooltip=_('Defines how many times to run down and back along the path.'), + type='int', + default="1", + sort_index=1) def repeats(self): return self.get_int_param("repeats", 1) @@ -86,11 +89,11 @@ class Stroke(EmbroideryElement): @property @param('manual_stitch', - _('Manual stitch placement'), - tooltip=_("Stitch every node in the path. Stitch length and zig-zag spacing are ignored."), - type='boolean', - default=False, - sort_index=0) + _('Manual stitch placement'), + tooltip=_("Stitch every node in the path. Stitch length and zig-zag spacing are ignored."), + type='boolean', + default=False, + sort_index=0) def manual_stitch_mode(self): return self.get_boolean_param('manual_stitch') @@ -121,9 +124,9 @@ class Stroke(EmbroideryElement): global warned_about_legacy_running_stitch if not warned_about_legacy_running_stitch: warned_about_legacy_running_stitch = True - print >> sys.stderr, _("Legacy running stitch setting detected!\n\nIt looks like you're using a stroke " + \ - "smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set " + \ - "your stroke to be dashed to indicate running stitch. Any kind of dash will work.") + print >> sys.stderr, _("Legacy running stitch setting detected!\n\nIt looks like you're using a stroke " + + "smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set " + + "your stroke to be dashed to indicate running stitch. Any kind of dash will work.") # still allow the deprecated setting to work in order to support old files return True @@ -174,7 +177,6 @@ class Stroke(EmbroideryElement): return Patch(self.color, stitches) - def to_patches(self, last_patch): patches = [] diff --git a/lib/extensions/__init__.py b/lib/extensions/__init__.py index 6c8db318..5b72ecb3 100644 --- a/lib/extensions/__init__.py +++ b/lib/extensions/__init__.py @@ -9,4 +9,19 @@ from zip import Zip from flip import Flip from object_commands import ObjectCommands from layer_commands import LayerCommands +from global_commands import GlobalCommands from convert_to_satin import ConvertToSatin + +__all__ = extensions = [Embroider, + Install, + Params, + Print, + Simulate, + Input, + Output, + Zip, + Flip, + ObjectCommands, + LayerCommands, + GlobalCommands, + ConvertToSatin] diff --git a/lib/extensions/base.py b/lib/extensions/base.py index 571e3c2d..25de441f 100644 --- a/lib/extensions/base.py +++ b/lib/extensions/base.py @@ -3,11 +3,12 @@ import re import json from copy import deepcopy from collections import MutableMapping +from stringcase import snakecase -from ..svg.tags import * +from ..svg.tags import SVG_GROUP_TAG, INKSCAPE_GROUPMODE, SVG_DEFS_TAG, EMBROIDERABLE_TAGS, SVG_POLYLINE_TAG from ..elements import AutoFill, Fill, Stroke, SatinColumn, Polyline, EmbroideryElement -from ..utils import cache from ..commands import is_command, layer_commands +from ..i18n import _ SVG_METADATA_TAG = inkex.addNS("metadata", "svg") @@ -98,17 +99,21 @@ class InkStitchMetadata(MutableMapping): class InkstitchExtension(inkex.Effect): """Base class for Inkstitch extensions. Not intended for direct use.""" + @classmethod + def name(cls): + return snakecase(cls.__name__) + def hide_all_layers(self): for g in self.document.getroot().findall(SVG_GROUP_TAG): if g.get(INKSCAPE_GROUPMODE) == "layer": g.set("style", "display:none") def no_elements_error(self): - if self.selected: - inkex.errormsg(_("No embroiderable paths selected.")) - else: - inkex.errormsg(_("No embroiderable paths found in document.")) - inkex.errormsg(_("Tip: use Path -> Object to Path to convert non-paths.")) + if self.selected: + inkex.errormsg(_("No embroiderable paths selected.")) + else: + inkex.errormsg(_("No embroiderable paths found in document.")) + inkex.errormsg(_("Tip: use Path -> Object to Path to convert non-paths.")) def descendants(self, node, selected=False): nodes = [] @@ -118,7 +123,7 @@ class InkstitchExtension(inkex.Effect): return [] if node.tag == SVG_GROUP_TAG and node.get(INKSCAPE_GROUPMODE) == "layer": - if layer_commands(node, "ignore_layer"): + if len(list(layer_commands(node, "ignore_layer"))): return [] if element.has_style('display') and element.get_style('display') is None: @@ -171,7 +176,6 @@ class InkstitchExtension(inkex.Effect): return classes - def get_elements(self): self.elements = [] for node in self.get_nodes(): @@ -207,7 +211,6 @@ class InkstitchExtension(inkex.Effect): return svg_filename - def parse(self): """Override inkex.Effect to add Ink/Stitch xml namespace""" diff --git a/lib/extensions/commands.py b/lib/extensions/commands.py index e3bfabfe..fb6f7874 100644 --- a/lib/extensions/commands.py +++ b/lib/extensions/commands.py @@ -1,5 +1,4 @@ import os -import sys import inkex from copy import deepcopy diff --git a/lib/extensions/convert_to_satin.py b/lib/extensions/convert_to_satin.py index dd5a9bc2..ef4ac557 100644 --- a/lib/extensions/convert_to_satin.py +++ b/lib/extensions/convert_to_satin.py @@ -11,6 +11,7 @@ from ..svg.tags import SVG_PATH_TAG from ..svg import get_correction_transform, PIXELS_PER_MM from ..elements import Stroke from ..utils import Point +from ..i18n import _ class SelfIntersectionError(Exception): @@ -51,7 +52,9 @@ class ConvertToSatin(InkstitchExtension): 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')) + inkex.errormsg( + _("Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths.") % + element.node.get('id')) # revert any changes we've made self.document = deepcopy(self.original_document) @@ -84,7 +87,7 @@ class ConvertToSatin(InkstitchExtension): """Convert svg line join style to shapely parallel offset arguments.""" args = { - 'join_style': shgeo.JOIN_STYLE.round + 'join_style': shgeo.JOIN_STYLE.round } element_join_style = element.get_style('stroke-linejoin') @@ -113,7 +116,7 @@ class ConvertToSatin(InkstitchExtension): # path intersects itself, when taking its stroke width into consideration. See # the last example for parallel_offset() in the Shapely documentation: # https://shapely.readthedocs.io/en/latest/manual.html#object.parallel_offset - raise SelfIntersectionError() + raise SelfIntersectionError() # for whatever reason, shapely returns a right-side offset's coordinates in reverse left_rail = list(left_rail.coords) @@ -244,7 +247,7 @@ class ConvertToSatin(InkstitchExtension): # millimeters before this one. if last_rung_center is not None and \ (rung_center - last_rung_center).length() < 2 * PIXELS_PER_MM: - continue + continue else: last_rung_center = rung_center @@ -269,7 +272,6 @@ class ConvertToSatin(InkstitchExtension): return rungs - def satin_to_svg_node(self, rails, rungs, correction_transform): d = "" for path in chain(rails, rungs): @@ -279,11 +281,11 @@ class ConvertToSatin(InkstitchExtension): d += " " return inkex.etree.Element(SVG_PATH_TAG, - { - "id": self.uniqueId("path"), - "style": "stroke:#000000;stroke-width:1px;fill:none", - "transform": correction_transform, - "d": d, - "embroider_satin_column": "true", - } - ) + { + "id": self.uniqueId("path"), + "style": "stroke:#000000;stroke-width:1px;fill:none", + "transform": correction_transform, + "d": d, + "embroider_satin_column": "true", + } + ) diff --git a/lib/extensions/embroider.py b/lib/extensions/embroider.py index 1e994e27..921201d6 100644 --- a/lib/extensions/embroider.py +++ b/lib/extensions/embroider.py @@ -1,7 +1,4 @@ -import sys -import traceback import os -import inkex from .base import InkstitchExtension from ..i18n import _ diff --git a/lib/extensions/flip.py b/lib/extensions/flip.py index d8d78cb5..65dbdc1f 100644 --- a/lib/extensions/flip.py +++ b/lib/extensions/flip.py @@ -1,4 +1,3 @@ -import sys import inkex import cubicsuperpath from shapely import geometry as shgeo @@ -7,6 +6,7 @@ from .base import InkstitchExtension from ..i18n import _ from ..elements import SatinColumn + class Flip(InkstitchExtension): def subpath_to_linestring(self, subpath): return shgeo.LineString() diff --git a/lib/extensions/global_commands.py b/lib/extensions/global_commands.py new file mode 100644 index 00000000..9655c7af --- /dev/null +++ b/lib/extensions/global_commands.py @@ -0,0 +1,12 @@ +from .layer_commands import LayerCommands +from ..commands import GLOBAL_COMMANDS + + +# It's a bit weird subclassing this from LayerCommands, but global commands +# must still be placed in a layer. That means the two extensions +# do the same thing and the code is the same. We keep this as separate +# extensions because we want the user to understand that global commands +# affect the entire document, not just the current layer. + +class GlobalCommands(LayerCommands): + COMMANDS = GLOBAL_COMMANDS diff --git a/lib/extensions/input.py b/lib/extensions/input.py index cb5ac452..975ba838 100644 --- a/lib/extensions/input.py +++ b/lib/extensions/input.py @@ -1,15 +1,11 @@ import os -from os.path import realpath, dirname, join as path_join -import sys from inkex import etree import inkex import pyembroidery from ..svg import PIXELS_PER_MM, render_stitch_plan from ..svg.tags import INKSCAPE_LABEL -from ..i18n import _ -from ..stitch_plan import StitchPlan, ColorBlock -from ..utils.io import save_stdout +from ..stitch_plan import StitchPlan class Input(object): @@ -28,12 +24,11 @@ class Input(object): trim=(command == pyembroidery.TRIM)) extents = stitch_plan.extents - svg = etree.Element("svg", nsmap=inkex.NSS, attrib= - { - "width": str(extents[0] * 2), - "height": str(extents[1] * 2), - "viewBox": "0 0 %s %s" % (extents[0] * 2, extents[1] * 2), - }) + svg = etree.Element("svg", nsmap=inkex.NSS, attrib={ + "width": str(extents[0] * 2), + "height": str(extents[1] * 2), + "viewBox": "0 0 %s %s" % (extents[0] * 2, extents[1] * 2), + }) render_stitch_plan(svg, stitch_plan) # rename the Stitch Plan layer so that it doesn't get overwritten by Embroider diff --git a/lib/extensions/install.py b/lib/extensions/install.py index 42a92113..6c179beb 100644 --- a/lib/extensions/install.py +++ b/lib/extensions/install.py @@ -3,17 +3,12 @@ import sys import traceback import os -from os.path import realpath, dirname from glob import glob -from threading import Thread -import socket -import errno -import time -import logging import wx import inkex from ..utils import guess_inkscape_config_path, get_bundled_dir +from ..i18n import _ class InstallerFrame(wx.Frame): @@ -27,23 +22,24 @@ class InstallerFrame(wx.Frame): text_sizer = wx.BoxSizer(wx.HORIZONTAL) - text = _('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:') + \ - "\n\n • " + _("thread manufacturer color palettes") + \ - "\n • " + _("Ink/Stitch visual commands (Object -> Symbols...)") + text = (_('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:') + + "\n\n • " + _("thread manufacturer color palettes") + + "\n • " + _("Ink/Stitch visual commands (Object -> Symbols...)")) static_text = wx.StaticText(panel, label=text) font = wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.NORMAL) static_text.SetFont(font) - text_sizer.Add(static_text, proportion=0, flag=wx.ALL|wx.EXPAND, border=10) - sizer.Add(text_sizer, proportion=3, flag=wx.ALL|wx.EXPAND, border=0) + text_sizer.Add(static_text, proportion=0, flag=wx.ALL | wx.EXPAND, border=10) + sizer.Add(text_sizer, proportion=3, flag=wx.ALL | wx.EXPAND, border=0) buttons_sizer = wx.BoxSizer(wx.HORIZONTAL) install_button = wx.Button(panel, wx.ID_ANY, _("Install")) install_button.SetBitmap(wx.ArtProvider.GetBitmap(wx.ART_TICK_MARK)) - buttons_sizer.Add(install_button, proportion=0, flag=wx.ALIGN_RIGHT|wx.ALL, border=5) + buttons_sizer.Add(install_button, proportion=0, flag=wx.ALIGN_RIGHT | wx.ALL, border=5) cancel_button = wx.Button(panel, wx.ID_CANCEL, _("Cancel")) - buttons_sizer.Add(cancel_button, proportion=0, flag=wx.ALIGN_RIGHT|wx.ALL, border=5) - sizer.Add(buttons_sizer, proportion=1, flag=wx.ALIGN_RIGHT|wx.ALIGN_BOTTOM) + buttons_sizer.Add(cancel_button, proportion=0, flag=wx.ALIGN_RIGHT | wx.ALL, border=5) + sizer.Add(buttons_sizer, proportion=1, flag=wx.ALIGN_RIGHT | wx.ALIGN_BOTTOM) panel.SetSizer(sizer) panel.Layout() @@ -63,7 +59,7 @@ class InstallerFrame(wx.Frame): try: self.install_addons('palettes') self.install_addons('symbols') - except Exception, e: + except Exception: wx.MessageDialog(self, _('Inkscape add-on installation failed') + ': \n' + traceback.format_exc(), _('Installation Failed'), @@ -97,7 +93,12 @@ class InstallerFrame(wx.Frame): for palette_file in files: shutil.copy(palette_file, dest) + class Install(inkex.Effect): + @classmethod + def name(cls): + return "install" + def effect(self): app = wx.App() installer_frame = InstallerFrame(None, title=_("Ink/Stitch Add-ons Installer"), size=(550, 250)) diff --git a/lib/extensions/layer_commands.py b/lib/extensions/layer_commands.py index 88170f66..dbafc39f 100644 --- a/lib/extensions/layer_commands.py +++ b/lib/extensions/layer_commands.py @@ -1,15 +1,14 @@ -import os -import sys import inkex from .commands import CommandsExtension +from ..commands import LAYER_COMMANDS, get_command_description from ..i18n import _ -from ..svg.tags import SVG_USE_TAG, XLINK_HREF +from ..svg.tags import SVG_USE_TAG, INKSCAPE_LABEL, XLINK_HREF from ..svg import get_correction_transform class LayerCommands(CommandsExtension): - COMMANDS = ["ignore_layer"] + COMMANDS = LAYER_COMMANDS def ensure_current_layer(self): # if no layer is selected, inkex defaults to the root, which isn't @@ -34,15 +33,14 @@ class LayerCommands(CommandsExtension): for i, command in enumerate(commands): self.ensure_symbol(command) - node = inkex.etree.SubElement(self.current_layer, SVG_USE_TAG, - { - "id": self.uniqueId("use"), - XLINK_HREF: "#inkstitch_%s" % command, - "height": "100%", - "width": "100%", - "x": str(i * 20), - "y": "-10", - "transform": correction_transform - }) - - namedview = self.document.xpath("//sodipodi:namedview", namespaces=inkex.NSS) + inkex.etree.SubElement(self.current_layer, SVG_USE_TAG, + { + "id": self.uniqueId("use"), + INKSCAPE_LABEL: _("Ink/Stitch Command") + ": %s" % get_command_description(command), + XLINK_HREF: "#inkstitch_%s" % command, + "height": "100%", + "width": "100%", + "x": str(i * 20), + "y": "-10", + "transform": correction_transform + }) diff --git a/lib/extensions/object_commands.py b/lib/extensions/object_commands.py index 27a07969..e678890d 100644 --- a/lib/extensions/object_commands.py +++ b/lib/extensions/object_commands.py @@ -1,20 +1,15 @@ -import os -import sys import inkex -import simpletransform -import cubicsuperpath from random import random -from shapely import geometry as shgeo from .commands import CommandsExtension +from ..commands import OBJECT_COMMANDS, get_command_description from ..i18n import _ -from ..elements import SatinColumn -from ..svg.tags import SVG_GROUP_TAG, SVG_USE_TAG, SVG_PATH_TAG, INKSCAPE_GROUPMODE, XLINK_HREF, CONNECTION_START, CONNECTION_END, CONNECTOR_TYPE +from ..svg.tags import SVG_PATH_TAG, CONNECTION_START, CONNECTION_END, CONNECTOR_TYPE, INKSCAPE_LABEL, SVG_GROUP_TAG, SVG_USE_TAG, XLINK_HREF from ..svg import get_correction_transform class ObjectCommands(CommandsExtension): - COMMANDS = ["fill_start", "fill_end", "stop", "trim", "ignore_object"] + COMMANDS = OBJECT_COMMANDS def add_connector(self, symbol, element): # I'd like it if I could position the connector endpoint nicely but inkscape just @@ -23,18 +18,20 @@ class ObjectCommands(CommandsExtension): end_pos = element.shape.centroid path = inkex.etree.Element(SVG_PATH_TAG, - { - "id": self.uniqueId("connector"), - "d": "M %s,%s %s,%s" % (start_pos[0], start_pos[1], end_pos.x, end_pos.y), - "style": "stroke:#000000;stroke-width:1px;stroke-opacity:0.5;fill:none;", - "transform": get_correction_transform(symbol), - CONNECTION_START: "#%s" % symbol.get('id'), - CONNECTION_END: "#%s" % element.node.get('id'), - CONNECTOR_TYPE: "polyline", - } - ) + { + "id": self.uniqueId("connector"), + "d": "M %s,%s %s,%s" % (start_pos[0], start_pos[1], end_pos.x, end_pos.y), + "style": "stroke:#000000;stroke-width:1px;stroke-opacity:0.5;fill:none;", + CONNECTION_START: "#%s" % symbol.get('id'), + CONNECTION_END: "#%s" % element.node.get('id'), + CONNECTOR_TYPE: "polyline", + + # l10n: the name of the line that connects a command to the object it applies to + INKSCAPE_LABEL: _("connector") + } + ) - symbol.getparent().insert(symbol.getparent().index(symbol), path) + symbol.getparent().insert(0, path) def get_command_pos(self, element, index, total): # Put command symbols 30 pixels out from the shape, spaced evenly around it. @@ -71,18 +68,28 @@ class ObjectCommands(CommandsExtension): pos = self.get_command_pos(element, i, len(commands)) - symbol = inkex.etree.SubElement(element.node.getparent(), SVG_USE_TAG, - { - "id": self.uniqueId("use"), - XLINK_HREF: "#inkstitch_%s" % command, - "height": "100%", - "width": "100%", - "x": str(pos.x), - "y": str(pos.y), - "transform": get_correction_transform(element.node) - } + group = inkex.etree.SubElement(element.node.getparent(), SVG_GROUP_TAG, + { + "id": self.uniqueId("group"), + INKSCAPE_LABEL: _("Ink/Stitch Command") + ": %s" % get_command_description(command), + "transform": get_correction_transform(element.node) + } ) + symbol = inkex.etree.SubElement(group, SVG_USE_TAG, + { + "id": self.uniqueId("use"), + XLINK_HREF: "#inkstitch_%s" % command, + "height": "100%", + "width": "100%", + "x": str(pos.x), + "y": str(pos.y), + + # l10n: the name of a command symbol (example: scissors icon for trim command) + INKSCAPE_LABEL: _("command marker"), + } + ) + self.add_connector(symbol, element) def effect(self): diff --git a/lib/extensions/output.py b/lib/extensions/output.py index f3bb0a80..26fd4f2e 100644 --- a/lib/extensions/output.py +++ b/lib/extensions/output.py @@ -1,15 +1,12 @@ import sys -import traceback import os -import inkex import tempfile from .base import InkstitchExtension -from ..i18n import _ from ..output import write_embroidery_file from ..stitch_plan import patches_to_stitch_plan -from ..svg import render_stitch_plan, PIXELS_PER_MM -from ..utils.io import save_stdout +from ..svg import PIXELS_PER_MM + class Output(InkstitchExtension): def __init__(self, *args, **kwargs): diff --git a/lib/extensions/print_pdf.py b/lib/extensions/print_pdf.py index 6e2eff58..d2e2365d 100644 --- a/lib/extensions/print_pdf.py +++ b/lib/extensions/print_pdf.py @@ -1,5 +1,4 @@ import sys -import traceback import os from threading import Thread import socket @@ -13,15 +12,14 @@ import json import inkex from jinja2 import Environment, FileSystemLoader, select_autoescape from datetime import date -import base64 from flask import Flask, request, Response, send_from_directory, jsonify import webbrowser import requests from .base import InkstitchExtension from ..i18n import _, translation as inkstitch_translation -from ..svg import PIXELS_PER_MM, render_stitch_plan -from ..svg.tags import SVG_GROUP_TAG, INKSCAPE_GROUPMODE +from ..svg import render_stitch_plan +from ..svg.tags import INKSCAPE_GROUPMODE from ..stitch_plan import patches_to_stitch_plan from ..threads import ThreadCatalog @@ -44,7 +42,7 @@ def load_defaults(): with open(defaults_path(), 'r') as defaults_file: defaults = json.load(defaults_file) return defaults - except: + except BaseException: return {} @@ -109,7 +107,7 @@ class PrintPreviewServer(Thread): else: self.resources_path = os.path.realpath(os.path.join(os.path.dirname(__file__), '..', '..', 'print', 'resources')) - def __setup_app(self): + def __setup_app(self): # noqa: C901 self.__set_resources_path() self.app = Flask(__name__) @@ -196,11 +194,11 @@ class PrintPreviewServer(Thread): threads = [] for color_block in self.stitch_plan: threads.append({ - 'hex': color_block.color.hex_digits, - 'name': color_block.color.name, - 'manufacturer': color_block.color.manufacturer, - 'number': color_block.color.number, - }) + 'hex': color_block.color.hex_digits, + 'name': color_block.color.name, + 'manufacturer': color_block.color.manufacturer, + 'number': color_block.color.number, + }) return jsonify(threads) @@ -225,10 +223,10 @@ class PrintPreviewServer(Thread): break if self.last_request_time is not None and \ - (time.time() - self.last_request_time) > 3: - self.stop() - break - except: + (time.time() - self.last_request_time) > 3: + self.stop() + break + except BaseException: # seems like sometimes this thread blows up during shutdown pass @@ -244,7 +242,7 @@ class PrintPreviewServer(Thread): while True: try: self.app.run(self.host, self.port, threaded=True) - except socket.error, e: + except socket.error as e: if e.errno == errno.EADDRINUSE: self.port += 1 continue @@ -262,14 +260,17 @@ class PrintInfoFrame(wx.Frame): panel = wx.Panel(self) sizer = wx.BoxSizer(wx.VERTICAL) - text = wx.StaticText(panel, label=_("A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\nThis window will close after you close the print preview in your browser, or you can close it manually if necessary.")) + message = _("A print preview has been opened in your web browser. " + "This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" + "This window will close after you close the print preview in your browser, or you can close it manually if necessary.") + text = wx.StaticText(panel, label=message) font = wx.Font(14, wx.DEFAULT, wx.NORMAL, wx.NORMAL) text.SetFont(font) - sizer.Add(text, proportion=1, flag=wx.ALL|wx.EXPAND, border=20) + sizer.Add(text, proportion=1, flag=wx.ALL | wx.EXPAND, border=20) stop_button = wx.Button(panel, id=wx.ID_CLOSE) stop_button.Bind(wx.EVT_BUTTON, self.close_button_clicked) - sizer.Add(stop_button, proportion=0, flag=wx.ALIGN_CENTER|wx.ALL, border=10) + sizer.Add(stop_button, proportion=0, flag=wx.ALIGN_CENTER | wx.ALL, border=10) panel.SetSizer(sizer) panel.Layout() @@ -289,13 +290,13 @@ class PrintInfoFrame(wx.Frame): class Print(InkstitchExtension): def build_environment(self): - if getattr( sys, 'frozen', False ) : + if getattr(sys, 'frozen', False): template_dir = os.path.join(sys._MEIPASS, "print", "templates") else: template_dir = os.path.realpath(os.path.join(os.path.dirname(__file__), "..", "..", "print", "templates")) env = Environment( - loader = FileSystemLoader(template_dir), + loader=FileSystemLoader(template_dir), autoescape=select_autoescape(['html', 'xml']), extensions=['jinja2.ext.i18n'] ) @@ -308,8 +309,8 @@ class Print(InkstitchExtension): def strip_namespaces(self, svg): # namespace prefixes seem to trip up HTML, so get rid of them for element in svg.iter(): - if element.tag[0]=='{': - element.tag = element.tag[element.tag.index('}',1) + 1:] + if element.tag[0] == '{': + element.tag = element.tag[element.tag.index('}', 1) + 1:] def render_svgs(self, stitch_plan, realistic=False): svg = deepcopy(self.document).getroot() @@ -352,25 +353,25 @@ class Print(InkstitchExtension): template = env.get_template('index.html') return template.render( - view = {'client_overview': False, 'client_detailedview': False, 'operator_overview': True, 'operator_detailedview': True}, - logo = {'src' : '', 'title' : 'LOGO'}, - date = date.today(), - client = "", - job = { - 'title': '', - 'num_colors': stitch_plan.num_colors, - 'num_color_blocks': len(stitch_plan), - 'num_stops': stitch_plan.num_stops, - 'num_trims': stitch_plan.num_trims, - 'dimensions': stitch_plan.dimensions_mm, - 'num_stitches': stitch_plan.num_stitches, - 'estimated_time': '', # TODO - 'estimated_thread': '', # TODO - }, - svg_overview = overview_svg, - color_blocks = stitch_plan.color_blocks, - palettes = ThreadCatalog().palette_names(), - selected_palette = selected_palette, + view={'client_overview': False, 'client_detailedview': False, 'operator_overview': True, 'operator_detailedview': True}, + logo={'src': '', 'title': 'LOGO'}, + date=date.today(), + client="", + job={ + 'title': '', + 'num_colors': stitch_plan.num_colors, + 'num_color_blocks': len(stitch_plan), + 'num_stops': stitch_plan.num_stops, + 'num_trims': stitch_plan.num_trims, + 'dimensions': stitch_plan.dimensions_mm, + 'num_stitches': stitch_plan.num_stitches, + 'estimated_time': '', # TODO + 'estimated_thread': '', # TODO + }, + svg_overview=overview_svg, + color_blocks=stitch_plan.color_blocks, + palettes=ThreadCatalog().palette_names(), + selected_palette=selected_palette, ) def effect(self): @@ -396,12 +397,12 @@ class Print(InkstitchExtension): html = self.render_html(stitch_plan, overview_svg, palette) print_server = PrintPreviewServer( - html=html, - metadata=self.get_inkstitch_metadata(), - stitch_plan=stitch_plan, - realistic_overview_svg=realistic_overview_svg, - realistic_color_block_svgs=realistic_color_block_svgs - ) + html=html, + metadata=self.get_inkstitch_metadata(), + stitch_plan=stitch_plan, + realistic_overview_svg=realistic_overview_svg, + realistic_color_block_svgs=realistic_color_block_svgs + ) print_server.start() time.sleep(1) diff --git a/lib/extensions/zip.py b/lib/extensions/zip.py index 02f29e8a..2376f79a 100644 --- a/lib/extensions/zip.py +++ b/lib/extensions/zip.py @@ -1,7 +1,5 @@ import sys -import traceback import os -import inkex import tempfile from zipfile import ZipFile import pyembroidery @@ -10,8 +8,7 @@ from .base import InkstitchExtension from ..i18n import _ from ..output import write_embroidery_file from ..stitch_plan import patches_to_stitch_plan -from ..svg import render_stitch_plan, PIXELS_PER_MM -from ..utils.io import save_stdout +from ..svg import PIXELS_PER_MM class Zip(InkstitchExtension): diff --git a/lib/i18n.py b/lib/i18n.py index d20f5d2f..045fa1b2 100644 --- a/lib/i18n.py +++ b/lib/i18n.py @@ -1,21 +1,37 @@ import sys import os +from os.path import dirname, realpath import gettext _ = translation = None +locale_dir = None + +# Use N_ to mark a string for translation but _not_ immediately translate it. +# reference: https://docs.python.org/3/library/gettext.html#deferred-translations +# Makefile configures pybabel to treat N_() the same as _() + + +def N_(message): return message + + +def _set_locale_dir(): + global locale_dir -def localize(): if getattr(sys, 'frozen', False): # we are in a pyinstaller installation locale_dir = sys._MEIPASS else: - locale_dir = os.path.dirname(__file__) + locale_dir = dirname(dirname(realpath(__file__))) locale_dir = os.path.join(locale_dir, 'locales') + +def localize(languages=None): global translation, _ translation = gettext.translation("inkstitch", locale_dir, fallback=True) _ = translation.gettext + +_set_locale_dir() localize() diff --git a/lib/inx/__init__.py b/lib/inx/__init__.py new file mode 100644 index 00000000..32b8bfae --- /dev/null +++ b/lib/inx/__init__.py @@ -0,0 +1 @@ +from generate import generate_inx_files diff --git a/lib/inx/extensions.py b/lib/inx/extensions.py new file mode 100755 index 00000000..d1a0c7f3 --- /dev/null +++ b/lib/inx/extensions.py @@ -0,0 +1,43 @@ +import pyembroidery + +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 + + +def layer_commands(): + # We purposefully avoid using commands.get_command_description() here. We + # want to call _() on the description inside the actual template so that + # we use the translation language selected in build_environment(). + return [(command, COMMANDS[command]) for command in LAYER_COMMANDS] + + +def global_commands(): + return [(command, COMMANDS[command]) for command in GLOBAL_COMMANDS] + + +def object_commands(): + return [(command, COMMANDS[command]) for command in OBJECT_COMMANDS] + + +def pyembroidery_debug_formats(): + for format in pyembroidery.supported_formats(): + if 'writer' in format and format['category'] != 'embroidery': + yield format['extension'], format['description'] + + +def generate_extension_inx_files(): + env = build_environment() + + for extension in extensions: + if extension is Input or extension is Output: + continue + + name = extension.name() + template = env.get_template('%s.inx' % name) + write_inx_file(name, template.render(formats=pyembroidery_output_formats(), + debug_formats=pyembroidery_debug_formats(), + layer_commands=layer_commands(), + object_commands=object_commands(), + global_commands=global_commands())) diff --git a/lib/inx/generate.py b/lib/inx/generate.py new file mode 100644 index 00000000..941596de --- /dev/null +++ b/lib/inx/generate.py @@ -0,0 +1,11 @@ +from .inputs import generate_input_inx_files +from .outputs import generate_output_inx_files +from .extensions import generate_extension_inx_files +from .utils import iterate_inx_locales + + +def generate_inx_files(): + for locale in iterate_inx_locales(): + generate_input_inx_files() + generate_output_inx_files() + generate_extension_inx_files() diff --git a/lib/inx/inputs.py b/lib/inx/inputs.py new file mode 100755 index 00000000..d40ffeaf --- /dev/null +++ b/lib/inx/inputs.py @@ -0,0 +1,18 @@ +import pyembroidery + +from .utils import build_environment, write_inx_file + + +def pyembroidery_input_formats(): + for format in pyembroidery.supported_formats(): + if 'reader' in format and format['category'] == 'embroidery': + yield format['extension'], format['description'] + + +def generate_input_inx_files(): + env = build_environment() + template = env.get_template('input.inx') + + for format, description in pyembroidery_input_formats(): + name = "input_%s" % format.upper() + write_inx_file(name, template.render(format=format, description=description)) diff --git a/lib/inx/outputs.py b/lib/inx/outputs.py new file mode 100644 index 00000000..aef0c8b5 --- /dev/null +++ b/lib/inx/outputs.py @@ -0,0 +1,18 @@ +import pyembroidery + +from .utils import build_environment, write_inx_file + + +def pyembroidery_output_formats(): + for format in pyembroidery.supported_formats(): + if 'writer' in format and format['category'] == 'embroidery': + yield format['extension'], format['description'] + + +def generate_output_inx_files(): + env = build_environment() + template = env.get_template('output.inx') + + for format, description in pyembroidery_output_formats(): + name = "output_%s" % format.upper() + write_inx_file(name, template.render(format=format, description=description)) diff --git a/lib/inx/utils.py b/lib/inx/utils.py new file mode 100644 index 00000000..54b37c58 --- /dev/null +++ b/lib/inx/utils.py @@ -0,0 +1,52 @@ +import os +import gettext +from os.path import dirname +from jinja2 import Environment, FileSystemLoader + +from ..i18n import translation as default_translation, locale_dir, N_ + + +_top_path = dirname(dirname(dirname(os.path.realpath(__file__)))) +inx_path = os.path.join(_top_path, "inx") +template_path = os.path.join(_top_path, "templates") + +current_translation = default_translation +current_locale = "en_US" + + +def build_environment(): + env = Environment( + loader=FileSystemLoader(template_path), + autoescape=True, + extensions=['jinja2.ext.i18n'] + ) + + env.install_gettext_translations(current_translation) + env.globals["locale"] = current_locale + + return env + + +def write_inx_file(name, contents): + inx_file_name = "inkstitch_%s_%s.inx" % (name, current_locale) + with open(os.path.join(inx_path, inx_file_name), 'w') as inx_file: + print >> inx_file, contents.encode("utf-8") + + +def iterate_inx_locales(): + global current_translation, current_locale + + locales = sorted(os.listdir(locale_dir)) + for locale in locales: + translation = gettext.translation("inkstitch", locale_dir, languages=[locale], fallback=True) + + # L10N If you translate this string, that will tell Ink/Stitch to + # generate menu items for this language in Inkscape's "Extensions" + # menu. + magic_string = N_("Generate INX files") + translated_magic_string = translation.gettext(magic_string) + + if translated_magic_string != magic_string or locale == "en_US": + current_translation = translation + current_locale = locale + yield locale diff --git a/lib/output.py b/lib/output.py index 0d7f9918..d5c513e2 100644 --- a/lib/output.py +++ b/lib/output.py @@ -1,10 +1,9 @@ import pyembroidery -import inkex import simpletransform -import shapely.geometry as shgeo from .utils import Point from .svg import PIXELS_PER_MM, get_doc_size, get_viewbox_transform +from .commands import global_command def get_command(stitch): @@ -19,65 +18,37 @@ def get_command(stitch): else: return pyembroidery.NEEDLE_AT + def _string_to_floats(string): floats = string.split(',') return [float(num) for num in floats] def get_origin(svg): - # The user can specify the embroidery origin by defining two guides - # named "embroidery origin" that intersect. + origin_command = global_command(svg, "origin") - namedview = svg.find(inkex.addNS('namedview', 'sodipodi')) - all_guides = namedview.findall(inkex.addNS('guide', 'sodipodi')) - label_attribute = inkex.addNS('label', 'inkscape') - guides = [guide for guide in all_guides - if guide.get(label_attribute, "").startswith("embroidery origin")] + if origin_command: + return origin_command.point + else: + # default: center of the canvas - # document size used below - doc_size = list(get_doc_size(svg)) + doc_size = list(get_doc_size(svg)) - # convert the size from viewbox-relative to real-world pixels - viewbox_transform = get_viewbox_transform(svg) - simpletransform.applyTransformToPoint(simpletransform.invertTransform(viewbox_transform), doc_size) + # convert the size from viewbox-relative to real-world pixels + viewbox_transform = get_viewbox_transform(svg) + simpletransform.applyTransformToPoint(simpletransform.invertTransform(viewbox_transform), doc_size) - default = [doc_size[0] / 2.0, doc_size[1] / 2.0] - simpletransform.applyTransformToPoint(viewbox_transform, default) - default = Point(*default) + default = [doc_size[0] / 2.0, doc_size[1] / 2.0] + simpletransform.applyTransformToPoint(viewbox_transform, default) + default = Point(*default) - if len(guides) < 2: return default - # Find out where the guides intersect. Only pay attention to the first two. - guides = guides[:2] - - lines = [] - for guide in guides: - # inkscape's Y axis is reversed from SVG's, and the guide is in inkscape coordinates - position = Point(*_string_to_floats(guide.get('position'))) - position.y = doc_size[1] - position.y - - - # This one baffles me. I think inkscape might have gotten the order of - # their vector wrong? - parts = _string_to_floats(guide.get('orientation')) - direction = Point(parts[1], parts[0]) - # We have a theoretically infinite line defined by a point on the line - # and a vector direction. Shapely can only deal in concrete line - # segments, so we'll pick points really far in either direction on the - # line and call it good enough. - lines.append(shgeo.LineString((position + 100000 * direction, position - 100000 * direction))) - - intersection = lines[0].intersection(lines[1]) - - if isinstance(intersection, shgeo.Point): - origin = [intersection.x, intersection.y] - simpletransform.applyTransformToPoint(viewbox_transform, origin) - return Point(*origin) - else: - # Either the two guides are the same line, or they're parallel. - return default +def jump_to_stop_point(pattern, svg): + stop_position = global_command(svg, "stop_position") + if stop_position: + pattern.add_stitch_absolute(pyembroidery.JUMP, stop_position.point.x, stop_position.point.y) def write_embroidery_file(file_path, stitch_plan, svg): @@ -89,6 +60,8 @@ def write_embroidery_file(file_path, stitch_plan, svg): pattern.add_thread(color_block.color.pyembroidery_thread) for stitch in color_block: + if stitch.stop: + jump_to_stop_point(pattern, svg) command = get_command(stitch) pattern.add_stitch_absolute(command, stitch.x, stitch.y) @@ -98,17 +71,17 @@ def write_embroidery_file(file_path, stitch_plan, svg): # also multiply by 10 to get tenths of a millimeter as required by pyembroidery scale = 10 / PIXELS_PER_MM - settings = { - # correct for the origin - "translate": -origin, + settings = { + # correct for the origin + "translate": -origin, - # convert from pixels to millimeters - # also multiply by 10 to get tenths of a millimeter as required by pyembroidery - "scale": (scale, scale), + # convert from pixels to millimeters + # also multiply by 10 to get tenths of a millimeter as required by pyembroidery + "scale": (scale, scale), - # This forces a jump at the start of the design and after each trim, - # even if we're close enough not to need one. - "full_jump": True, - } + # This forces a jump at the start of the design and after each trim, + # even if we're close enough not to need one. + "full_jump": True, + } pyembroidery.write(pattern, file_path, settings) diff --git a/lib/simulator.py b/lib/simulator.py index e662eaf9..530f6ebf 100644 --- a/lib/simulator.py +++ b/lib/simulator.py @@ -4,7 +4,7 @@ import time from itertools import izip from .svg import color_block_to_point_lists - +from .i18n import _ class EmbroiderySimulator(wx.Frame): def __init__(self, *args, **kwargs): diff --git a/lib/stitch_plan/stitch.py b/lib/stitch_plan/stitch.py index 5230efec..5fe10fb8 100644 --- a/lib/stitch_plan/stitch.py +++ b/lib/stitch_plan/stitch.py @@ -15,15 +15,15 @@ class Stitch(Point): def __repr__(self): return "Stitch(%s, %s, %s, %s, %s, %s, %s, %s%s)" % (self.x, - self.y, - self.color, - "JUMP" if self.jump else " ", - "TRIM" if self.trim else " ", - "STOP" if self.stop else " ", - "NO TIES" if self.no_ties else " ", - "FAKE " if self.fake_color_change else "", - "COLOR CHANGE" if self.color_change else " " - ) + self.y, + self.color, + "JUMP" if self.jump else " ", + "TRIM" if self.trim else " ", + "STOP" if self.stop else " ", + "NO TIES" if self.no_ties else " ", + "FAKE " if self.fake_color_change else "", + "COLOR CHANGE" if self.color_change else " " + ) def copy(self): return Stitch(self.x, self.y, self.color, self.jump, self.stop, self.trim, self.color_change, self.no_ties) diff --git a/lib/stitch_plan/stitch_plan.py b/lib/stitch_plan/stitch_plan.py index 682ea09f..c713b42e 100644 --- a/lib/stitch_plan/stitch_plan.py +++ b/lib/stitch_plan/stitch_plan.py @@ -209,8 +209,8 @@ class ColorBlock(object): # Don't consider jumps, stops, color changes, or trims as candidates for filtering pass else: - l = (stitch - stitches[-1]).length() - if l <= 0.1 * PIXELS_PER_MM: + length = (stitch - stitches[-1]).length() + if length <= 0.1 * PIXELS_PER_MM: # duplicate stitch, skip this one continue diff --git a/lib/stitches/auto_fill.py b/lib/stitches/auto_fill.py index 097ab1d9..e732c940 100644 --- a/lib/stitches/auto_fill.py +++ b/lib/stitches/auto_fill.py @@ -1,20 +1,19 @@ import sys import shapely import networkx -import math from itertools import groupby, izip from collections import deque from .fill import intersect_region_with_grating, row_num, stitch_row from .running_stitch import running_stitch from ..i18n import _ -from ..svg import PIXELS_PER_MM from ..utils.geometry import Point as InkstitchPoint, cut class MaxQueueLengthExceeded(Exception): pass + class PathEdge(object): OUTLINE_KEYS = ("outline", "extra", "initial") SEGMENT_KEY = "segment" @@ -39,6 +38,7 @@ class PathEdge(object): def is_segment(self): return self.key == self.SEGMENT_KEY + def auto_fill(shape, angle, row_spacing, end_row_spacing, max_stitch_length, running_stitch_length, staggers, starting_point, ending_point=None): stitches = [] @@ -65,7 +65,7 @@ def which_outline(shape, coords): point = shapely.geometry.Point(*coords) outlines = enumerate(list(shape.boundary)) - closest = min(outlines, key=lambda (index, outline): outline.distance(point)) + closest = min(outlines, key=lambda index_outline: index_outline[1].distance(point)) return closest[0] @@ -129,11 +129,11 @@ def build_graph(shape, segments, angle, row_spacing): # Tag each node with its index and projection. graph.add_node(node, index=outline_index, projection=outline_projection) - nodes = list(graph.nodes(data=True)) # returns a list of tuples: [(node, {data}), (node, {data}) ...] + nodes = list(graph.nodes(data=True)) # returns a list of tuples: [(node, {data}), (node, {data}) ...] nodes.sort(key=lambda node: (node[1]['index'], node[1]['projection'])) for outline_index, nodes in groupby(nodes, key=lambda node: node[1]['index']): - nodes = [ node for node, data in nodes ] + nodes = [node for node, data in nodes] # heuristic: change the order I visit the nodes in the outline if necessary. # If the start and endpoints are in the same row, I can't tell which row @@ -163,7 +163,6 @@ def build_graph(shape, segments, angle, row_spacing): if i % 2 == edge_set: graph.add_edge(node1, node2, key="extra") - if not networkx.is_eulerian(graph): raise Exception(_("Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected.")) @@ -193,13 +192,13 @@ def bfs_for_loop(graph, starting_node, max_queue_length=2000): # get a list of neighbors paired with the key of the edge I can follow to get there neighbors = [ - (node, key) - for node, adj in graph.adj[ending_node].iteritems() - for key in adj - ] + (node, key) + for node, adj in graph.adj[ending_node].iteritems() + for key in adj + ] # heuristic: try grating segments first - neighbors.sort(key=lambda (dest, key): key == "segment", reverse=True) + neighbors.sort(key=lambda dest_key: dest_key[1] == "segment", reverse=True) for next_node, key in neighbors: # skip if I've already followed this edge @@ -295,6 +294,7 @@ def insert_loop(path, loop): path[i:i] = loop + def nearest_node_on_outline(graph, point, outline_index=0): point = shapely.geometry.Point(*point) outline_nodes = [node for node, data in graph.nodes(data=True) if data['index'] == outline_index] @@ -302,16 +302,18 @@ def nearest_node_on_outline(graph, point, outline_index=0): return nearest + def get_outline_nodes(graph, outline_index=0): - outline_nodes = [(node, data['projection']) \ - for node, data \ - in graph.nodes(data=True) \ + outline_nodes = [(node, data['projection']) + for node, data + in graph.nodes(data=True) if data['index'] == outline_index] - outline_nodes.sort(key=lambda (node, projection): projection) + outline_nodes.sort(key=lambda node_projection: node_projection[1]) outline_nodes = [node for node, data in outline_nodes] return outline_nodes + def find_initial_path(graph, starting_point, ending_point=None): starting_node = nearest_node_on_outline(graph, starting_point) @@ -340,6 +342,7 @@ def find_initial_path(graph, starting_point, ending_point=None): return path + def find_stitch_path(graph, segments, starting_point=None, ending_point=None): """find a path that visits every grating segment exactly once @@ -362,7 +365,6 @@ def find_stitch_path(graph, segments, starting_point=None, ending_point=None): the order of most-recently-visited first. """ - original_graph = graph graph = graph.copy() num_segments = len(segments) segments_visited = 0 diff --git a/lib/stitches/fill.py b/lib/stitches/fill.py index 14971cb4..af0a8403 100644 --- a/lib/stitches/fill.py +++ b/lib/stitches/fill.py @@ -1,6 +1,5 @@ import shapely import math -import sys from ..svg import PIXELS_PER_MM from ..utils import cache, Point as InkstitchPoint @@ -37,6 +36,7 @@ def adjust_stagger(stitch, angle, row_spacing, max_stitch_length, staggers): return stitch - offset * east(angle) + def stitch_row(stitches, beg, end, angle, row_spacing, max_stitch_length, staggers): # We want our stitches to look like this: # @@ -119,7 +119,7 @@ def intersect_region_with_grating(shape, angle, row_spacing, end_row_spacing=Non height = abs(end - start) - #print >> dbg, "grating:", start, end, height, row_spacing, end_row_spacing + # print >> dbg, "grating:", start, end, height, row_spacing, end_row_spacing # offset start slightly so that rows are always an even multiple of # row_spacing_px from the origin. This makes it so that abutting @@ -163,11 +163,10 @@ def intersect_region_with_grating(shape, angle, row_spacing, end_row_spacing=Non return rows + def section_to_stitches(group_of_segments, angle, row_spacing, max_stitch_length, staggers): stitches = [] - first_segment = True swap = False - last_end = None for segment in group_of_segments: (beg, end) = segment @@ -238,7 +237,7 @@ def pull_runs(rows, shape, row_spacing): # print >> sys.stderr, len(run) runs.append(run) - rows = [row for row in rows if len(row) > 0] + rows = [r for r in rows if len(r) > 0] count += 1 diff --git a/lib/svg/path.py b/lib/svg/path.py index 0a8dcb74..4502b2ea 100644 --- a/lib/svg/path.py +++ b/lib/svg/path.py @@ -1,8 +1,8 @@ import simpletransform -import cubicsuperpath from .units import get_viewbox_transform + def apply_transforms(path, node): transform = get_node_transform(node) @@ -11,6 +11,7 @@ def apply_transforms(path, node): return path + def get_node_transform(node): # start with the identity transform transform = [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]] @@ -26,6 +27,7 @@ def get_node_transform(node): return transform + def get_correction_transform(node, child=False): """Get a transform to apply to new siblings or children of this SVG node""" diff --git a/lib/svg/realistic_rendering.py b/lib/svg/realistic_rendering.py index e31534da..73da3a09 100644 --- a/lib/svg/realistic_rendering.py +++ b/lib/svg/realistic_rendering.py @@ -2,7 +2,7 @@ import simplepath import math from .units import PIXELS_PER_MM -from ..utils import cache, Point +from ..utils import Point # The stitch vector path looks like this: # _______ @@ -102,6 +102,7 @@ realistic_filter = """ </filter> """ + def realistic_stitch(start, end): """Generate a stitch vector path given a start and end point.""" diff --git a/lib/svg/svg.py b/lib/svg/svg.py index 48b1343a..b1cc91d9 100644 --- a/lib/svg/svg.py +++ b/lib/svg/svg.py @@ -1,4 +1,6 @@ -import simpletransform, simplestyle, inkex +import simpletransform +import simplestyle +import inkex from .units import get_viewbox_transform from .tags import SVG_GROUP_TAG, INKSCAPE_LABEL, INKSCAPE_GROUPMODE, SVG_PATH_TAG, SVG_DEFS_TAG @@ -11,13 +13,13 @@ def color_block_to_point_lists(color_block): point_lists = [[]] for stitch in color_block: - if stitch.trim: - if point_lists[-1]: - point_lists.append([]) - continue + if stitch.trim: + if point_lists[-1]: + point_lists.append([]) + continue - if not stitch.jump and not stitch.color_change: - point_lists[-1].append(stitch.as_tuple()) + if not stitch.jump and not stitch.color_change: + point_lists[-1].append(stitch.as_tuple()) return point_lists @@ -51,13 +53,14 @@ def color_block_to_realistic_stitches(color_block, svg): 'stroke': 'none', 'filter': 'url(#realistic-stitch-filter)' }), - 'd': realistic_stitch(start, point), - 'transform': get_correction_transform(svg) - })) + 'd': realistic_stitch(start, point), + 'transform': get_correction_transform(svg) + })) start = point return paths + def color_block_to_paths(color_block, svg): paths = [] # We could emit just a single path with one subpath per point list, but @@ -68,13 +71,13 @@ def color_block_to_paths(color_block, svg): SVG_PATH_TAG, {'style': simplestyle.formatStyle( {'stroke': color, - 'stroke-width': "0.4", - 'fill': 'none'}), - 'd': "M" + " ".join(" ".join(str(coord) for coord in point) for point in point_list), - 'transform': get_correction_transform(svg), - 'embroider_manual_stitch': 'true', - 'embroider_trim_after': 'true', - })) + 'stroke-width': "0.4", + 'fill': 'none'}), + 'd': "M" + " ".join(" ".join(str(coord) for coord in point) for point in point_list), + 'transform': get_correction_transform(svg), + 'embroider_manual_stitch': 'true', + 'embroider_trim_after': 'true', + })) # no need to trim at the end of a thread color if paths: @@ -82,6 +85,7 @@ def color_block_to_paths(color_block, svg): return paths + def render_stitch_plan(svg, stitch_plan, realistic=False): layer = svg.find(".//*[@id='__inkstitch_stitch_plan__']") if layer is None: diff --git a/lib/svg/units.py b/lib/svg/units.py index 126027bc..c4ec82a0 100644 --- a/lib/svg/units.py +++ b/lib/svg/units.py @@ -1,13 +1,15 @@ import simpletransform from ..utils import cache +from ..i18n import _ # modern versions of Inkscape use 96 pixels per inch as per the CSS standard PIXELS_PER_MM = 96 / 25.4 # cribbed from inkscape-silhouette -def parse_length_with_units( str ): + +def parse_length_with_units(str): ''' Parse an SVG value which may or may not have units attached This version is greatly simplified in that it only allows: no units, @@ -39,8 +41,8 @@ def parse_length_with_units( str ): u = '%' s = s[:-1] try: - v = float( s ) - except: + v = float(s) + except BaseException: raise ValueError(_("parseLengthWithUnits: unknown unit %s") % s) return v, u @@ -53,16 +55,16 @@ def convert_length(length): return value if units == 'pt': - value /= 72 - units = 'in' + value /= 72 + units = 'in' if units == 'pc': - value /= 6 - units = 'in' + value /= 6 + units = 'in' if units == 'cm': - value *= 10 - units = 'mm' + value *= 10 + units = 'mm' if units == 'mm': value = value / 25.4 @@ -75,6 +77,7 @@ def convert_length(length): raise ValueError(_("Unknown unit: %s") % units) + @cache def get_viewbox(svg): return svg.get('viewBox').strip().replace(',', ' ').split() @@ -96,6 +99,7 @@ def get_doc_size(svg): return doc_width, doc_height + @cache def get_viewbox_transform(node): # somewhat cribbed from inkscape-silhouette diff --git a/lib/threads/catalog.py b/lib/threads/catalog.py index d9981dc6..ece2f8ac 100644 --- a/lib/threads/catalog.py +++ b/lib/threads/catalog.py @@ -85,8 +85,10 @@ class _ThreadCatalog(Sequence): if palette.name == name: return palette + _catalog = None + def ThreadCatalog(): """Singleton _ThreadCatalog factory""" diff --git a/lib/threads/color.py b/lib/threads/color.py index cc6c0c48..8c596e44 100644 --- a/lib/threads/color.py +++ b/lib/threads/color.py @@ -3,6 +3,7 @@ import re import colorsys from pyembroidery.EmbThread import EmbThread + class ThreadColor(object): hex_str_re = re.compile('#([0-9a-z]{3}|[0-9a-z]{6})', re.I) diff --git a/lib/threads/palette.py b/lib/threads/palette.py index 785fb082..654c43e5 100644 --- a/lib/threads/palette.py +++ b/lib/threads/palette.py @@ -41,8 +41,11 @@ class ThreadPalette(Set): if self.name.lower().startswith('name: ink/stitch: '): self.name = self.name[18:] - columns_line = palette.readline() - headers_line = palette.readline() + # number of columns + palette.readline() + + # headers + palette.readline() for line in palette: fields = line.split("\t", 3) diff --git a/lib/utils/cache.py b/lib/utils/cache.py index 38fe8f2c..3a2636f2 100644 --- a/lib/utils/cache.py +++ b/lib/utils/cache.py @@ -4,5 +4,7 @@ except ImportError: from backports.functools_lru_cache import lru_cache # simplify use of lru_cache decorator + + def cache(*args, **kwargs): return lru_cache(maxsize=None)(*args, **kwargs) diff --git a/lib/utils/geometry.py b/lib/utils/geometry.py index bfdcd3c0..ef5f12b5 100644 --- a/lib/utils/geometry.py +++ b/lib/utils/geometry.py @@ -17,7 +17,7 @@ def cut(line, distance): last_point = p if traveled == distance: return [ - LineString(coords[:i+1]), + LineString(coords[:i + 1]), LineString(coords[i:])] if traveled > distance: cp = line.interpolate(distance) @@ -25,6 +25,7 @@ def cut(line, distance): LineString(coords[:i] + [(cp.x, cp.y)]), LineString([(cp.x, cp.y)] + coords[i:])] + def cut_path(points, length): """Return a subsection of at the start of the path that is length units long. @@ -79,7 +80,7 @@ class Point: if isinstance(other, (int, float)): return self * (1.0 / other) else: - raise ValueErorr("cannot divide Point by %s" % type(other)) + raise ValueError("cannot divide Point by %s" % type(other)) def __repr__(self): return "Point(%s,%s)" % (self.x, self.y) diff --git a/lib/utils/inkscape.py b/lib/utils/inkscape.py index 2d0298bc..a650da69 100644 --- a/lib/utils/inkscape.py +++ b/lib/utils/inkscape.py @@ -1,6 +1,7 @@ from os.path import realpath, expanduser, join as path_join import sys + def guess_inkscape_config_path(): if getattr(sys, 'frozen', None): path = realpath(path_join(sys._MEIPASS, "..", "..", "..")) diff --git a/lib/utils/io.py b/lib/utils/io.py index e5a246f3..f51f629c 100644 --- a/lib/utils/io.py +++ b/lib/utils/io.py @@ -19,6 +19,8 @@ def restore_stderr(): # It's probably possible to generalize this code, but when I tried, # the result was incredibly unreadable. + + def save_stdout(): null = open(os.devnull, 'w') sys.stdout_dup = os.dup(sys.stdout.fileno()) diff --git a/messages.po b/messages.po index 465954c9..e3f14902 100644 --- a/messages.po +++ b/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2018-08-17 16:19-0400\n" +"POT-Creation-Date: 2018-08-25 11:47-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -17,6 +17,95 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.5.3\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -89,7 +178,7 @@ msgid "" "shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -116,45 +205,45 @@ msgid "" "Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "" "Setting this dictates how many rows apart the stitches will be before " "they fall in the same column position." msgstr "" -#: lib/elements/fill.py:112 +#: lib/elements/fill.py:114 #, python-format msgid "" "shape %s is so small that it cannot be filled with stitches. Please make" @@ -173,7 +262,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -181,104 +270,104 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "" "Satin stitches pull the fabric together, resulting in a column narrower " "than you draw in Inkscape. This setting expands each pair of needle " "penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "" "Shrink the outline, to prevent the underlay from showing around the " "outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "" "One or more rails crosses itself, and this is not allowed. Please split " "into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "" "satin column: One or more of the rungs intersects the rails more than " "once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "" "satin column: object %(id)s has two paths with an unequal number of " @@ -297,40 +386,40 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "" "Backtrack each stitch this many times. A value of 1 would triple each " "stitch (forward, back, forward). A value of 2 would quintuple each " "stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "" "Stitch every node in the path. Stitch length and zig-zag spacing are " "ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "" "Legacy running stitch setting detected!\n" "\n" @@ -339,36 +428,36 @@ msgid "" "be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "" "Cannot convert %s to a satin column because it intersects itself. Try " "breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "" "\n" "\n" @@ -379,64 +468,78 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:379 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "" "Inkscape add-on files have been installed. Please restart Inkscape to " "load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" -#: lib/extensions/layer_commands.py:28 +#: lib/extensions/layer_commands.py:27 msgid "Please choose one or more commands to add." msgstr "" -#: lib/extensions/object_commands.py:93 +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 msgid "Please select one or more objects to which to attach commands." msgstr "" -#: lib/extensions/object_commands.py:101 +#: lib/extensions/object_commands.py:108 msgid "Please choose one or more commands to attach." msgstr "" @@ -473,76 +576,76 @@ msgstr "" msgid "Inkscape objects" msgstr "" -#: lib/extensions/params.py:346 +#: lib/extensions/params.py:345 msgid "Embroidery Params" msgstr "" -#: lib/extensions/params.py:363 +#: lib/extensions/params.py:362 msgid "Presets" msgstr "" -#: lib/extensions/params.py:368 +#: lib/extensions/params.py:367 msgid "Load" msgstr "" -#: lib/extensions/params.py:371 +#: lib/extensions/params.py:370 msgid "Add" msgstr "" -#: lib/extensions/params.py:374 +#: lib/extensions/params.py:373 msgid "Overwrite" msgstr "" -#: lib/extensions/params.py:377 +#: lib/extensions/params.py:376 msgid "Delete" msgstr "" -#: lib/extensions/params.py:384 +#: lib/extensions/params.py:383 msgid "Use Last Settings" msgstr "" -#: lib/extensions/params.py:387 +#: lib/extensions/params.py:386 msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:439 +#: lib/extensions/params.py:447 msgid "Preview" msgstr "" -#: lib/extensions/params.py:458 +#: lib/extensions/params.py:466 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:511 +#: lib/extensions/params.py:519 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:511 lib/extensions/params.py:517 -#: lib/extensions/params.py:545 +#: lib/extensions/params.py:519 lib/extensions/params.py:525 +#: lib/extensions/params.py:553 msgid "Preset" msgstr "" -#: lib/extensions/params.py:517 +#: lib/extensions/params.py:525 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:545 +#: lib/extensions/params.py:553 #, python-format msgid "" "Preset \"%s\" already exists. Please use another name or press " "\"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "" "A print preview has been opened in your web browser. This window will " "stay open in order to communicate with the JavaScript code running in " @@ -552,7 +655,7 @@ msgid "" " or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" @@ -560,80 +663,115 @@ msgstr "" msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:40 -msgid "Speed up" +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:45 +msgid "<<" +msgstr "" + +#: lib/simulator.py:45 +msgid "Play reverse (arrow left)" +msgstr "" + +#: lib/simulator.py:46 +msgid "-" +msgstr "" + +#: lib/simulator.py:46 +msgid "Play one frame backward (+)" +msgstr "" + +#: lib/simulator.py:47 +msgid "+" +msgstr "" + +#: lib/simulator.py:47 +msgid "Play one frame forward (+)" msgstr "" -#: lib/simulator.py:40 -msgid "Press + or arrow up to speed up" +#: lib/simulator.py:48 +msgid ">>" msgstr "" -#: lib/simulator.py:41 -msgid "Slow down" +#: lib/simulator.py:48 +msgid "Play forward (arrow right)" msgstr "" -#: lib/simulator.py:41 -msgid "Press - or arrow down to slow down" +#: lib/simulator.py:49 +msgid "^" msgstr "" -#: lib/simulator.py:42 +#: lib/simulator.py:49 +msgid "Speed up (arrow up)" +msgstr "" + +#: lib/simulator.py:50 +msgid "v" +msgstr "" + +#: lib/simulator.py:50 +msgid "Slow down (arrow down)" +msgstr "" + +#: lib/simulator.py:51 msgid "Pause" msgstr "" -#: lib/simulator.py:42 -msgid "Press P to pause the animation" +#: lib/simulator.py:51 +msgid "Pause (P)" msgstr "" -#: lib/simulator.py:43 +#: lib/simulator.py:52 msgid "Restart" msgstr "" -#: lib/simulator.py:43 -msgid "Press R to restart the animation" +#: lib/simulator.py:52 +msgid "Restart (R)" msgstr "" -#: lib/simulator.py:44 +#: lib/simulator.py:53 msgid "Quit" msgstr "" -#: lib/simulator.py:44 -msgid "Press Q to close the simulation window" +#: lib/simulator.py:53 +msgid "Close (Q)" msgstr "" -#: lib/simulator.py:169 +#: lib/simulator.py:231 msgid "Stitch # " msgstr "" -#: lib/simulator.py:172 -msgid "Stitch #" -msgstr "" - -#: lib/stitches/auto_fill.py:168 +#: lib/stitches/auto_fill.py:167 msgid "" "Unable to autofill. This most often happens because your shape is made " "up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:393 +#: lib/stitches/auto_fill.py:395 msgid "" "Unexpected error while generating fill stitches. Please send your SVG " "file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -800,7 +938,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -899,3 +1037,275 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "" +"Hide all other top-level layers when the embroidery layer is generated, " +"in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/pyembroidery b/pyembroidery -Subproject fe7609dc59efb15f6a27d0ff7d82ac2ce7f6be5 +Subproject 5dd6f5f460def25b47ec588603b7650188ff213 diff --git a/requirements.txt b/requirements.txt index 8fbea7cd..84bb1d51 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,6 +9,7 @@ numpy jinja2 requests colormath +stringcase # We're not ready for flask 1.0 yet. Logging changed, among othe things. flask==0.* @@ -34,9 +34,10 @@ args[0] = binary_path try: extension = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout, stderr = extension.communicate() -except: +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: https://github.com/inkstitch/inkstitch/issues\n" + 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" diff --git a/symbols/inkstitch.svg b/symbols/inkstitch.svg index e951449d..6095caf0 100644 --- a/symbols/inkstitch.svg +++ b/symbols/inkstitch.svg @@ -25,9 +25,9 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="4" - inkscape:cx="141.99463" - inkscape:cy="281.10022" + inkscape:zoom="2.828427" + inkscape:cx="159.63333" + inkscape:cy="278.06489" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="true" @@ -149,8 +149,8 @@ </symbol> <symbol id="inkstitch_ignore_layer"> - <title - id="title25366">Ignore entire layer when generating stitch plan</title> + <title + id="title9694">Ignore entire layer when generating stitch plan</title> <path id="inkstitch_path25368-7" d="M 9.2465269,-4.9265995e-6 C 9.246525,5.1067241 5.1067028,9.2465451 -2.615882e-5,9.2465451 -5.1067554,9.2465451 -9.2465782,5.1067241 -9.2465801,-4.9265995e-6 -9.24658,-2.4523429 -8.2723922,-4.8042399 -6.538327,-6.5383059 c 1.7340653,-1.734065 4.0859624,-2.708252 6.53830084118,-2.708252 5.10673015882,0 9.24655285882,4.139823 9.24655305882,9.2465529734005 0,0 0,0 0,0" @@ -198,6 +198,51 @@ width="100%" height="100%" /> </symbol> + <symbol + style="display:inline" + id="inkstitch_stop_position"> + <title + id="inkstitch_title9427-6">Jump destination for Stop commands (a.k.a. "Frame Out position").</title> + <path + inkscape:connector-curvature="0" + style="opacity:1;vector-effect:none;fill:#fafafa;fill-opacity:1;fill-rule:evenodd;stroke:#003399;stroke-width:1.06500006;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3.19500017, 3.19500017;stroke-dashoffset:0;stroke-opacity:1" + d="m 9.220113,0.07922893 c -1.9e-6,5.10672897 -4.1398241,9.24654997 -9.24655297,9.24654997 -5.10672933,0 -9.24655213,-4.139821 -9.24655403,-9.24654997 1e-7,-2.45233803 0.9741879,-4.80423503 2.7082531,-6.53830103 1.7340653,-1.734065 4.0859624,-2.708252 6.53830093,-2.708252 5.10673007,0 9.24655277,4.139823 9.24655297,9.24655303 0,0 0,0 0,0" + id="inkstitch_circle13166-7" /> + <path + inkscape:connector-curvature="0" + id="inkstitch_rect5371-2-5" + d="m 4.570439,1.4295589 c 0,0 0,2.32837 0,2.32837 0,0 -9.140878,0 -9.140878,0 0,0 0,-2.32837 0,-2.32837 0,0 9.140878,0 9.140878,0" + style="opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.27154255;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:4.81866985, 4.81866985;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" /> + <path + inkscape:connector-curvature="0" + id="inkstitch_rect5371-2-5-3" + d="m 4.570439,0.00792594 c 0,0 -9.140878,0 -9.140878,0 0,0 4.570439028610238,-4.51587004 4.570439028610238,-4.51587004 0,0 4.570438971389763,4.51587004 4.570438971389763,4.51587004" + style="display:inline;opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.27154255;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:4.81866985, 4.81866985;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" /> + </symbol> + <symbol + id="inkstitch_origin" + style="display:inline"> + <title + id="inkstitch_title9427-67">Origin for exported embroidery files</title> + <path + style="opacity:1;vector-effect:none;fill:#fafafa;fill-opacity:1;fill-rule:evenodd;stroke:#003399;stroke-width:1.06500006;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3.19500017, 3.19500017;stroke-dashoffset:0;stroke-opacity:1" + d="m 9.220113,0.07922893 c -1.9e-6,5.10672897 -4.1398241,9.24654997 -9.24655297,9.24654997 -5.10672933,0 -9.24655213,-4.139821 -9.24655403,-9.24654997 1e-7,-2.45233803 0.9741879,-4.80423503 2.7082531,-6.53830103 1.7340653,-1.734065 4.0859624,-2.708252 6.53830093,-2.708252 5.10673007,0 9.24655277,4.139823 9.24655297,9.24655303 0,0 0,0 0,0" + id="inkstitch_circle13166-5" + inkscape:connector-curvature="0" /> + <g + id="g27211"> + <path + id="inkstitch_rect5371-2-3" + d="m -3.8183594,-6.3222656 c 0,0 -1.9511718,3.375 -1.9511718,3.375 0,0 0.9746093,0 0.9746093,0 0,0 0,2.33984372 0,2.33984372 0,0 -0.703125,0 -0.703125,0 0,0 0,0.6484375 0,0.6484375 0,0 0.703125,0 0.703125,0 0,0 0,1.60156248 0,1.60156248 0,0 -0.703125,0 -0.703125,0 0,0 0,0.6484375 0,0.6484375 0,0 0.703125,0 0.703125,0 0,0 0,2.9003906 0,2.9003906 0,0 3.7675781,0 3.7675781,0 0,0 0,0.7265626 0,0.7265626 0,0 0.65039068,0 0.65039068,0 0,0 0,-0.7265626 0,-0.7265626 0,0 1.59960932,0 1.59960932,0 0,0 0,0.7265626 0,0.7265626 0,0 0.6503907,0 0.6503907,0 0,0 0,-0.7265626 0,-0.7265626 0,0 1.8242187,0 1.8242187,0 0,0 0,0.9746094 0,0.9746094 0,0 3.3730469,-1.9492187 3.3730469,-1.9492187 0,0 -3.3730469,-1.9492188 -3.3730469,-1.9492188 0,0 0,0.9746094 0,0.9746094 0,0 -1.8242187,0 -1.8242187,0 0,0 0,-0.7265625 0,-0.7265625 0,0 -0.6503907,0 -0.6503907,0 0,0 0,0.7265625 0,0.7265625 0,0 -1.59960932,0 -1.59960932,0 0,0 0,-0.7265625 0,-0.7265625 0,0 -0.65039068,0 -0.65039068,0 0,0 0,0.7265625 0,0.7265625 0,0 -1.8164062,0 -1.8164062,0 0,0 0,-0.9511719 0,-0.9511719 0,0 0.75,0 0.75,0 0,0 0,-0.6484375 0,-0.6484375 0,0 -0.75,0 -0.75,0 0,0 0,-1.60156248 0,-1.60156248 0,0 0.75,0 0.75,0 0,0 0,-0.6484375 0,-0.6484375 0,0 -0.75,0 -0.75,0 0,0 0,-2.33984372 0,-2.33984372 0,0 0.9746094,0 0.9746094,0 0,0 -1.9492188,-3.375 -1.9492188,-3.375" + style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.95000005;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" + inkscape:connector-curvature="0" /> + </g> + <path + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.23560667px;line-height:100%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;display:inline;opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.18200287;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:fill markers stroke" + d="m 0.57260898,-3.1777344 c -0.071734,-1.477e-4 -0.1459261,0.023966 -0.203125,0.070312 -0.001979,0.00126 -0.003933,0.00257 -0.00586,0.00391 -0.1089887,0.095935 -0.2036022,0.1946157 -0.2851562,0.2988281 -0.080937,0.103424 -0.1496356,0.2111305 -0.203125,0.3242187 -0.053925,0.1140093 -0.092467,0.2338978 -0.1171875,0.3554688 -0.024626,0.1211014 -0.037109,0.2469313 -0.037109,0.3769531 0,0 0,0.00391 0,0.00391 -1e-7,0.1308008 0.012438,0.2575792 0.037109,0.3789062 0.024772,0.1208588 0.063476,0.2399564 0.1171875,0.3535156 0.053489,0.1130885 0.1221879,0.2207947 0.203125,0.3242188 0.079746,0.1019017 0.1731573,0.2012789 0.28125,0.296875 0.057512,0.054401 0.1230095,0.072299 0.1816406,0.076172 0.058631,0.00387 0.1145272,-0.00646 0.171875,-0.037109 0.057348,-0.030654 0.123751,-0.098677 0.1328125,-0.1914063 0.00897,-0.091756 -0.035792,-0.1679217 -0.087891,-0.2226562 0,0 -0.00195,-0.00196 -0.00195,-0.00196 -0.042833,-0.045359 -0.0821932,-0.091351 -0.1171901,-0.1367188 -0.0646652,-0.085061 -0.1178725,-0.1718145 -0.1582031,-0.2597656 -0.0404721,-0.08826 -0.0692154,-0.1791742 -0.0898438,-0.2753906 0,0 0,-0.00195 0,-0.00195 -0.019368,-0.095905 -0.029297,-0.1972936 -0.029297,-0.3046876 0,-0.1073939 0.00993,-0.2087828 0.029297,-0.3046874 0,0 0,-0.00195 0,-0.00195 0.020577,-0.095962 0.049404,-0.1859964 0.089844,-0.2734375 0.040331,-0.087951 0.093538,-0.1747036 0.1582031,-0.2597656 0.034608,-0.045272 0.072382,-0.090974 0.1132813,-0.1347656 0.1100322,-0.1004922 0.106643,-0.2892446 0.00977,-0.3847657 -0.048439,-0.04776 -0.1177191,-0.072118 -0.1894532,-0.072266 0,0 -4.1e-6,-6.4e-6 -4.1e-6,-6.4e-6 m 5.98828132,0 c -0.071651,7.8e-5 -0.1408014,0.023039 -0.1894531,0.070312 -0.097304,0.094548 -0.1026997,0.2857883 0.00781,0.3867188 0.042446,0.045212 0.082141,0.091474 0.1152343,0.1347656 0.063728,0.083829 0.1151348,0.1701035 0.15625,0.2597656 0.041495,0.089724 0.071628,0.1807109 0.091797,0.2753907 0.019368,0.095905 0.029297,0.1972939 0.029297,0.3046874 0,0.1080768 -0.00969,0.210199 -0.029297,0.3066407 -0.020235,0.094281 -0.050544,0.1854295 -0.091797,0.2753906 -0.041114,0.089661 -0.092522,0.1759365 -0.15625,0.2597656 -0.035531,0.046061 -0.07555,0.092638 -0.1191406,0.1386719 -0.052099,0.054735 -0.096857,0.1309001 -0.087891,0.2226562 0.00906,0.092729 0.075465,0.1607525 0.1328125,0.1914063 0.057348,0.030654 0.1132438,0.040982 0.171875,0.037109 0.058631,-0.00387 0.1241291,-0.021771 0.1816406,-0.076172 0.1080928,-0.095596 0.2015041,-0.1949734 0.2812503,-0.296875 0.08094,-0.1034241 0.149635,-0.2111302 0.203125,-0.3242188 0.05371,-0.1135599 0.09242,-0.2326573 0.117187,-0.3535156 0.02467,-0.1213269 0.03711,-0.2481053 0.03711,-0.3789062 0,0 0,-0.00391 0,-0.00391 0,-0.1300217 -0.01248,-0.2558514 -0.03711,-0.3769531 -0.02472,-0.1215662 -0.06326,-0.2414547 -0.117184,-0.3554641 -0.05349,-0.1130875 -0.122188,-0.2207943 -0.203125,-0.3242187 -0.081554,-0.1042124 -0.176168,-0.2028933 -0.2851566,-0.2988281 -0.00193,-0.00134 -0.00388,-0.00265 -0.00586,-0.00391 -0.05737,-0.046485 -0.1314738,-0.07039 -0.203125,-0.070312 0,0 6e-7,3.2e-6 6e-7,3.2e-6 m -4.7011719,0.3515625 c -0.1283255,0 -0.2496161,0.018417 -0.3613281,0.052734 -0.1205672,0.03623 -0.231977,0.1029821 -0.3222656,0.1953125 -0.092899,0.095 -0.158771,0.2147859 -0.20507822,0.3535156 -3.58e-6,6.5e-4 -3.58e-6,0.0013 0,0.00195 -0.047143,0.1440141 -0.068359,0.3107544 -0.068359,0.5058593 0,0.187956 0.021404,0.3526519 0.068359,0.4960938 -3.58e-6,6.5e-4 -3.58e-6,0.0013 0,0.00195 0.046821,0.138265 0.11525652,0.2561727 0.20312502,0.3496094 6.449e-4,6.5506e-4 0.00129,0.001305 0.00195,0.00195 0.086822,0.090925 0.1925294,0.1619069 0.3144532,0.203125 0.113825,0.038479 0.2343925,0.056641 0.359375,0.056641 0.1240896,-10e-8 0.2463111,-0.01819 0.3613281,-0.056641 0.1227637,-0.04104 0.2290582,-0.1116491 0.3164063,-0.203125 0.090879,-0.094856 0.160379,-0.2144584 0.2070312,-0.3515625 0,0 0,-0.00195 0,-0.00195 0.04963,-0.1446454 0.070315,-0.3097522 0.070315,-0.4960938 0,-0.1944243 -0.019335,-0.3619907 -0.068359,-0.5078125 C 2.6898173,-2.3649775 2.6213826,-2.484308 2.5296403,-2.578125 2.4412783,-2.668486 2.3312446,-2.7348378 2.2112809,-2.7714844 c -0.1098451,-0.034511 -0.2276775,-0.054687 -0.3515625,-0.054687 0,0 0,0 0,0 m 3.40625,0 c -0.1283255,0 -0.2509177,0.018217 -0.3632812,0.052734 -0.1211815,0.036426 -0.2311771,0.1041614 -0.3203125,0.1953125 -0.0929,0.095001 -0.1587709,0.2147864 -0.2050781,0.3535156 -3.6e-6,6.5e-4 -3.6e-6,0.0013 0,0.00195 -0.047144,0.144015 -0.068359,0.3107548 -0.068359,0.5058593 0,0.1879556 0.021403,0.352651 0.068359,0.4960938 -3.6e-6,6.5e-4 -3.6e-6,0.0013 0,0.00195 0.04626,0.13661 0.1121532,0.2549502 0.2011718,0.3496094 6.449e-4,6.5506e-4 0.00129,0.001305 0.00195,0.00195 0.087964,0.092121 0.195188,0.1621455 0.3164062,0.203125 0.1138248,0.038479 0.2343924,0.056641 0.359375,0.056641 0.1240899,0 0.2450506,-0.018421 0.359375,-0.056641 0.1227636,-0.04104 0.2290582,-0.1116493 0.3164062,-0.203125 0.090879,-0.094856 0.160379,-0.2144583 0.2070313,-0.3515625 0,0 0,-0.00195 0,-0.00195 0.04909,-0.1430335 0.072266,-0.3084325 0.072266,-0.4960938 0,-0.1956861 -0.021841,-0.3636373 -0.070312,-0.5078125 C 6.0946613,-2.3633389 6.02879,-2.4831245 5.9358903,-2.578125 5.8475279,-2.6684863 5.7374948,-2.7348378 5.6175309,-2.7714844 c -0.1098451,-0.034511 -0.2276775,-0.054687 -0.3515625,-0.054687 0,0 0,0 0,0 m -3.40625,0.5429688 c 0.055432,0 0.1009954,0.00891 0.1367188,0.023437 6.5e-4,3.6e-6 0.0013,3.6e-6 0.00195,0 0.02557,0.00985 0.045222,0.025496 0.070312,0.060547 6.5e-4,3.6e-6 0.0013,3.6e-6 0.00195,0 0.022095,0.030406 0.047135,0.083247 0.064453,0.1621094 -3.6e-6,6.5e-4 -3.6e-6,0.0013 0,0.00195 0.016958,0.076535 0.025391,0.1828146 0.025391,0.3183593 0,0.1285689 -0.010757,0.2344819 -0.029297,0.3105469 -0.0184,0.079083 -0.042145,0.132477 -0.066406,0.1660156 -6.5e-4,-3.6e-6 -0.0013,-3.6e-6 -0.00195,0 -0.02365,0.033039 -0.047699,0.051825 -0.076172,0.064453 -0.036523,0.01511 -0.077371,0.023437 -0.1328125,0.023437 -0.058078,0 -0.1013487,-0.0088 -0.1367188,-0.023437 -0.02914,-0.012911 -0.055461,-0.032877 -0.080078,-0.066406 -0.022766,-0.033187 -0.04635,-0.085255 -0.064453,-0.1621094 0,0 0,-0.00195 0,-0.00195 -0.016808,-0.07661 -0.025391,-0.1812575 -0.025391,-0.3105469 0,-0.1346383 0.00848,-0.2420437 0.025391,-0.3183593 3.6e-6,-6.5e-4 3.6e-6,-0.0013 0,-0.00195 0.017622,-0.080248 0.04212,-0.1316854 0.0625,-0.1601562 0.023285,-0.031716 0.046461,-0.05007 0.078125,-0.0625 0.038881,-0.015263 0.085765,-0.023437 0.1464844,-0.023437 0,0 3.1e-6,-3.4e-6 3.1e-6,-3.4e-6 m 3.40625,0 c 0.055432,0 0.097781,0.0084 0.1347656,0.023437 6.5e-4,3.6e-6 0.0013,3.6e-6 0.00195,0 0.02677,0.010311 0.048719,0.027653 0.072266,0.060547 6.5e-4,3.6e-6 0.0013,3.6e-6 0.00195,0 0.022095,0.030406 0.047135,0.083247 0.064453,0.1621094 -3.6e-6,6.5e-4 -3.6e-6,0.0013 0,0.00195 0.016958,0.076535 0.025391,0.1828146 0.025391,0.3183593 1e-6,0.1285671 -0.010756,0.2344806 -0.029297,0.3105469 -0.0184,0.079083 -0.042145,0.132477 -0.066406,0.1660156 -6.5e-4,-3.6e-6 -0.0013,-3.6e-6 -0.00195,0 -0.02365,0.033039 -0.047699,0.051825 -0.076172,0.064453 -0.036523,0.01511 -0.077371,0.023437 -0.1328126,0.023437 -0.058078,0 -0.1045526,-0.00932 -0.1386718,-0.023437 -0.027839,-0.012332 -0.052016,-0.030845 -0.078125,-0.066406 -0.024212,-0.035177 -0.048775,-0.087353 -0.066406,-0.1621094 0,0 0,-0.00195 0,-0.00195 -0.016808,-0.07661 -0.025391,-0.1812576 -0.025391,-0.3105469 0,-0.1346383 0.00848,-0.2420434 0.025391,-0.3183593 3.6e-6,-6.5e-4 3.6e-6,-0.0013 0,-0.00195 0.017138,-0.078042 0.042536,-0.1295963 0.064453,-0.1601562 0.024828,-0.033817 0.045701,-0.050539 0.076172,-0.0625 0.037688,-0.014795 0.087718,-0.023437 0.1484375,-0.023437 0,0 2.3e-6,-3.4e-6 2.3e-6,-3.4e-6 m -1.5664062,1.0058593 c -0.097876,-0.029355 -0.2049377,-0.028281 -0.3144532,0.00781 -0.1691652,0.055752 -0.26201,0.2041752 -0.2441406,0.3730468 0.00893,0.084436 0.065507,0.1795074 0.1523438,0.2265625 0.00174,9.428e-4 0.00411,-9.08e-4 0.00586,0 -0.03157,0.046422 -0.066871,0.097993 -0.056641,0.1542969 0.013731,0.075568 0.061485,0.1250427 0.109375,0.1542969 0.095781,0.058508 0.2242885,0.048199 0.3203125,-0.025391 0.024113,-0.01848 0.051789,-0.03993 0.080078,-0.070312 0,0 0.00195,-0.00195 0.00195,-0.00195 0.028338,-0.029789 0.049476,-0.061384 0.066406,-0.089844 0,0 0.00195,-0.00195 0.00195,-0.00195 0.04171,-0.070204 0.043422,-0.1104433 0.052734,-0.1542969 0.020331,-0.067932 0.046748,-0.1800329 0.033203,-0.3085938 10e-4,-0.071525 -0.027523,-0.1432706 -0.068359,-0.1835937 -0.044315,-0.043758 -0.091687,-0.0654 -0.140625,-0.080078 0,0 6.5e-6,-3.7e-6 6.5e-6,-3.7e-6" + id="path16421-8" + inkscape:connector-curvature="0" /> + </symbol> </defs> <metadata id="metadata8380"> @@ -276,5 +321,21 @@ width="100%" height="100%" transform="translate(226.77166,75.590554)" /> + <use + transform="translate(264.59335,75.511321)" + height="100%" + width="100%" + y="0" + x="0" + id="use9692" + xlink:href="#inkstitch_frame_out" /> + <use + xlink:href="#inkstitch_origin" + id="use27375" + x="0" + y="0" + width="100%" + height="100%" + transform="translate(302.38862,75.511321)" /> </g> </svg> diff --git a/inx/inkstitch_convert_to_satin.inx b/templates/convert_to_satin.inx index d71b2081..50886d4a 100644 --- a/inx/inkstitch_convert_to_satin.inx +++ b/templates/convert_to_satin.inx @@ -1,14 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> <inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>Convert Line to Satin</_name> - <id>org.inkstitch.convert_to_satin</id> + <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> <effects-menu> - <submenu _name="Embroidery" /> + <submenu name="Ink/Stitch"> + <submenu name="{% trans %}English{% endtrans %}" /> + </submenu> </effects-menu> </effect> <script> diff --git a/templates/embroider.inx b/templates/embroider.inx new file mode 100644 index 00000000..54f3be1b --- /dev/null +++ b/templates/embroider.inx @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> +<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"> + {% for format, description in formats %} + <_option value="{{ format }}">{{ _(description) }} ({{ format | upper }})</_option> + {% endfor %} + {% for format, description in debug_formats %} + <_option value="{{ format }}">{{ _(description) }} ({{ format | upper }}) [{{ _("DEBUG") }}]</_option> + {% endfor %} + </param> + <param name="path" type="string" _gui-text="{% trans %}Directory{% endtrans %}" _gui-description="{% trans %}Leave empty to save the output in Inkscape's extension directory.{% endtrans %}"></param> + <param name="extension" type="string" gui-hidden="true">embroider</param> + <effect> + <object-type>all</object-type> + <effects-menu> + <submenu name="Ink/Stitch"> + {# L10N This is used for the submenu under Extensions -> Ink/Stitch. Translate this to your language's word for its language, e.g. "Español" for the spanish translation. #} + <submenu name="{% trans %}English{% endtrans %}" /> + </submenu> + </effects-menu> + </effect> + <script> + <command reldir="extensions" interpreter="python">inkstitch.py</command> + </script> +</inkscape-extension> diff --git a/inx/inkstitch_flip.inx b/templates/flip.inx index f129b8d9..ebeb4090 100644 --- a/inx/inkstitch_flip.inx +++ b/templates/flip.inx @@ -1,14 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> <inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>Flip Satin Columns</_name> - <id>org.inkstitch.flip_satins</id> + <name>{% trans %}Flip Satin Columns{% 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> <effects-menu> - <submenu _name="Embroidery"/> + <submenu name="Ink/Stitch"> + <submenu name="{% trans %}English{% endtrans %}" /> + </submenu> </effects-menu> </effect> <script> diff --git a/templates/global_commands.inx b/templates/global_commands.inx new file mode 100644 index 00000000..eda2721d --- /dev/null +++ b/templates/global_commands.inx @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<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> + {% endfor %} + <param name="extension" type="string" gui-hidden="true">global_commands</param> + <effect> + <object-type>all</object-type> + <effects-menu> + <submenu name="Ink/Stitch"> + <submenu name="{% trans %}English{% endtrans %}"> + {# L10N Inkscape submenu under Extensions -> Ink/Stitch #} + <submenu name="{% trans %}Commands{% endtrans %}" /> + </submenu> + </submenu> + </effects-menu> + </effect> + <script> + <command reldir="extensions" interpreter="python">inkstitch.py</command> + </script> +</inkscape-extension> diff --git a/templates/embroider_input.inx b/templates/input.inx index 15ccdef8..6e810a70 100644 --- a/templates/embroider_input.inx +++ b/templates/input.inx @@ -1,14 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> <inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>{{ format | upper }} file input</_name> - <id>org.inkstitch.input.{{ format }}</id> + <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> - <_filetypename>Ink/Stitch: {{ description }} (.{{ format }})</_filetypename> - <_filetypetooltip>convert {{ format | upper }} file to Ink/Stitch manual-stitch paths</_filetypetooltip> + <_filetypename>Ink/Stitch: {{ _(description) }} (.{{ format }})</_filetypename> + <_filetypetooltip>{{ _("convert %(file_extension)s file to Ink/Stitch manual-stitch paths") % dict(file_extension=format.upper()) }}</_filetypetooltip> </input> <param name="extension" type="string" gui-hidden="true">input</param> <script> diff --git a/inx/inkstitch_install.inx b/templates/install.inx index 7275e13a..f3aa6c0a 100644 --- a/inx/inkstitch_install.inx +++ b/templates/install.inx @@ -1,14 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> <inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>Install add-ons for Inkscape</_name> - <id>org.inkstitch.install</id> + <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> <effects-menu> - <submenu _name="Embroidery"/> + <submenu name="Ink/Stitch"> + <submenu name="{% trans %}English{% endtrans %}" /> + </submenu> </effects-menu> </effect> <script> diff --git a/templates/layer_commands.inx b/templates/layer_commands.inx new file mode 100644 index 00000000..f1a8f987 --- /dev/null +++ b/templates/layer_commands.inx @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<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> + {% endfor %} + <param name="extension" type="string" gui-hidden="true">layer_commands</param> + <effect> + <object-type>all</object-type> + <effects-menu> + <submenu name="Ink/Stitch"> + <submenu name="{% trans %}English{% endtrans %}"> + <submenu name="{% trans %}Commands{% endtrans %}" /> + </submenu> + </submenu> + </effects-menu> + </effect> + <script> + <command reldir="extensions" interpreter="python">inkstitch.py</command> + </script> +</inkscape-extension> diff --git a/inx/inkstitch_attach_commands.inx b/templates/object_commands.inx index 61cf7213..68535db2 100644 --- a/inx/inkstitch_attach_commands.inx +++ b/templates/object_commands.inx @@ -1,19 +1,21 @@ <?xml version="1.0" encoding="UTF-8"?> <inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>Attach Commands</_name> - <id>org.inkstitch.commands</id> + <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> - <param name="fill_start" type="boolean" _gui-text="Fill starting position">false</param> - <param name="fill_end" type="boolean" _gui-text="Fill ending position">false</param> - <param name="stop" type="boolean" _gui-text="Stop after sewing this object">false</param> - <param name="trim" type="boolean" _gui-text="Trim thread after sewing this object">false</param> - <param name="ignore_object" type="boolean" _gui-text="Ignore this object (do not stitch)">false</param> + {% for command, description in object_commands %} + <param name="{{ command }}" type="boolean" _gui-text="{{ _(description ) }}">false</param> + {% endfor %} <param name="extension" type="string" gui-hidden="true">object_commands</param> <effect> <object-type>all</object-type> <effects-menu> - <submenu _name="Embroidery" /> + <submenu name="Ink/Stitch"> + <submenu name="{% trans %}English{% endtrans %}"> + <submenu name="{% trans %}Commands{% endtrans %}" /> + </submenu> + </submenu> </effects-menu> </effect> <script> diff --git a/templates/embroider_output.inx b/templates/output.inx index 4f971fb3..2dc36d72 100644 --- a/templates/embroider_output.inx +++ b/templates/output.inx @@ -1,14 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> <inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>{{ format | upper }} file output</_name> - <id>org.inkstitch.output.{{ format }}</id> + <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> - <_filetypename>Ink/Stitch: {{ description }} (.{{ format }})</_filetypename> - <_filetypetooltip>Save design in {{ format | upper }} format using Ink/Stitch</_filetypetooltip> + <_filetypename>Ink/Stitch: {{ _(description) }} (.{{ format }})</_filetypename> + <_filetypetooltip>{{ _("Save design in %(file_extension)s format using Ink/Stitch") % dict(file_extension=format.upper()) }}</_filetypetooltip> <dataloss>true</dataloss> </output> <param name="extension" type="string" gui-hidden="true">output</param> diff --git a/inx/inkstitch_params.inx b/templates/params.inx index 7b3b4e63..f785b15c 100644 --- a/inx/inkstitch_params.inx +++ b/templates/params.inx @@ -1,14 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> <inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>Params</_name> - <id>jonh.embroider.params</id> + <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> <effects-menu> - <submenu _name="Embroidery"/> + <submenu name="Ink/Stitch"> + <submenu name="{% trans %}English{% endtrans %}" /> + </submenu> </effects-menu> </effect> <script> diff --git a/inx/inkstitch_print.inx b/templates/print.inx index edc96a4c..9e5a9dcd 100644 --- a/inx/inkstitch_print.inx +++ b/templates/print.inx @@ -1,14 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> <inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>Print</_name> - <id>jonh.embroider.print</id> + <name>{% trans %}Print{% 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> <effects-menu> - <submenu _name="Embroidery"/> + <submenu name="Ink/Stitch"> + <submenu name="{% trans %}English{% endtrans %}" /> + </submenu> </effects-menu> </effect> <script> diff --git a/inx/inkstitch_simulate.inx b/templates/simulate.inx index 66f892d8..33919cbb 100644 --- a/inx/inkstitch_simulate.inx +++ b/templates/simulate.inx @@ -1,14 +1,16 @@ <?xml version="1.0" encoding="UTF-8"?> <inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>Simulate</_name> - <id>jonh.embroider.simulate</id> + <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> <effects-menu> - <submenu _name="Embroidery"/> + <submenu name="Ink/Stitch"> + <submenu name="{% trans %}English{% endtrans %}" /> + </submenu> </effects-menu> </effect> <script> diff --git a/templates/embroider_zip_output.inx b/templates/zip.inx index 5d162357..7b576349 100644 --- a/templates/embroider_zip_output.inx +++ b/templates/zip.inx @@ -1,19 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> <inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension"> - <_name>embroidery ZIP file output</_name> - <id>org.inkstitch.output.zip</id> + <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> - <_filetypename>Ink/Stitch: ZIP export multiple formats (.zip)</_filetypename> - <_filetypetooltip>Create a ZIP with multiple embroidery file formats using Ink/Stitch</_filetypetooltip> + <_filetypename>{{ _("Ink/Stitch: ZIP export multiple formats (.zip)") }}"</_filetypename> + <_filetypetooltip>{{ _("Create a ZIP with multiple embroidery file formats using Ink/Stitch") }}</_filetypetooltip> <dataloss>true</dataloss> </output> -{% for format, description in formats %} - <param name="format-{{format}}" type="boolean" _gui-text=".{{format | upper}}: {{description}}">false</param> -{% endfor %} + {% for format, description in formats %} + <param name="format-{{ format }}" type="boolean" _gui-text=".{{ format | upper }}: {{ _(description) }}">false</param> + {% endfor %} <param name="extension" type="string" gui-hidden="true">zip</param> <script> <command reldir="extensions" interpreter="python">inkstitch.py</command> diff --git a/translations/messages_af_ZA.po b/translations/messages_af_ZA.po index d8eae9f0..427d7613 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:10\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Afrikaans\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: af_ZA\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "" @@ -152,7 +244,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -160,95 +252,95 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -821,3 +946,273 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_ar_SA.po b/translations/messages_ar_SA.po index fbf7164b..1ef30c0e 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:11\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Arabic\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: ar_SA\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "" @@ -152,7 +244,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -160,95 +252,95 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -821,3 +946,273 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_ca_ES.po b/translations/messages_ca_ES.po index 6b2d8da2..0a59a50a 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:11\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Catalan\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: ca_ES\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "" @@ -152,7 +244,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -160,95 +252,95 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -821,3 +946,273 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_cs_CZ.po b/translations/messages_cs_CZ.po index c2c1f4e5..46d02b02 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:11\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Czech\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: cs_CZ\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "" @@ -152,7 +244,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -160,95 +252,95 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -821,3 +946,273 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_da_DK.po b/translations/messages_da_DK.po index f70f7637..063563e2 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:11\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Danish\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: da_DK\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "" @@ -152,7 +244,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -160,95 +252,95 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -821,3 +946,273 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_de_DE.po b/translations/messages_de_DE.po index 1b8a3dac..67755378 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-13 09:02\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: German\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: de_DE\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "Füllstich Startposition" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "Füllstich Endposition" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +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:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "Faden abschneiden nach diesem Objekt" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "Ignoriere dieses Objekt (nicht nähen)" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +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:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "Auto-Füllung" @@ -83,7 +170,7 @@ msgstr "Erweitern" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "Erweitern Sie die Form vor dem Füllstich, um Lücken zwischen den Formen auszugleichen." -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, 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'" @@ -108,38 +195,43 @@ msgstr "Winkel der Stichlinien" 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:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "Rückwärtsfüllung (von rechts nach links)" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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 Flip-Option kann Ihnen 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "Reihenabstand" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "Abstand zwischen den Stichreihen." -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "Maximale Füll-Stichlänge" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "Wieviele Reihen bis sich das Muster wiederholt" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 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 Kolumne münden." +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "Die Form %s ist zu klein, dass sie nicht mit Stichen gefüllt werden kann. Bitte vergrößere oder lösche diese." + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "Satinkolumne" @@ -152,7 +244,7 @@ msgstr "Benutzerdefinierte Satinkolumne" msgid "\"E\" stitch" msgstr "\"E\" Stich" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "Zick-Zack Abstand (Spitze zu Spitze)" @@ -160,95 +252,95 @@ msgstr "Zick-Zack Abstand (Spitze zu Spitze)" msgid "Peak-to-peak distance between zig-zags." msgstr "Spitze-zu-Spitze-Abstand zwischen Zick-Zacks." -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "Zugausgleich" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "Satinstiche ziehen den Stoff zusammen, was zu einer schmaleren Kolumne führt, als Sie in Inkscape zeichnen. Diese Einstellung erweitert jedes Stichpaar von der Mitte der Satinkolumne nach außen." -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "Konturunterlage" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "Konturunterlage" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "Stichlänge" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "Einrückung" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "Schrumpfen Sie den Umriss, um zu verhindern, dass die Unterlage an der Außenseite der Satinkolumne sichtbar wird." -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "Mittellinien Unterlage" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "Mittellinien Unterlage" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "Zick-Zack Unterlage" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "Zick-Zack Unterlage" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "Zick-Zack Abstand (Spitze zu Spitze)" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "Abstand zwischen den Spitzen der Zick-Zacks." -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "Einrückung" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "Standard: Halbe Einrückung der Konturunterlage" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "Satinkolumne: %(id)s: es werden mindestens zwei Pfade benötigt (%(num)d gefunden)" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "Eine oder mehrere Konturen überschneiden sich, dies ist nicht erlaubt. Bitte in mehrere Satinkolumnen aufteilen." -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "Satinkolumne: Eine oder mehrere Verbindungen überschneiden nicht die Konturen." -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "Jede Umrandung sollte die Querverbindung nur einmal kreuzen." -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "Satinkolumne: Eine oder mehrere Verbindungen überschneiden sich mehrmals." -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "Satinkolumne: Objekt %s hat eine Füllung (sollte es aber nicht haben)" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "Satinkolumne: Objekt %(id)s enthält zwei Pfade mit einer ungleichen Anzahl von Knotenpunkten (%(length1)d und %(length2)d)" @@ -265,76 +357,68 @@ msgstr "Laufstichlänge" msgid "Length of stitches in running stitch mode." msgstr "Länge der Stiche im Laufstich-Modus." -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "Bean stitch Anzahl der Wiederholungen" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "Jeden Stich vervielfachen. Ein Wert von 1 würde jeden Stich verdreifachen (vorwärts, rückwärts, vorwärts). Ein Wert von 2 würde jeden Stich fünffach ausführen. Gilt nur für den Laufstich." -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "Stichlänge im Zick-Zack Modus." -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "Wiederholungen" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "Definiert, wie oft am Pfad herunter und zurück gelaufen wird." -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "Manuelle Stichpositionierung" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "Stickt jeden Punkt des Pfades. Laufstichlänge und Zick-Zack-Abstand werden ignoriert." -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "Veraltete Laufstich-Einstellung erkannt!\n\n" "Es sieht so aus, als ob für einen Laufstich eine Linie verwendet wurde, die schmaler als 0.5 Einheiten ist. Diese Methode ist veraltet. Bitte eine gestrichelte Linie für diesen Zweck benutzen. Die genaue Linienart spielt dabei keine Rolle, Hauptsache es ist keine durchgehende Linie." -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "Keine zu stickenden Pfade ausgewählt." -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "Keine zu stickenden Pfade im Dokument gefunden." -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "Tipp: Verwende Pfad -> Objekt zu Pfad umwandeln, um nicht-Pfade vor dem Sticken zu konvertieren." -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "Wählen Sie ein oder mehrere Objekte aus, an die Sie die Befehle anhängen möchten." - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "Bitte wählen Sie einen oder mehrere Befehle um diese zu verknüpfen." - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 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." #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 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:54 +#: lib/extensions/convert_to_satin.py:56 #, 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/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "\n\n" @@ -344,50 +428,76 @@ 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/install.py:30 +#: 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:" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "Garnhersteller-Farbpaletten" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "Ink/Stitch visuelle Befehle (Objekt -> Symbole ...)" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "Installieren" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "Abbrechen" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "Inkscape-Verzeichnis auswählen" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "Installation der Inkscape Erweiterung gescheitert" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "Installation fehlgeschlagen" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "Inkscape Add-ons wurden installiert. Bitte starten Sie Inkscape erneut um die neuen Add-ons zu laden." -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "Installation abgeschlossen" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "Ink/Stitch Add-ons Installer" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "Bitte wählen Sie einen oder mehrere Befehle um diese zu verknüpfen." + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "Ink/Stitch Befehl" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "Verknüpfung" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "Befehlszeichen" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "Wählen Sie ein oder mehrere Objekte aus, an die Sie die Befehle anhängen möchten." + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "Bitte wählen Sie einen oder mehrere Befehle um diese zu verknüpfen." + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "Diese Einstellung wird auf 1 Objekt angewendet." @@ -451,117 +561,132 @@ msgstr "Letzte Einstellungen verwenden" msgid "Apply and Quit" msgstr "Anwenden und schließen" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "Vorschau" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "Interner Fehler" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "Bitte geben Sie einen Namen ein, oder wählen Sie zuerst einen vordefinierten Namen aus." -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "Voreinstellung" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "Einstellung \"%s\" nicht gefunden." -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "Einstellung \"%s\" bereits vorhanden. Bitte verwenden Sie einen anderen Namen oder drücken Sie \"Überschreiben\"" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "Beende..." -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "Es ist jetzt sicher, das Fenster zu schließen." -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "Eine Druckvorschau wurde im Webbrowser geöffnet. Dieses Fenster dient zur Sicherstellung der Kommunikation zwischen Inkscape und dem Browser.\n\n" "Dieses Fenster schließt automatisch, wenn die Druckvorschau geschlossen wird. Es kann auch manuell beendet werden, falls nötig." -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "Ink/Stitch Drucken" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "Stick Simulation" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "Keine Stick-Dateiformate ausgewählt." -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "Erzeuge INX Dateien" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "Beschleunigen" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "Drücke + oder Pfeil nach oben zur Beschleunigung" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "Verlangsamen" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "Drücke - oder Pfeil nach unten zur Verlangsamung" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "Pause" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "Drücken Sie P um die Animation zu pausieren" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "Neustart" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "Drücken Sie R um die Animation erneut zu starten" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "Beenden" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "Drücken Sie Q um das Simulationsfenster zu beenden" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "Stiche # " + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "Stiche #" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "Automatische Füllung nicht möglich. Dies geschieht, weil Ihre Form aus mehreren und nicht verbundenen Abschnitten besteht." -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "Unerwarteter Fehler beim Generieren der Füllstiche. Bitte senden Sie die SVG-Datei an lexelby@github." -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "Stich-Plan" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "AnalysiereLängeMitEinheiten: Unbekannte Einheit %s" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "Unbekannte Einheit: %s" @@ -728,7 +853,7 @@ msgstr "Unterschrift Kunde" msgid "Ink/Stitch Print Preview" msgstr "Ink/Stitch Druckvorschau" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "Drucken" @@ -824,3 +949,273 @@ msgstr "Auf alle anwenden" msgid "Realistic" msgstr "Realistische Vorschau" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "Brother Stickformat" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "Melco Stickformat" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "Tajima Stickformat" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "Janome Stickformat" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "Pfaff Stickformat" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "Skalierbare Vektorgrafik" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "Durch Komma getrennte Werte" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "Singer Stickformat" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "Barudan Stickformat" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "Husqvarna Viking Stickformat" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "Toyota Stickformat" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "Bits & Volts Stickformat" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "Sunstar Stickformat" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "Tajima (Barudan) Stickformat" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "ZSK USA Stickformat" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "Elna Stickformat" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "Eltac Stickformat" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "Fortron Stickformat" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "Gold Thread Stickformat" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "Imbro Stickformat" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "Happy Stickformat" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "Data Stitch Stickformat" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "Ameco Stickformat" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "Mitsubishi Stickformat" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "Gunold Stickformat" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "ZSK TC Stickformat" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "Brother Stichformat" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "Konvertierung der Linie zu Satinstich" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "Deutsch" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "Sticken" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "Mindestlänge (mm)" + +#: templates/embroider.inx:7 +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 +msgid "Hide other layers" +msgstr "Andere Ebenen ausblenden" + +#: templates/embroider.inx:8 +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 +msgid "Output file format" +msgstr "Ausgabeformat" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "DEBUG" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "Verzeichnis" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "Leer lassen, um die Ausgabe im Erweiterungsverzeichnis von Inkscape zu speichern." + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "Satinkolumne umkehren" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, 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" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "Installiere Erweiterungen für Inkscape" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "Ebenenbefehle hinzufügen" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "Befehle werden zur aktuell ausgewählten Ebene hinzugefügt." + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, 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/params.inx:3 +msgid "Params" +msgstr "Parameter" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "Simulation" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "Ink/Stitch: Export in mehrere Formate (.zip)" + +#: templates/zip.inx:11 +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" + diff --git a/translations/messages_el_GR.po b/translations/messages_el_GR.po index 515dbbeb..4fde4ae0 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:11\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Greek\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: el_GR\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "" @@ -152,7 +244,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -160,95 +252,95 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -821,3 +946,273 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_en_US.po b/translations/messages_en_US.po index f4d77025..705ce2d5 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:11\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: English\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: en_US\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "" @@ -152,7 +244,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -160,95 +252,95 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -821,3 +946,273 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_es_ES.po b/translations/messages_es_ES.po index cca0950f..bc341ad9 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:10\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Spanish\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: es_ES\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "" @@ -152,7 +244,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -160,95 +252,95 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -821,3 +946,273 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_fi_FI.po b/translations/messages_fi_FI.po index df6dc514..12b59e19 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:11\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Finnish\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: fi_FI\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "" @@ -152,7 +244,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -160,95 +252,95 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -821,3 +946,273 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_fr_FR.po b/translations/messages_fr_FR.po index 4cabb05c..633e5f84 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:11\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: French\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: fr_FR\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "Remplissage automatique" @@ -83,7 +170,7 @@ msgstr "Elargir" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, 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" @@ -108,38 +195,43 @@ msgstr "Angle des lignes de points" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "Invertir remplissage (début droite vers la gauche)" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "Espacement entre les lignes" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "Longueur maximale du point de remplissage" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 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:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "Colonne Satin" @@ -152,7 +244,7 @@ msgstr "Colonne de satin personnalisée" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "Espacement Zig-Zag (crête à crête)" @@ -160,95 +252,95 @@ msgstr "Espacement Zig-Zag (crête à crête)" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "Compensation d'étirement" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "Sous-couche de contour" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "Sous-couche de Contour" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "Longueur de point" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "Montant de l'incrustation de la sous-couche de contour" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "Sous-couche de marche centrale" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "Sous-couche de Marche-centrale" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "Sous-couche Zig-zag" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "Sous-couche Zig-zag" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "Espacement Zig-Zag (crête à crête)" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "colonne satinée : %(id)s: au moins deux sous-tracés requis (%(num)d trouvés)" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "Un ou plusieurs rails se croisent, ce qui n'est pas autorisé. S'il vous plaît diviser en plusieurs colonnes de satin." -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "colonne satinée: un ou plusieurs des échelons ne croisent pas les deux rails." -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "Chaque rail devrait croiser les deux échelons une fois." -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "colonne satinée: Un ou plusieurs échelons croisent les rails plus d'une fois." -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "colonne de satin: objet %s a un remplissage (mais ne devrait pas)" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "colonne de satin: l'objet %(id)s a deux chemins avec un nombre de points différents (%(length1)d et %(length2)d)" @@ -265,75 +357,67 @@ msgstr "Longueur de point courant" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "répétez" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "Placement manuel de points" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "Broder chaque nœud dans le tracé. La longueur de points et l’espacement du zig-zag sont ignorés." -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "Détection d'une définition obsolète de point droit ! Il semble que vous utilisez une largeur inférieure à 0,5 unités pour indiquer un point droit, qui est obsolète. Au lieu de cela, veuillez configurer votre tracé avec des pointillés. N’importe quel genre de trait fonctionne." -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "Aucun chemin brodable sélectionné." -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "Aucun chemin brodable trouvé dans le document." -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "Astuce: utilisez Chemin -> Objet en chemin pour convertir les non-chemins." -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "Veuillez sélectionner un ou plusieurs objets pour y attacher des commandes." - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "Veuillez choisir une ou plusieurs commandes à attacher." - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "Vous voyez un message 'aucune option' ? Veuillez redémarrer Inkscape pour corriger." @@ -342,50 +426,76 @@ msgstr "Vous voyez un message 'aucune option' ? Veuillez redémarrer Inkscape po msgid "Please select one or more satin columns to flip." msgstr "Veuillez sélectionner une ou plusieurs colonnes satin pour retourner." -#: lib/extensions/install.py:30 +#: 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 :" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "palettes de couleurs de fabricants de fil" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "Commandes Ink/Stitch visuelles (Objet-> symboles...)" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "Installer" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "Quitter" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "Choisir le dossier d’Inkscape" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "échec d'installation de l'extension Inkscape" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "Echec de l’installation" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "Des fichiers d'extensions Inkscape ont été installés. S’il vous plaît, redémarrez Inkscape pour charger ces nouvelles extensions." -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "Installation terminée" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "Ink/Stitch installeur d'extensions" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "Veuillez sélectionner un ou plusieurs objets pour y attacher des commandes." + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "Veuillez choisir une ou plusieurs commandes à attacher." + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "Ces paramètres seront appliqués à 1 objet." @@ -449,116 +559,131 @@ msgstr "Utiliser les derniers paramètres" msgid "Apply and Quit" msgstr "Appliquer et Quitter" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "Aperçu" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "Erreur interne" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "Veuillez entrer ou sélectionner un nom prédéfini en premier." -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "Préréglage" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "Le préréglage \"%s\" n'a pas été trouvé." -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "Le préréglage \"%s\" existe déjà. Veuillez utiliser un autre nom ou appuyez sur \"Écraser\"" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "Fermeture..." -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "Il est sûr de fermer cette fenêtre maintenant." -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "Un aperçu avant impression a été ouvert dans votre navigateur web. Cette fenêtre reste ouverte pour communiquer avec le code JavaScript s’exécutant dans votre navigateur. Cette fenêtre se fermera après avoir fermer l’aperçu avant impression dans le navigateur, vous pouvez la fermer manuellement si nécessaire." -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "Imprimer Ink/Stitch" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "Simulation de broderie" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "Aucun format de fichier broderie sélectionné." -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "Impossible de remplir automatiquement. Cela arrive le plus souvent parce que votre forme est composée de plusieurs sections qui ne sont pas connectées." -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "Erreur inattendue lors de la génération des points de remplissage. Veuillez envoyer votre fichier SVG à lexelby@github." -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "Plan de broderie" -#: lib/svg/units.py:44 +#: 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:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "Unité inconnue: %s" @@ -725,7 +850,7 @@ msgstr "Signature du client" msgid "Ink/Stitch Print Preview" msgstr "Aperçu avant impression" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "Imprimer" @@ -821,3 +946,273 @@ msgstr "Appliquer à tous" msgid "Realistic" msgstr "Réaliste" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_he_IL.po b/translations/messages_he_IL.po index da4a9158..4e94254e 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:11\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Hebrew\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: he_IL\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "" @@ -152,7 +244,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -160,95 +252,95 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -821,3 +946,273 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_hu_HU.po b/translations/messages_hu_HU.po index c2b7c8df..05347d57 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:11\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Hungarian\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: hu_HU\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "" @@ -152,7 +244,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -160,95 +252,95 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -821,3 +946,273 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_it_IT.po b/translations/messages_it_IT.po index d8eaf734..c24a535b 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:11\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Italian\n" "MIME-Version: 1.0\n" @@ -17,17 +17,104 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: it_IT\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" -msgstr "Riempimento automatico" +msgstr "" #: lib/elements/auto_fill.py:14 msgid "Automatically routed fill stitching" -msgstr "Riempimento impunture indirizzato automaticamente" +msgstr "" #: lib/elements/auto_fill.py:34 msgid "Running stitch length (traversal between sections)" -msgstr "Lunghezza ounto imbastitura (attraversamento tra sezioni)" +msgstr "" #: lib/elements/auto_fill.py:35 msgid "Length of stitches around the outline of the fill region used when moving from section to section." @@ -35,13 +122,13 @@ msgstr "" #: lib/elements/auto_fill.py:43 msgid "Underlay" -msgstr "Sottostrato" +msgstr "" #: lib/elements/auto_fill.py:43 lib/elements/auto_fill.py:52 #: lib/elements/auto_fill.py:68 lib/elements/auto_fill.py:79 #: lib/elements/auto_fill.py:89 msgid "AutoFill Underlay" -msgstr "Riempi automaticamente il sottostrato" +msgstr "" #: lib/elements/auto_fill.py:49 msgid "Fill angle" @@ -61,7 +148,7 @@ msgstr "" #: lib/elements/auto_fill.py:76 msgid "Max stitch length" -msgstr "Lunghezza massima punto" +msgstr "" #: lib/elements/auto_fill.py:77 msgid "default: equal to fill max stitch length" @@ -69,7 +156,7 @@ msgstr "" #: lib/elements/auto_fill.py:86 msgid "Inset" -msgstr "Intarsio" +msgstr "" #: lib/elements/auto_fill.py:87 msgid "Shrink the shape before doing underlay, to prevent underlay from showing around the outside of the fill." @@ -77,24 +164,24 @@ msgstr "" #: lib/elements/auto_fill.py:97 msgid "Expand" -msgstr "Espandi" +msgstr "" #: lib/elements/auto_fill.py:98 msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, 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" +msgstr "" #: lib/elements/fill.py:12 msgid "Fill" -msgstr "Riempi" +msgstr "" #: lib/elements/fill.py:19 msgid "Manually routed fill stitching" -msgstr "Riempimento impunture indirizzato manualmente" +msgstr "" #: lib/elements/fill.py:20 msgid "AutoFill is the default method for generating fill stitching." @@ -102,153 +189,158 @@ msgstr "" #: lib/elements/fill.py:29 msgid "Angle of lines of stitches" -msgstr "Angolo delle linee dei punti" +msgstr "" #: lib/elements/fill.py:30 msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" -msgstr "Capovolgi il riempimento (parti da destra a sinistra)" +msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" -msgstr "Spaziatura tra le righe" +msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" -msgstr "Lunghezza massima del punto di riempimento" +msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" -msgstr "Scorri le file questo tanto di volte prima di ripetere" +msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" -msgstr "Colonna in raso" +msgstr "" #: lib/elements/satin_column.py:16 msgid "Custom satin column" -msgstr "Colonna in raso personalizzata" +msgstr "" #: lib/elements/satin_column.py:22 msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" -msgstr "Spaziatura a zig-zag (picco a picco)" +msgstr "" #: lib/elements/satin_column.py:33 msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" -msgstr "Compensazione tiraggio" +msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" -msgstr "Sottostrato del contorno" +msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" -msgstr "Sottostrato del contorno" +msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" -msgstr "Lunghezza del punto" +msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" -msgstr "Offset interno del sottostrato del contorno" +msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -821,3 +946,273 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_ja_JP.po b/translations/messages_ja_JP.po index c48a323f..21433027 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:10\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: ja_JP\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "" @@ -152,7 +244,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -160,95 +252,95 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -821,3 +946,273 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_ko_KR.po b/translations/messages_ko_KR.po index 48d2c49e..71537b84 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:11\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Korean\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: ko_KR\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "" @@ -152,7 +244,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -160,95 +252,95 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -821,3 +946,273 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_nl_NL.po b/translations/messages_nl_NL.po index 98ab92ff..bcf6878f 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:11\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Dutch\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: nl_NL\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "" @@ -152,7 +244,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -160,95 +252,95 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -821,3 +946,273 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_no_NO.po b/translations/messages_no_NO.po index 33901697..e7a6c8f9 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:11\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Norwegian\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: no_NO\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "" @@ -152,7 +244,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -160,95 +252,95 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -821,3 +946,273 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_pl_PL.po b/translations/messages_pl_PL.po index f930c037..96844ceb 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:10\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Polish\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: pl_PL\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "" @@ -152,7 +244,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -160,95 +252,95 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -602,36 +727,36 @@ msgstr "" #: print/templates/footer.html:2 msgid "Page" -msgstr "Strona" +msgstr "" #: print/templates/headline.html:5 msgid "Click to choose another logo" -msgstr "Kliknij, aby wybrać inne logo" +msgstr "" #: print/templates/headline.html:10 msgid "Enter job title..." -msgstr "Wpisz nazwę zadania..." +msgstr "" #: print/templates/headline.html:11 msgid "CLIENT" -msgstr "KLIENT" +msgstr "" #: print/templates/headline.html:11 msgid "Enter client name..." -msgstr "Wpisz nazwę klienta..." +msgstr "" #: print/templates/headline.html:12 msgid "PURCHASE ORDER #:" -msgstr "NUMER ZAMÓWIENIA #:" +msgstr "" #: print/templates/headline.html:12 msgid "Enter purchase order number..." -msgstr "Wpisz numer zamówienia..." +msgstr "" #: print/templates/headline.html:15 #, python-format msgid "%Y.%m.%d" -msgstr "%R.%m.%d" +msgstr "" #: print/templates/operator_detailedview.html:10 msgid "Thread Consumption" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -811,13 +936,283 @@ msgstr "" #: print/templates/ui_svg_action_buttons.html:3 msgid "Fit" -msgstr "Dopasuj" +msgstr "" #: print/templates/ui_svg_action_buttons.html:5 msgid "Apply to all" -msgstr "Przypisz wszystkim" +msgstr "" #: print/templates/ui_svg_action_buttons.html:8 msgid "Realistic" -msgstr "Realistycznie" +msgstr "" + +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" diff --git a/translations/messages_pt_BR.po b/translations/messages_pt_BR.po index 4ac3be50..a0c72a10 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:10\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Portuguese, Brazilian\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: pt_BR\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "" @@ -152,7 +244,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -160,95 +252,95 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -821,3 +946,273 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_pt_PT.po b/translations/messages_pt_PT.po index 320e296b..cc94341c 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:10\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Portuguese\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: pt_PT\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "Auto-preenchimento" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "Ângulo das linhas de ponto" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "Inverter Enchimento (Direita-Para-Esquerda)" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "Espaçamento entre linhas" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "Distância máxima entre pontos de enchimento" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "Numero de vezes a escalonar linhas antes de repetir" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "Coluna de matizado" @@ -152,7 +244,7 @@ msgstr "Coluna de matizado personalizado" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "Espaçamento Zig-zag (crista-a-crista)" @@ -160,95 +252,95 @@ msgstr "Espaçamento Zig-zag (crista-a-crista)" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "Compensação de repuxado" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "Sub-camada de controno" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "Sub-camada de controno" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "Distância de ponto" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "Offset interno da Sub-camada de contorno" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "Sub-camada com movimento central" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "Sub-camada com movimento central" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "Sub-camada em Zig-zag" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "Sub-camada em Zig-zag" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "Espaçamento Zig-zag (crista-a-crista)" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "Operação não permitida: Um ou mais caminhos intersectam-se a eles mesmos. Dividida o matiz em várias colunas." -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "Coluna de matizado: Uma ou mais barras de direcção não intersectam ambos os caminhos." -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "Cada caminho deve intersectar ambas as barras de direcção uma vez." -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "Coluna de matizado: Uma ou mais barras de direcção intersectam os caminhos mais do que uma vez." -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "Coluna de matizado: o objecto %s tem enchimento (mas não devia)" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "Coluna de matizado: o objecto %(id)s the dois caminhos com numero diferente de pontos (%(length1)d e %(length2)d)" @@ -265,75 +357,67 @@ msgstr "Distância de ponto corrido" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "Repetições" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "Colocação manual de pontos" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "Nenhum caminho bordável seleccionado." -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "Nenhum caminho bordável encontrado no documento." -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "Vê uma mensagem \"não existe tal opção\"? Por favor reiniciar o Inkscape." @@ -342,50 +426,76 @@ msgstr "Vê uma mensagem \"não existe tal opção\"? Por favor reiniciar o Inks msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "Instalar" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "Cancelar" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "Instalação falhou" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "Instalação concluída" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "Definições serão aplicadas a 1 objecto." @@ -449,116 +559,131 @@ msgstr "Usar ultimas definições" msgid "Apply and Quit" msgstr "Aplicar e Sair" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "Pré-visualização" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "Erro Interno" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "Seleccione ou insira uma pré-definição primeiro." -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "Pré-definição" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "Pré-definição \"%s\" não encontrada." -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "Pré-definição \"%s\" já existe. Use outro nome ou clique \"Substituir\"" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "A fechar..." -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "É agora seguro fechar esta janela." -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "Simulação de Bordado" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "Enchimento automático falhou. Verificar se a forma não é composta por múltiplas desconectadas." -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "Erro inesperado ao gerar pontos de enchimento. Por favor envie o seu SVG para lexelby@github." -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "Plano de pontos/bordado" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "parseLengthWithUnits: Unidade desconhecida %s" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "Unidade desconhecida: %s" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "Imprimir" @@ -821,3 +946,273 @@ msgstr "Aplicar a todos" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_ro_RO.po b/translations/messages_ro_RO.po index 8655746c..060c5a39 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:10\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Romanian\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: ro_RO\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "" @@ -152,7 +244,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -160,95 +252,95 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -821,3 +946,273 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_ru_RU.po b/translations/messages_ru_RU.po index ea65618c..e4623e7c 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:10\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: ru_RU\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "" @@ -152,7 +244,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -160,95 +252,95 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" -msgstr "Отмена" +msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -439,7 +549,7 @@ msgstr "" #: lib/extensions/params.py:377 msgid "Delete" -msgstr "Удалить" +msgstr "" #: lib/extensions/params.py:384 msgid "Use Last Settings" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -821,3 +946,273 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_sr_SP.po b/translations/messages_sr_SP.po index 2b32958f..0db60f2d 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:10\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Serbian (Cyrillic)\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: sr_SP\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "" @@ -152,7 +244,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -160,95 +252,95 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -821,3 +946,273 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_sv_SE.po b/translations/messages_sv_SE.po index 5e269872..cc1392c1 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:10\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Swedish\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: sv_SE\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "" @@ -152,7 +244,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -160,95 +252,95 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -821,3 +946,273 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_tr_TR.po b/translations/messages_tr_TR.po index ec36978f..0a37ce3d 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:10\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Turkish\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: tr_TR\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "" @@ -152,7 +244,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -160,95 +252,95 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -821,3 +946,273 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_uk_UA.po b/translations/messages_uk_UA.po index fcc18932..7e7b8dcf 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:10\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Ukrainian\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: uk_UA\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "" @@ -152,7 +244,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -160,95 +252,95 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -821,3 +946,273 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_vi_VN.po b/translations/messages_vi_VN.po index 4a1743dd..efd1ec2d 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:11\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Vietnamese\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: vi_VN\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "" @@ -152,7 +244,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -160,95 +252,95 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -821,3 +946,273 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_zh_CN.po b/translations/messages_zh_CN.po index cd51dae7..58c27124 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:11\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Chinese Simplified\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: zh_CN\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "" @@ -152,7 +244,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -160,95 +252,95 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -821,3 +946,273 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + diff --git a/translations/messages_zh_TW.po b/translations/messages_zh_TW.po index 806edb45..1680218b 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: 2018-08-11 22:57-0400\n" -"PO-Revision-Date: 2018-08-12 03:11\n" +"POT-Creation-Date: 2018-08-24 20:56-0400\n" +"PO-Revision-Date: 2018-08-25 13:55\n" "Last-Translator: lexelby <github.com@lexneva.name>\n" "Language-Team: Chinese Traditional\n" "MIME-Version: 1.0\n" @@ -17,6 +17,93 @@ msgstr "" "X-Crowdin-File: /master/messages.po\n" "Language: zh_TW\n" +#. command attached to an object +#: lib/commands.py:13 +msgid "fill_start" +msgstr "" + +#: lib/commands.py:13 +msgid "Fill stitch starting position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:16 +msgid "fill_end" +msgstr "" + +#: lib/commands.py:16 +msgid "Fill stitch ending position" +msgstr "" + +#. command attached to an object +#: lib/commands.py:19 +msgid "stop" +msgstr "" + +#: lib/commands.py:19 +msgid "Stop (pause machine) after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:22 +msgid "trim" +msgstr "" + +#: lib/commands.py:22 +msgid "Trim thread after sewing this object" +msgstr "" + +#. command attached to an object +#: lib/commands.py:25 +msgid "ignore_object" +msgstr "" + +#: lib/commands.py:25 +msgid "Ignore this object (do not stitch)" +msgstr "" + +#. command that affects a layer +#: lib/commands.py:28 +msgid "ignore_layer" +msgstr "" + +#: lib/commands.py:28 +msgid "Ignore layer (do not stitch any objects in this layer)" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:31 +msgid "origin" +msgstr "" + +#: lib/commands.py:31 +msgid "Origin for exported embroidery files" +msgstr "" + +#. command that affects entire document +#: lib/commands.py:34 +msgid "stop_position" +msgstr "" + +#: lib/commands.py:34 +msgid "Jump destination for Stop commands (a.k.a. \"Frame Out position\")." +msgstr "" + +#: lib/commands.py:190 +#, 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 "" + +#. This is a continuation of the previous error message, letting the user know +#. what command we're talking about since we don't normally expose the actual +#. command name to them. Contents of %(description)s are in a separate +#. translation +#. string. +#: lib/commands.py:197 +#, python-format +msgid "%(command)s: %(description)s" +msgstr "" + #: lib/elements/auto_fill.py:11 msgid "Auto-Fill" msgstr "" @@ -83,7 +170,7 @@ msgstr "" msgid "Expand the shape before fill stitching, to compensate for gaps between shapes." msgstr "" -#: lib/elements/element.py:232 +#: lib/elements/element.py:230 #, python-format msgid "%(id)s has more than one command of type '%(command)s' linked to it" msgstr "" @@ -108,38 +195,43 @@ msgstr "" msgid "The angle increases in a counter-clockwise direction. 0 is horizontal. Negative angles are allowed." msgstr "" -#: lib/elements/fill.py:45 +#: lib/elements/fill.py:46 msgid "Flip fill (start right-to-left)" msgstr "" -#: lib/elements/fill.py:46 +#: lib/elements/fill.py:47 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:54 +#: lib/elements/fill.py:56 msgid "Spacing between rows" msgstr "" -#: lib/elements/fill.py:55 +#: lib/elements/fill.py:57 msgid "Distance between rows of stitches." msgstr "" -#: lib/elements/fill.py:68 +#: lib/elements/fill.py:70 msgid "Maximum fill stitch length" msgstr "" -#: lib/elements/fill.py:69 +#: lib/elements/fill.py:71 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:78 +#: lib/elements/fill.py:80 msgid "Stagger rows this many times before repeating" msgstr "" -#: lib/elements/fill.py:79 +#: lib/elements/fill.py:81 msgid "Setting this dictates how many rows apart the stitches will be before they fall in the same column position." msgstr "" +#: lib/elements/fill.py:114 +#, python-format +msgid "shape %s is so small that it cannot be filled with stitches. Please make it bigger or delete it." +msgstr "" + #: lib/elements/satin_column.py:10 msgid "Satin Column" msgstr "" @@ -152,7 +244,7 @@ msgstr "" msgid "\"E\" stitch" msgstr "" -#: lib/elements/satin_column.py:32 lib/elements/stroke.py:52 +#: lib/elements/satin_column.py:32 lib/elements/stroke.py:55 msgid "Zig-zag spacing (peak-to-peak)" msgstr "" @@ -160,95 +252,95 @@ msgstr "" msgid "Peak-to-peak distance between zig-zags." msgstr "" -#: lib/elements/satin_column.py:43 +#: lib/elements/satin_column.py:44 msgid "Pull compensation" msgstr "" -#: lib/elements/satin_column.py:44 +#: lib/elements/satin_column.py:45 msgid "Satin stitches pull the fabric together, resulting in a column narrower than you draw in Inkscape. This setting expands each pair of needle penetrations outward from the center of the satin column." msgstr "" -#: lib/elements/satin_column.py:55 +#: lib/elements/satin_column.py:57 msgid "Contour underlay" msgstr "" -#: lib/elements/satin_column.py:55 lib/elements/satin_column.py:62 -#: lib/elements/satin_column.py:71 +#: lib/elements/satin_column.py:57 lib/elements/satin_column.py:64 +#: lib/elements/satin_column.py:73 msgid "Contour Underlay" msgstr "" -#: lib/elements/satin_column.py:62 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:64 lib/elements/satin_column.py:88 msgid "Stitch length" msgstr "" -#: lib/elements/satin_column.py:68 +#: lib/elements/satin_column.py:70 msgid "Contour underlay inset amount" msgstr "" -#: lib/elements/satin_column.py:69 +#: lib/elements/satin_column.py:71 msgid "Shrink the outline, to prevent the underlay from showing around the outside of the satin column." msgstr "" -#: lib/elements/satin_column.py:79 +#: lib/elements/satin_column.py:81 msgid "Center-walk underlay" msgstr "" -#: lib/elements/satin_column.py:79 lib/elements/satin_column.py:86 +#: lib/elements/satin_column.py:81 lib/elements/satin_column.py:88 msgid "Center-Walk Underlay" msgstr "" -#: lib/elements/satin_column.py:91 +#: lib/elements/satin_column.py:93 msgid "Zig-zag underlay" msgstr "" -#: lib/elements/satin_column.py:91 lib/elements/satin_column.py:100 -#: lib/elements/satin_column.py:111 +#: lib/elements/satin_column.py:93 lib/elements/satin_column.py:102 +#: lib/elements/satin_column.py:113 msgid "Zig-zag Underlay" msgstr "" -#: lib/elements/satin_column.py:97 +#: lib/elements/satin_column.py:99 msgid "Zig-Zag spacing (peak-to-peak)" msgstr "" -#: lib/elements/satin_column.py:98 +#: lib/elements/satin_column.py:100 msgid "Distance between peaks of the zig-zags." msgstr "" -#: lib/elements/satin_column.py:108 +#: lib/elements/satin_column.py:110 msgid "Inset amount" msgstr "" -#: lib/elements/satin_column.py:109 +#: lib/elements/satin_column.py:111 msgid "default: half of contour underlay inset" msgstr "" -#: lib/elements/satin_column.py:146 +#: lib/elements/satin_column.py:148 #, python-format msgid "satin column: %(id)s: at least two subpaths required (%(num)d found)" msgstr "" -#: lib/elements/satin_column.py:172 +#: lib/elements/satin_column.py:173 msgid "One or more rails crosses itself, and this is not allowed. Please split into multiple satin columns." msgstr "" -#: lib/elements/satin_column.py:179 +#: lib/elements/satin_column.py:180 msgid "satin column: One or more of the rungs doesn't intersect both rails." msgstr "" -#: lib/elements/satin_column.py:179 lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:181 lib/elements/satin_column.py:184 msgid "Each rail should intersect both rungs once." msgstr "" -#: lib/elements/satin_column.py:181 +#: lib/elements/satin_column.py:183 msgid "satin column: One or more of the rungs intersects the rails more than once." msgstr "" -#: lib/elements/satin_column.py:222 +#: lib/elements/satin_column.py:224 #, python-format msgid "satin column: object %s has a fill (but should not)" msgstr "" -#: lib/elements/satin_column.py:226 +#: lib/elements/satin_column.py:228 #, python-format msgid "satin column: object %(id)s has two paths with an unequal number of points (%(length1)d and %(length2)d)" msgstr "" @@ -265,75 +357,67 @@ msgstr "" msgid "Length of stitches in running stitch mode." msgstr "" -#: lib/elements/stroke.py:42 +#: lib/elements/stroke.py:43 msgid "Bean stitch number of repeats" msgstr "" -#: lib/elements/stroke.py:43 +#: lib/elements/stroke.py:44 msgid "Backtrack each stitch this many times. A value of 1 would triple each stitch (forward, back, forward). A value of 2 would quintuple each stitch, etc. Only applies to running stitch." msgstr "" -#: lib/elements/stroke.py:53 +#: lib/elements/stroke.py:56 msgid "Length of stitches in zig-zag mode." msgstr "" -#: lib/elements/stroke.py:64 +#: lib/elements/stroke.py:67 msgid "Repeats" msgstr "" -#: lib/elements/stroke.py:65 +#: lib/elements/stroke.py:68 msgid "Defines how many times to run down and back along the path." msgstr "" -#: lib/elements/stroke.py:89 +#: lib/elements/stroke.py:92 msgid "Manual stitch placement" msgstr "" -#: lib/elements/stroke.py:90 +#: lib/elements/stroke.py:93 msgid "Stitch every node in the path. Stitch length and zig-zag spacing are ignored." msgstr "" -#: lib/elements/stroke.py:124 +#: lib/elements/stroke.py:127 msgid "Legacy running stitch setting detected!\n\n" "It looks like you're using a stroke smaller than 0.5 units to indicate a running stitch, which is deprecated. Instead, please set your stroke to be dashed to indicate running stitch. Any kind of dash will work." msgstr "" -#: lib/extensions/base.py:108 +#: lib/extensions/base.py:113 msgid "No embroiderable paths selected." msgstr "" -#: lib/extensions/base.py:110 +#: lib/extensions/base.py:115 msgid "No embroiderable paths found in document." msgstr "" -#: lib/extensions/base.py:111 +#: lib/extensions/base.py:116 msgid "Tip: use Path -> Object to Path to convert non-paths." msgstr "" -#: lib/extensions/commands.py:125 -msgid "Please select one or more objects to which to attach commands." -msgstr "" - -#: lib/extensions/commands.py:133 -msgid "Please choose one or more commands to attach." -msgstr "" - -#: lib/extensions/convert_to_satin.py:28 +#: lib/extensions/convert_to_satin.py:29 msgid "Please select at least one line to convert to a satin column." msgstr "" #. : Convert To Satin extension, user selected one or more objects that were #. not lines. -#: lib/extensions/convert_to_satin.py:33 +#: lib/extensions/convert_to_satin.py:34 msgid "Only simple lines may be converted to satin columns." msgstr "" -#: lib/extensions/convert_to_satin.py:54 +#: lib/extensions/convert_to_satin.py:56 #, python-format msgid "Cannot convert %s to a satin column because it intersects itself. Try breaking it up into multiple paths." msgstr "" -#: lib/extensions/embroider.py:41 +#: lib/extensions/embroider.py:38 msgid "\n\n" "Seeing a 'no such option' message? Please restart Inkscape to fix." msgstr "" @@ -342,50 +426,76 @@ msgstr "" msgid "Please select one or more satin columns to flip." msgstr "" -#: lib/extensions/install.py:30 +#: 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 "" -#: lib/extensions/install.py:31 +#: lib/extensions/install.py:27 msgid "thread manufacturer color palettes" msgstr "" -#: lib/extensions/install.py:32 +#: lib/extensions/install.py:28 msgid "Ink/Stitch visual commands (Object -> Symbols...)" msgstr "" -#: lib/extensions/install.py:41 +#: lib/extensions/install.py:37 msgid "Install" msgstr "" -#: lib/extensions/install.py:44 lib/extensions/params.py:380 +#: lib/extensions/install.py:40 lib/extensions/params.py:380 msgid "Cancel" msgstr "" -#: lib/extensions/install.py:58 +#: lib/extensions/install.py:54 msgid "Choose Inkscape directory" msgstr "" -#: lib/extensions/install.py:68 +#: lib/extensions/install.py:64 msgid "Inkscape add-on installation failed" msgstr "" -#: lib/extensions/install.py:69 +#: lib/extensions/install.py:65 msgid "Installation Failed" msgstr "" -#: lib/extensions/install.py:73 +#: lib/extensions/install.py:69 msgid "Inkscape add-on files have been installed. Please restart Inkscape to load the new add-ons." msgstr "" -#: lib/extensions/install.py:74 +#: lib/extensions/install.py:70 msgid "Installation Completed" msgstr "" -#: lib/extensions/install.py:103 +#: lib/extensions/install.py:104 msgid "Ink/Stitch Add-ons Installer" msgstr "" +#: lib/extensions/layer_commands.py:27 +msgid "Please choose one or more commands to add." +msgstr "" + +#: lib/extensions/layer_commands.py:39 lib/extensions/object_commands.py:74 +msgid "Ink/Stitch Command" +msgstr "" + +#. : the name of the line that connects a command to the object it applies to +#: lib/extensions/object_commands.py:30 +msgid "connector" +msgstr "" + +#. : the name of a command symbol (example: scissors icon for trim command) +#: lib/extensions/object_commands.py:89 +msgid "command marker" +msgstr "" + +#: lib/extensions/object_commands.py:100 +msgid "Please select one or more objects to which to attach commands." +msgstr "" + +#: lib/extensions/object_commands.py:108 +msgid "Please choose one or more commands to attach." +msgstr "" + #: lib/extensions/params.py:244 msgid "These settings will be applied to 1 object." msgstr "" @@ -449,116 +559,131 @@ msgstr "" msgid "Apply and Quit" msgstr "" -#: lib/extensions/params.py:436 +#: lib/extensions/params.py:439 msgid "Preview" msgstr "" -#: lib/extensions/params.py:454 +#: lib/extensions/params.py:458 msgid "Internal Error" msgstr "" -#: lib/extensions/params.py:507 +#: lib/extensions/params.py:511 msgid "Please enter or select a preset name first." msgstr "" -#: lib/extensions/params.py:507 lib/extensions/params.py:513 -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:511 lib/extensions/params.py:517 +#: lib/extensions/params.py:545 msgid "Preset" msgstr "" -#: lib/extensions/params.py:513 +#: lib/extensions/params.py:517 #, python-format msgid "Preset \"%s\" not found." msgstr "" -#: lib/extensions/params.py:541 +#: lib/extensions/params.py:545 #, python-format msgid "Preset \"%s\" already exists. Please use another name or press \"Overwrite\"" msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "Closing..." msgstr "" -#: lib/extensions/print_pdf.py:134 +#: lib/extensions/print_pdf.py:132 msgid "It is safe to close this window now." msgstr "" -#: lib/extensions/print_pdf.py:265 +#: lib/extensions/print_pdf.py:263 msgid "A print preview has been opened in your web browser. This window will stay open in order to communicate with the JavaScript code running in your browser.\n\n" "This window will close after you close the print preview in your browser, or you can close it manually if necessary." msgstr "" -#: lib/extensions/print_pdf.py:411 +#: lib/extensions/print_pdf.py:412 msgid "Ink/Stitch Print" msgstr "" -#: lib/extensions/simulate.py:24 +#: lib/extensions/simulate.py:29 msgid "Embroidery Simulation" msgstr "" -#: lib/extensions/zip.py:52 +#: lib/extensions/zip.py:49 msgid "No embroidery file formats selected." msgstr "" -#: lib/simulator.py:34 +#. 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:46 +msgid "Generate INX files" +msgstr "" + +#: lib/simulator.py:40 msgid "Speed up" msgstr "" -#: lib/simulator.py:34 +#: lib/simulator.py:40 msgid "Press + or arrow up to speed up" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Slow down" msgstr "" -#: lib/simulator.py:35 +#: lib/simulator.py:41 msgid "Press - or arrow down to slow down" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Pause" msgstr "" -#: lib/simulator.py:36 +#: lib/simulator.py:42 msgid "Press P to pause the animation" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Restart" msgstr "" -#: lib/simulator.py:37 +#: lib/simulator.py:43 msgid "Press R to restart the animation" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Quit" msgstr "" -#: lib/simulator.py:38 +#: lib/simulator.py:44 msgid "Press Q to close the simulation window" msgstr "" +#: lib/simulator.py:169 +msgid "Stitch # " +msgstr "" + +#: lib/simulator.py:172 +msgid "Stitch #" +msgstr "" + #: lib/stitches/auto_fill.py:167 msgid "Unable to autofill. This most often happens because your shape is made up of multiple sections that aren't connected." msgstr "" -#: lib/stitches/auto_fill.py:392 +#: lib/stitches/auto_fill.py:395 msgid "Unexpected error while generating fill stitches. Please send your SVG file to lexelby@github." msgstr "" -#: lib/svg/svg.py:90 +#: lib/svg/svg.py:94 msgid "Stitch Plan" msgstr "" -#: lib/svg/units.py:44 +#: lib/svg/units.py:46 #, python-format msgid "parseLengthWithUnits: unknown unit %s" msgstr "" -#: lib/svg/units.py:76 +#: lib/svg/units.py:78 #, python-format msgid "Unknown unit: %s" msgstr "" @@ -725,7 +850,7 @@ msgstr "" msgid "Ink/Stitch Print Preview" msgstr "" -#: print/templates/ui.html:4 +#: print/templates/ui.html:4 templates/print.inx:3 msgid "Print" msgstr "" @@ -821,3 +946,273 @@ msgstr "" msgid "Realistic" msgstr "" +#. description for pyembroidery file format: pec +#. description for pyembroidery file format: pes +#. description for pyembroidery file format: phb +#. description for pyembroidery file format: phc +#: pyembroidery-format-descriptions.py:2 pyembroidery-format-descriptions.py:4 +#: pyembroidery-format-descriptions.py:56 +#: pyembroidery-format-descriptions.py:58 +msgid "Brother Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exp +#: pyembroidery-format-descriptions.py:6 +msgid "Melco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dst +#. description for pyembroidery file format: tbf +#: pyembroidery-format-descriptions.py:8 pyembroidery-format-descriptions.py:48 +msgid "Tajima Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: jef +#. description for pyembroidery file format: sew +#. description for pyembroidery file format: jpx +#: pyembroidery-format-descriptions.py:10 +#: pyembroidery-format-descriptions.py:20 +#: pyembroidery-format-descriptions.py:74 +msgid "Janome Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: vp3 +#. description for pyembroidery file format: ksm +#. description for pyembroidery file format: max +#. description for pyembroidery file format: pcd +#. description for pyembroidery file format: pcq +#. description for pyembroidery file format: pcm +#. description for pyembroidery file format: pcs +#: pyembroidery-format-descriptions.py:12 +#: pyembroidery-format-descriptions.py:50 +#: pyembroidery-format-descriptions.py:62 +#: pyembroidery-format-descriptions.py:66 +#: pyembroidery-format-descriptions.py:68 +#: pyembroidery-format-descriptions.py:70 +#: pyembroidery-format-descriptions.py:72 +msgid "Pfaff Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: svg +#: pyembroidery-format-descriptions.py:14 +msgid "Scalable Vector Graphics" +msgstr "" + +#. description for pyembroidery file format: csv +#: pyembroidery-format-descriptions.py:16 +msgid "Comma-separated values" +msgstr "" + +#. description for pyembroidery file format: xxx +#: pyembroidery-format-descriptions.py:18 +msgid "Singer Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: u01 +#: pyembroidery-format-descriptions.py:22 +msgid "Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: shv +#: pyembroidery-format-descriptions.py:24 +msgid "Husqvarna Viking Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: 10o +#. description for pyembroidery file format: 100 +#: pyembroidery-format-descriptions.py:26 +#: pyembroidery-format-descriptions.py:28 +msgid "Toyota Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: bro +#: pyembroidery-format-descriptions.py:30 +msgid "Bits & Volts Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dat +#: pyembroidery-format-descriptions.py:32 +msgid "Sunstar or Barudan Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsb +#: pyembroidery-format-descriptions.py:34 +msgid "Tajima(Barudan) Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: dsz +#: pyembroidery-format-descriptions.py:36 +msgid "ZSK USA Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: emd +#: pyembroidery-format-descriptions.py:38 +msgid "Elna Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: exy +#: pyembroidery-format-descriptions.py:40 +msgid "Eltac Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: fxy +#: pyembroidery-format-descriptions.py:42 +msgid "Fortron Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: gt +#: pyembroidery-format-descriptions.py:44 +msgid "Gold Thread Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: inb +#: pyembroidery-format-descriptions.py:46 +msgid "Inbro Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: tap +#: pyembroidery-format-descriptions.py:52 +msgid "Happy Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stx +#: pyembroidery-format-descriptions.py:54 +msgid "Data Stitch Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: new +#: pyembroidery-format-descriptions.py:60 +msgid "Ameco Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: mit +#: pyembroidery-format-descriptions.py:64 +msgid "Mitsubishi Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: stc +#: pyembroidery-format-descriptions.py:76 +msgid "Gunold Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: zxy +#: pyembroidery-format-descriptions.py:78 +msgid "ZSK TC Embroidery Format" +msgstr "" + +#. description for pyembroidery file format: pmv +#: pyembroidery-format-descriptions.py:80 +msgid "Brother Stitch Format" +msgstr "" + +#: templates/convert_to_satin.inx:3 +msgid "Convert Line to Satin" +msgstr "" + +#. This is used for the submenu under Extensions -> Ink/Stitch. Translate this +#. to your language's word for its language, e.g. "Español" for the spanish +#. translation. +#: templates/convert_to_satin.inx:12 templates/embroider.inx:24 +#: templates/flip.inx:12 templates/global_commands.inx:16 +#: templates/install.inx:12 templates/layer_commands.inx:16 +#: templates/object_commands.inx:15 templates/params.inx:12 +#: templates/print.inx:12 templates/simulate.inx:12 +msgid "English" +msgstr "" + +#: templates/embroider.inx:3 +msgid "Embroider" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Collapse length (mm)" +msgstr "" + +#: templates/embroider.inx:7 +msgid "Jump stitches smaller than this will be treated as normal stitches." +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide other layers" +msgstr "" + +#: templates/embroider.inx:8 +msgid "Hide all other top-level layers when the embroidery layer is generated, in order to make stitching discernible." +msgstr "" + +#: templates/embroider.inx:9 +msgid "Output file format" +msgstr "" + +#: templates/embroider.inx:14 +msgid "DEBUG" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Directory" +msgstr "" + +#: templates/embroider.inx:17 +msgid "Leave empty to save the output in Inkscape's extension directory." +msgstr "" + +#: templates/flip.inx:3 +msgid "Flip Satin Columns" +msgstr "" + +#: templates/global_commands.inx:3 +msgid "Add Commands" +msgstr "" + +#: templates/global_commands.inx:7 +msgid "These commands affect the entire embroidery design." +msgstr "" + +#. Inkscape submenu under Extensions -> Ink/Stitch +#: templates/global_commands.inx:18 templates/layer_commands.inx:17 +#: templates/object_commands.inx:16 +msgid "Commands" +msgstr "" + +#: templates/input.inx:11 +#, python-format +msgid "convert %(file_extension)s file to Ink/Stitch manual-stitch paths" +msgstr "" + +#: templates/install.inx:3 +msgid "Install add-ons for Inkscape" +msgstr "" + +#: templates/layer_commands.inx:3 +msgid "Add Layer Commands" +msgstr "" + +#: templates/layer_commands.inx:7 +msgid "Commands will be added to the currently-selected layer." +msgstr "" + +#: templates/object_commands.inx:3 +msgid "Attach Commands to Selected Objects" +msgstr "" + +#: templates/output.inx:11 +#, python-format +msgid "Save design in %(file_extension)s format using Ink/Stitch" +msgstr "" + +#: templates/params.inx:3 +msgid "Params" +msgstr "" + +#: templates/simulate.inx:3 +msgid "Simulate" +msgstr "" + +#: templates/zip.inx:10 +msgid "Ink/Stitch: ZIP export multiple formats (.zip)" +msgstr "" + +#: templates/zip.inx:11 +msgid "Create a ZIP with multiple embroidery file formats using Ink/Stitch" +msgstr "" + |
